summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/common/desktop/default.nix4
-rw-r--r--hosts/common/desktop/gnome.nix57
-rw-r--r--hosts/common/desktop/plasma.nix13
-rw-r--r--hosts/common/options.nix5
-rw-r--r--hosts/glados/default.nix5
5 files changed, 55 insertions, 29 deletions
diff --git a/hosts/common/desktop/default.nix b/hosts/common/desktop/default.nix
index 7199859..a7bcde8 100644
--- a/hosts/common/desktop/default.nix
+++ b/hosts/common/desktop/default.nix
@@ -3,4 +3,8 @@
programs.xwayland.enable = true;
services.xserver.enable = true;
xdg.portal.enable = true;
+ import = [
+ ./gnome.nix
+ ./plasma.nix
+ ];
}
diff --git a/hosts/common/desktop/gnome.nix b/hosts/common/desktop/gnome.nix
index b59309a..b579eee 100644
--- a/hosts/common/desktop/gnome.nix
+++ b/hosts/common/desktop/gnome.nix
@@ -1,25 +1,36 @@
-{pkgs, ...}: {
- imports = [
- ./.
- ];
- environment = {
- gnome.excludePackages = with pkgs;
- [
- epiphany
- gnome-tour
- ]
- ++ (with pkgs.gnome; [
- cheese
- geary
- gnome-characters
- gnome-contacts
- gnome-music
- ]);
- systemPackages = with pkgs; [adw-gtk3 blackbox-terminal];
- };
+{
+ config,
+ pkgs,
+ ...
+}: let
+ environmentConfig =
+ if config.sys.desktop == "gnome"
+ then {
+ gnome.excludePackages = with pkgs;
+ [
+ epiphany
+ gnome-tour
+ ]
+ ++ (with pkgs.gnome; [
+ cheese
+ geary
+ gnome-characters
+ gnome-contacts
+ gnome-music
+ ]);
+ systemPackages = with pkgs; [adw-gtk3 blackbox-terminal];
+ }
+ else {};
- services.xserver = {
- displayManager.gdm.enable = true;
- desktopManager.gnome.enable = true;
- };
+ xserverConfig =
+ if config.sys.desktop == "gnome"
+ then {
+ displayManager.gdm.enable = true;
+ desktopManager.gnome.enable = true;
+ }
+ else {};
+in {
+ environment = environmentConfig;
+
+ services.xserver = xserverConfig;
}
diff --git a/hosts/common/desktop/plasma.nix b/hosts/common/desktop/plasma.nix
index ddd3a28..f06fe23 100644
--- a/hosts/common/desktop/plasma.nix
+++ b/hosts/common/desktop/plasma.nix
@@ -1,8 +1,10 @@
-{pkgs, ...}: {
- imports = [
- ./.
- ];
-
+{
+ config,
+ pkgs,
+ ...
+}:
+if config.sys.desktop == "plasma"
+then {
services.xserver = {
displayManager.sddm.enable = true;
desktopManager.plasma5 = {
@@ -17,3 +19,4 @@
};
};
}
+else {}
diff --git a/hosts/common/options.nix b/hosts/common/options.nix
index 8d4bf5b..c36d4e2 100644
--- a/hosts/common/options.nix
+++ b/hosts/common/options.nix
@@ -10,5 +10,10 @@
default = false;
description = "signifies that the flake is being installed in wsl";
};
+ desktop = mkOption {
+ type = types.str;
+ default = "";
+ description = "set the desktop";
+ };
};
}
diff --git a/hosts/glados/default.nix b/hosts/glados/default.nix
index 63bcdc0..065b576 100644
--- a/hosts/glados/default.nix
+++ b/hosts/glados/default.nix
@@ -9,5 +9,8 @@ _: {
./services.nix
];
- sys.gui.enable = true;
+ sys = {
+ gui.enable = true;
+ desktop = "gnome";
+ };
}