Files
samfelag/modules/desktop/greeter/greetd.nix
2024-12-03 20:03:23 +01:00

51 lines
1.3 KiB
Nix

{ inputs, config, lib, pkgs, ... }:
let
cfg = config.samfelag.modules.desktop.greeter.greetd;
in {
options.samfelag.modules.desktop.greeter.greetd = with lib; {
enable = mkEnableOption "Greetd based greeter";
wm_cmd = lib.my.mkOpt' types.str "" "Window manager command";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
greetd.gtkgreet
cage
];
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.cage}/bin/cage -d -s ${pkgs.greetd.gtkgreet}/bin/gtkgreet -- -c ${cfg.wm_cmd} -s /etc/greetd/greetd.css";
user = config.user.name;
};
};
};
environment.etc."greetd/environments".text = ''
${cfg.wm_cmd}
'';
environment.etc."greetd/greetd.css".text = ''
window {
background-image: url("file://${config.samfelag.modules.desktop.wallpaper}");
background-size: cover;
background-position: center;
font-family: Iosevka;
color: #${config.colorScheme.palette.base00};
}
box#body {
background-color: #${config.colorScheme.palette.base06};
opacity: 0.75;
border-radius: 10px;
padding: 50px;
}
'';
};
}