feat: Use squeekboard for system OSK instead of Chrome plugin

This commit is contained in:
UGA Innovation Factory
2025-12-05 20:53:49 +00:00
committed by Hunter Halloran
parent f5e92f4b44
commit c30f3fc139
2 changed files with 25 additions and 30 deletions

View File

@@ -1,43 +1,38 @@
{ pkgs, inputs, ... }:
{
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
# Login manager that starts sway on a real TTY
programs.wayfire.enable = true;
environment.etc."wayfire.ini".text = ''
[core]
plugins = autostart wlr-layer-shell virtual-keyboard idle
[autostart]
chromium = ${pkgs.chromium}/bin/chromium \
--enable-features=UseOzonePlatform \
--ozone-platform=wayland \
--kiosk https://ha.factory.uga.edu
keyboard = ${pkgs.squeekboard}/bin/squeekboard
'';
services.greetd = {
enable = true;
settings = {
default_session = {
user = "engr-ugaif";
command = ''
/run/current-system/sw/bin/sway --config /etc/sway-kiosk.conf
'';
user = "engr-ugaif";
command = ''
env WAYFIRE_CONFIG_FILE=/etc/wayfire.ini \
/run/current-system/sw/bin/wayfire
'';
};
};
};
# Sway config for kiosk
environment.etc."sway-kiosk.conf".text = ''
# No fancy tiling, just a fullscreen kiosk
exec_always {
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
exec ${pkgs.chromium}/bin/chromium \
--kiosk "https://ha.factory.uga.edu"
}
# On-screen keyboard (once you add wvkbd)
exec_always ${pkgs.wvkbd}/bin/wvkbd-mobintl
# Basic output config if needed
output * scale 1
'';
services.dbus.enable = true;
services.dbus.implementation = "dbus";
i18n.inputMethod = {
enable = true;
type = "fcitx5";
};
services.cage = {
enable = false;

View File

@@ -9,7 +9,7 @@ in
engr-ugaif = {
isNormalUser = true;
description = "UGA Innovation Factory";
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = [ "networkmanager" "wheel" "video" "input" ];
packages = with pkgs; [
kdePackages.kate
] ++ pythonPkgs;