{ pkgs, config, lib, ... }: let tuigreet = "${lib.getExe pkgs.tuigreet}"; # Use start-hyprland wrapper to avoid Hyprland startup warnings # withUWSM=true is set in programs.nix; start-hyprland handles this correctly hyprlandCmd = "${config.programs.hyprland.package}/bin/start-hyprland"; in { services.displayManager.gdm.enable = true; services.greetd = { enable = false; 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 - -" ]; }