base-graphical/desktop: refactor

This commit is contained in:
Katherina Walshe-Grey 2024-09-19 23:23:46 +01:00
parent d7142d8619
commit 58109130e6

View file

@ -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;
})
]);
}