aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-11-05 17:18:59 +0100
committerschererleander <leander@schererleander.de>2025-11-06 19:40:41 +0100
commitfbbe74303f6a1fe05748f6ff90ed30b092d11757 (patch)
treeecae44fc2a2af498cd772268f5ae15501da3bcbe
parent0215ecedbc2199e85a44dca3d73df848516d8064 (diff)
setup desktop environment
-rw-r--r--modules/desktop/default.nix1
-rw-r--r--modules/desktop/gnome/dconf.nix24
-rw-r--r--modules/desktop/gnome/default.nix46
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
+ ];
+ };
+}