dotfiles/machines/common/linux/greeter.nix

48 lines
1.3 KiB
Nix

{
config,
lib,
pkgs,
...
}: {
config = lib.mkIf (config.dotfiles.desktop == "sway") {
services.greetd = {
enable = true;
settings.default_session = {
command = lib.concatStringsSep " " [
"${pkgs.greetd.tuigreet}/bin/tuigreet"
"--remember"
"--remember-user-session"
"--sessions=${config.programs.sway.package}/share/wayland-sessions:${config.programs.hyprland.package}/share/wayland-sessions"
];
user = "greeter";
};
};
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd = {
enableGnomeKeyring = true;
u2fAuth = true;
};
security.polkit.enable = true;
# start a keyring daemon for sway
systemd = {
packages = [pkgs.polkit_gnome];
user.services.polkit-gnome-authentication-agent-1 = {
unitConfig = {
Description = "polkit-gnome-authentication-agent-1";
Wants = ["graphical-session.target"];
WantedBy = ["graphical-session.target"];
After = ["graphical-session.target"];
};
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
};
}