From 3ce5a544921b669981ac2dd384a7c3dfa00a79c5 Mon Sep 17 00:00:00 2001 From: 514fpv Date: Sun, 28 Jan 2024 11:24:48 +0800 Subject: [PATCH] feat(plasma): add plasma desktop --- home/plasma/nixos.nix | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 home/plasma/nixos.nix 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 [ ]; + }; +}