dotfiles/machines/common/linux/greeter.nix

50 lines
1.3 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
2024-05-07 18:20:52 +02:00
}:
{
2023-12-07 15:40:49 +01:00
config = lib.mkIf (config.dotfiles.desktop == "sway") {
services.greetd = {
2023-05-19 04:07:58 +02:00
enable = true;
2023-12-07 15:40:49 +01:00
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"
2023-12-07 15:40:49 +01:00
];
user = "greeter";
};
2023-05-19 04:07:58 +02:00
};
2023-12-07 15:40:49 +01:00
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd = {
2023-05-19 04:07:58 +02:00
enableGnomeKeyring = true;
u2fAuth = true;
};
2023-12-07 15:40:49 +01:00
security.polkit.enable = true;
2023-05-19 04:07:58 +02:00
2023-12-07 15:40:49 +01:00
# start a keyring daemon for sway
systemd = {
2024-05-07 18:20:52 +02:00
packages = [ pkgs.polkit_gnome ];
2023-12-07 15:40:49 +01:00
user.services.polkit-gnome-authentication-agent-1 = {
unitConfig = {
Description = "polkit-gnome-authentication-agent-1";
2024-05-07 18:20:52 +02:00
Wants = [ "graphical-session.target" ];
WantedBy = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
2023-12-07 15:40:49 +01:00
};
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
};
}