Desktop environment refactor
This commit is contained in:
50
modules/desktop/greeter/greetd.nix
Normal file
50
modules/desktop/greeter/greetd.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ 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;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user