1
0
Fork 0
nix-config/modules/nixos/desktop/plasma/default.nix

58 lines
1.2 KiB
Nix

{
options,
config,
lib,
pkgs,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.desktop.plasma;
excludePackages = with pkgs.kdePackages; [
konsole
elisa
krdp
];
default-attrs = mapAttrs (key: mkDefault);
nested-default-attrs = mapAttrs (key: default-attrs);
in
{
options.${namespace}.desktop.plasma = with types; {
enable = mkBoolOpt false "Whether or not to use Plasma as the desktop environment.";
extraExcludePackages = mkOpt (listOf package) [ ] "Extra packages to exclude";
};
config = mkIf cfg.enable {
services.desktopManager.plasma6.enable = true;
services.displayManager = {
sddm = {
enable = true;
wayland.enable = true;
settings = {
Autologin = {
Session = "plasma.desktop";
User = "philipp";
};
Theme = {
EnableAvatars = true;
};
};
};
};
environment.plasma6.excludePackages =
with pkgs.kdePackages;
[ ] ++ excludePackages ++ cfg.extraExcludePackages;
environment.systemPackages = with pkgs; [
pinentry-qt
kdiskmark
kdePackages.networkmanager-qt
];
};
}