diff --git a/sw-kiosk.nix b/sw-kiosk.nix index b36c4e0..76c8b66 100644 --- a/sw-kiosk.nix +++ b/sw-kiosk.nix @@ -1,8 +1,46 @@ { pkgs, inputs, ... }: { - services.cage = { + programs.sway = { enable = true; + wrapperFeatures.gtk = true; + }; + + # Login manager that starts sway on a real TTY + services.greetd = { + enable = true; + settings = { + default_session = { + user = "engr-ugaif"; + command = '' + /run/current-system/sw/bin/sway --config /etc/sway-kiosk.conf + ''; + }; + }; + }; + + # 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"; + + services.cage = { + enable = false; user = "engr-ugaif"; program = "${(pkgs.writeShellScriptBin "chromium-kiosk" '' sleep 5 @@ -47,13 +85,15 @@ oh-my-posh zsh git + squeekboard + dbus inputs.lazyvim-nixvim.packages.${stdenv.hostPlatform.system}.nvim ]; programs.chromium = { enable = true; extensions = [ - "ofelldpjbfeheadojfhkagakafgghlji" # Chrome Virtual Keyboard + # "ofelldpjbfeheadojfhkagakafgghlji" # Chrome Virtual Keyboard ]; };