Files
nixos-blueprint/modules/nixos/desktop/common/greeter.nix

52 lines
1.1 KiB
Nix

{
lib,
pkgs,
config,
...
}: let
inherit (lib) mkOption mkIf getExe types mkMerge;
cfg = config.module.desktop;
in {
options = {
module.desktop.displayManager = mkOption {
default = "greetd";
type = types.enum [
"cosmic"
"gdm"
"greetd"
"sddm"
];
};
};
config = mkMerge [
(mkIf (cfg.displayManager == "cosmic") {
services.displayManager.cosmic-greeter.enable = true;
})
(mkIf (cfg.displayManager == "gdm") {
services.displayManager.gdm = {
enable = true;
wayland = true;
};
})
(mkIf (cfg.displayManager == "greetd") {
programs.regreet.enable = true;
services.greetd = {
enable = true;
vt = 1;
settings = {
default_session = {
command = "${getExe pkgs.cage} -s -m last -- ${getExe pkgs.greetd.regreet}";
};
};
};
})
(mkIf (cfg.displayManager == "sddm") {
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
})
];
}