From 58109130e6fd7fc6f09bc38f9c52b1a3b2d81e77 Mon Sep 17 00:00:00 2001 From: Katherina Walshe-Grey Date: Thu, 19 Sep 2024 23:23:46 +0100 Subject: [PATCH] base-graphical/desktop: refactor --- common/base-graphical/desktop.nix | 33 ++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/common/base-graphical/desktop.nix b/common/base-graphical/desktop.nix index 50ff84c..7e6a92c 100644 --- a/common/base-graphical/desktop.nix +++ b/common/base-graphical/desktop.nix @@ -1,11 +1,8 @@ { config, lib, pkgs, ... }: let - inherit (lib) mkIf mkOption types; + inherit (lib) mkIf mkMerge mkOption types; cfg = config.qenya.base-graphical; - - isGnome = cfg.desktop == "gnome"; - isPlasma6 = cfg.desktop == "plasma6"; in { options.qenya.base-graphical.desktop = mkOption { @@ -15,12 +12,24 @@ in description = "Which display manager and desktop manager to use."; }; - config = mkIf cfg.enable { - services.xserver.displayManager.gdm.enable = isGnome; - services.xserver.desktopManager.gnome.enable = isGnome; - - services.displayManager.sddm.enable = isPlasma6; - services.displayManager.sddm.wayland.enable = isPlasma6; - services.desktopManager.plasma6.enable = isPlasma6; - }; + config = mkIf cfg.enable (mkMerge [ + (mkIf (cfg.desktop == "gnome") { + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + # TODO: agree on this with randomcat as it affects her too, since for some reason this is system-wide + # environment.gnome.excludePackages = with pkgs.gnome; [ + # pkgs.gnome-tour + # epiphany # GNOME Web + # geary + # gnome-calendar + # gnome-contacts + # gnome-music + # ]; + }) + (mkIf (cfg.desktop == "plasma6") { + services.displayManager.sddm.enable = true; + services.displayManager.sddm.wayland.enable = true; + services.desktopManager.plasma6.enable = true; + }) + ]); }