diff options
| author | seth <[email protected]> | 2023-01-28 06:29:39 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-01-28 06:29:39 -0500 |
| commit | 904c82a745715966cbf023a3e8bdae609975f5d4 (patch) | |
| tree | f91245f6817b57edec59da520d6ce3b9046741c9 /hosts/common | |
| parent | f23abee3530260e43aabf311ff49c13286648099 (diff) | |
make switching desktops easier
Diffstat (limited to 'hosts/common')
| -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 |
4 files changed, 51 insertions, 28 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"; + }; }; } |
