diff options
| -rw-r--r-- | modules/desktop/default.nix | 1 | ||||
| -rw-r--r-- | modules/desktop/gnome/dconf.nix | 24 | ||||
| -rw-r--r-- | modules/desktop/gnome/default.nix | 46 |
3 files changed, 71 insertions, 0 deletions
diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 636e917..43f123c 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -5,5 +5,6 @@ ./sway ./dunst.nix ./waybar.nix + ./gnome.nix ]; } diff --git a/modules/desktop/gnome/dconf.nix b/modules/desktop/gnome/dconf.nix new file mode 100644 index 0000000..382919a --- /dev/null +++ b/modules/desktop/gnome/dconf.nix @@ -0,0 +1,24 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.nx.desktop.gnome; + + enabledExtensions = [ + "pop-shell@system76.com" + ] ++ (if cfg.blur then [ "blur-my-shell@aunetx" ] else [ ]); + +in +{ + config = mkIf cfg.enable { + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + "org/gnome/shell" = { + enabled-extensions = enabledExtensions; + }; + }; + }; +} diff --git a/modules/desktop/gnome/default.nix b/modules/desktop/gnome/default.nix new file mode 100644 index 0000000..e192a83 --- /dev/null +++ b/modules/desktop/gnome/default.nix @@ -0,0 +1,46 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + imports = [ + ./dconf.nix + ]; + + options.nx.desktop.gnome = { + enable = lib.mkEnableOption "Enable GNOME desktop environment"; + blur = lib.mkEnableOption "Enable Blur my Shell"; + }; + + config = lib.mkIf config.nx.desktop.gnome.enable { + services.desktopManager.gnome.enable = true; + + environment.gnome.excludePackages = with pkgs.gnome; [ + epiphany # web browser + geary # email client + gnome-calendar + gnome-characters + gnome-clocks + gnome-contacts + gnome-maps + gnome-music + gnome-photos + gnome-software + gnome-weather + gnome-tour + yelp + gnome-mines + gnome-sudoku + gnome-chess + ]; + + environment.systemPackages = with pkgs; [ + gnomeExtensions.pop-shell + (lib.optional cfg.blur pkgs.gnomeExtensions.blur-my-shell) + gnome-tweaks + ]; + }; +} |
