# greetd login manager for m3-kratos (replaces broken GDM on nixos-unstable). # Uses tuigreet as the greeter, launching Hyprland after authentication. { pkgs, config, lib, ... }: let 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; 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" "--asterisks" "--cmd ${hyprlandCmd}" ]; }; }; }; # Required for --remember to persist username between logins systemd.tmpfiles.rules = [ "d /var/cache/tuigreet 0755 greeter greeter - -" ]; }