From 9e638c009f37bf4ffb33b96b278a14cb5aea741b Mon Sep 17 00:00:00 2001 From: Katherina Walshe-Grey Date: Wed, 11 Sep 2024 06:36:21 +0100 Subject: [PATCH] base-graphical: add desktop manager config --- common/base-graphical/default.nix | 1 + common/base-graphical/desktop.nix | 26 ++++++++++++++++++++++++++ hosts/kilgharrah/default.nix | 6 +----- hosts/tohru/default.nix | 4 ---- 4 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 common/base-graphical/desktop.nix diff --git a/common/base-graphical/default.nix b/common/base-graphical/default.nix index 1ef5c98..40542ce 100644 --- a/common/base-graphical/default.nix +++ b/common/base-graphical/default.nix @@ -6,6 +6,7 @@ let in { imports = [ + ./desktop.nix ./sound.nix ]; diff --git a/common/base-graphical/desktop.nix b/common/base-graphical/desktop.nix new file mode 100644 index 0000000..50ff84c --- /dev/null +++ b/common/base-graphical/desktop.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkOption types; + cfg = config.qenya.base-graphical; + + isGnome = cfg.desktop == "gnome"; + isPlasma6 = cfg.desktop == "plasma6"; +in +{ + options.qenya.base-graphical.desktop = mkOption { + type = types.enum [ "gnome" "plasma6" ]; + default = "gnome"; + example = "plasma6"; + 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; + }; +} diff --git a/hosts/kilgharrah/default.nix b/hosts/kilgharrah/default.nix index bafc19d..b4e969f 100644 --- a/hosts/kilgharrah/default.nix +++ b/hosts/kilgharrah/default.nix @@ -17,15 +17,11 @@ }; qenya.base-graphical.enable = true; + qenya.base-graphical.desktop = "plasma6"; time.timeZone = "Europe/London"; - i18n.defaultLocale = "en_GB.UTF-8"; console.keyMap = "uk"; - - services.displayManager.sddm.enable = true; - services.displayManager.sddm.wayland.enable = true; - services.desktopManager.plasma6.enable = true; services.xserver.xkb.layout = "gb"; services.printing.enable = true; diff --git a/hosts/tohru/default.nix b/hosts/tohru/default.nix index 7373dd5..eab9a11 100644 --- a/hosts/tohru/default.nix +++ b/hosts/tohru/default.nix @@ -21,12 +21,8 @@ qenya.base-graphical.enable = true; time.timeZone = "Europe/London"; - i18n.defaultLocale = "en_GB.UTF-8"; console.keyMap = "uk"; - - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; services.xserver.xkb.layout = "gb"; services.printing.enable = true;