nix-dotfiles/modules/desktop/sddm.nix

35 lines
1.1 KiB
Nix

{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.modules.desktop.sddm;
in {
options.modules.desktop.sddm = {
enable = mkEnableOption "Enable SDDM, a display manager for X11 and Wayland windowing systems";
};
config = mkIf cfg.enable {
environment.systemPackages = [
config.modules.desktop.themes.sddmTheme.package
config.modules.desktop.themes.cursorTheme.package # system wide is needed for sddm
];
# why do we need kwin for working hidpi
# huh????
services.displayManager.sddm = {
enable = true;
package = pkgs.kdePackages.sddm;
wayland.enable = config.modules.desktop.envProto == "wayland";
wayland.compositor = "kwin";
theme = config.modules.desktop.themes.sddmTheme.name;
settings = {
Theme = {
CursorTheme = config.modules.desktop.themes.cursorTheme.name;
CursorSize = config.modules.desktop.themes.cursorTheme.size;
};
};
};
# unlock the keyring on login, only if its enabled ofc
security.pam.services.sddm.enableGnomeKeyring = config.modules.desktop.gnome-keyring.enable;
};
}