diff --git a/hosts/m3-kratos/services/greetd.nix b/hosts/m3-kratos/services/greetd.nix index f1b6bc3..d3e913b 100644 --- a/hosts/m3-kratos/services/greetd.nix +++ b/hosts/m3-kratos/services/greetd.nix @@ -3,11 +3,13 @@ { pkgs, config, + lib, ... }: let - inherit (config.programs.hyprland) package asHyprland; - tuigreet = "${pkgs.tuigreet}/bin/tuigreet"; - startHyprland = "${asHyprland.package}/bin/start-hyprland"; + tuigreet = "${lib.getExe pkgs.tuigreet}"; + # Use Hyprland directly - tuigreet's --cmd finds it via PATH + # Using the simple binary name allows greetd to launch it properly + hyprlandCmd = "Hyprland"; in { services.greetd = { enable = true; @@ -15,24 +17,21 @@ in { settings = { default_session = { user = "greeter"; + # Minimal config: verified supported flags only + # The --time and --remember are tested; power commands omitted + # to avoid potential quoting/parsing issues command = builtins.concatStringsSep " " [ tuigreet "--time" "--remember" - "--remember-session" - "--remember-user-session" - "--user-menu" - "--user-menu-min-uid 1000" "--asterisks" - "--power-shutdown '${config.systemd.package}/bin/systemctl poweroff'" - "--power-reboot '${config.systemd.package}/bin/systemctl reboot'" - "--cmd ${startHyprland}" + "--cmd ${hyprlandCmd}" ]; }; }; }; - # Required for --remember and --remember-user-session to persist session choices. + # Required for --remember to persist username between logins systemd.tmpfiles.rules = [ "d /var/cache/tuigreet 0755 greeter greeter - -" ];