feat(nixos): add support for sddm (#168)
This commit is contained in:
parent
0f2d8bba21
commit
d8a6d8a146
2 changed files with 56 additions and 1 deletions
51
modules/nixos/sddm.nix
Normal file
51
modules/nixos/sddm.nix
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{ lib
|
||||||
|
, pkgs
|
||||||
|
, config
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.services.displayManager.sddm.catppuccin;
|
||||||
|
enable = cfg.enable && config.services.displayManager.sddm.enable;
|
||||||
|
|
||||||
|
inherit (lib) mkIf ctp types mkOption;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.displayManager.sddm.catppuccin =
|
||||||
|
ctp.mkCatppuccinOpt "sddm"
|
||||||
|
// {
|
||||||
|
font = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Noto Sans";
|
||||||
|
description = "Font to use for the login screen";
|
||||||
|
};
|
||||||
|
|
||||||
|
fontSize = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "9";
|
||||||
|
description = "Font size to use for the login screen";
|
||||||
|
};
|
||||||
|
|
||||||
|
background = mkOption {
|
||||||
|
type = with types; (either path str);
|
||||||
|
default = "";
|
||||||
|
description = "Background image to use for the login screen";
|
||||||
|
};
|
||||||
|
|
||||||
|
loginBackground = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Add an additonal background layer to the login panel";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf enable {
|
||||||
|
services.displayManager.sddm.theme = "catppuccin-${cfg.flavour}";
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.catppuccin-sddm.override {
|
||||||
|
flavor = cfg.flavour;
|
||||||
|
inherit (cfg) font fontSize background loginBackground;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
6
test.nix
6
test.nix
|
@ -13,7 +13,6 @@ let
|
||||||
hash = "sha256-qZjMlZFTzJotOYjURRQMsiOdR2XGGba8XzXwx4+v9tk=";
|
hash = "sha256-qZjMlZFTzJotOYjURRQMsiOdR2XGGba8XzXwx4+v9tk=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -32,6 +31,11 @@ testers.runNixOSTest {
|
||||||
|
|
||||||
boot.loader.grub = enable;
|
boot.loader.grub = enable;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
displayManager.sddm = enable;
|
||||||
|
xserver.enable = true; # required for sddm
|
||||||
|
};
|
||||||
|
|
||||||
console = enable;
|
console = enable;
|
||||||
|
|
||||||
programs.dconf = enable; # required for gtk
|
programs.dconf = enable; # required for gtk
|
||||||
|
|
Loading…
Reference in a new issue