diff options
| -rw-r--r-- | hosts/common/desktop/default.nix | 4 | ||||
| -rw-r--r-- | hosts/common/desktop/gnome.nix | 57 | ||||
| -rw-r--r-- | hosts/common/desktop/plasma.nix | 13 | ||||
| -rw-r--r-- | hosts/common/options.nix | 5 | ||||
| -rw-r--r-- | hosts/glados/default.nix | 5 |
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"; + }; } |
