diff --git a/home/plasma/nixos.nix b/home/plasma/nixos.nix new file mode 100644 index 00000000..55e19f9d --- /dev/null +++ b/home/plasma/nixos.nix @@ -0,0 +1,31 @@ +{ pkgs +, lib +, config +, ... }: with lib; let + cfg = config.home.plasma; +in { + options.home.plasma = { + enable = mkEnableOption "KDE plasma desktop environment"; + }; + + config = { + users.homeModules = [ + # this module passes plasma configuration to home-manager + { passthrough.plasma = cfg; } + ]; + + specialisation.noplasma = with cfg; mkIf enable { + configuration = { + home.plasma.enable = mkForce false; + }; + }; + + programs.regreet.enable = mkIf cfg.enable false; + services.xserver.enable = mkIf cfg.enable true; + services.xserver.displayManager.startx.enable = mkIf cfg.enable false; + services.xserver.displayManager.sddm.enable = mkIf cfg.enable true; + services.xserver.desktopManager.plasma5.enable = mkIf cfg.enable true; + + users.home.persist.directories = mkIf cfg.enable [ ]; + }; +}