Files
nixos-config/hosts/m3-kratos/services/greetd.nix
T

40 lines
1.1 KiB
Nix

# 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 - -"
];
}