# greetd login manager for m3-kratos (replaces broken GDM on nixos-unstable). # Uses tuigreet as the greeter, launching Hyprland after authentication. { pkgs, config, ... }: let inherit (config.programs.hyprland) package asHyprland; tuigreet = "${pkgs.tuigreet}/bin/tuigreet"; startHyprland = "${asHyprland.package}/bin/start-hyprland"; in { services.greetd = { enable = true; settings = { default_session = { user = "greeter"; 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}" ]; }; }; }; # Required for --remember and --remember-user-session to persist session choices. systemd.tmpfiles.rules = [ "d /var/cache/tuigreet 0755 greeter greeter - -" ]; }