nix-dotfiles/modules/desktop/sddm.nix

36 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 = with pkgs; [
config.modules.desktop.themes.sddmTheme.package
config.modules.desktop.themes.cursorTheme.package
libsForQt5.qt5.qtsvg
libsForQt5.qt5.qtgraphicaleffects
libsForQt5.qt5.qtquickcontrols2
];
# why do we need kwin for working hidpi
# huh????
services.displayManager.sddm = {
enable = true;
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;
};
};
};
# unlock the keyring on login, only if its enabled ofc
security.pam.services.sddm.enableGnomeKeyring = config.modules.desktop.gnome-keyring.enable;
};
}