diff options
Diffstat (limited to 'modules/nixfiles/gnome.nix')
-rw-r--r-- | modules/nixfiles/gnome.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/modules/nixfiles/gnome.nix b/modules/nixfiles/gnome.nix new file mode 100644 index 0000000..2d0f6f6 --- /dev/null +++ b/modules/nixfiles/gnome.nix @@ -0,0 +1,65 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.nixfiles.modules.gnome; +in { + options.nixfiles.modules.gnome.enable = + mkEnableOption "Whether to enable the GNOME desktop environment."; + + config = mkIf cfg.enable { + nixfiles.modules = { + gnupg.pinentry = mkForce "gnome"; + sound.enable = true; + x11.enable = true; + }; + + services = { + xserver = { + enable = true; + desktopManager.gnome.enable = true; + displayManager.gdm = { + enable = true; + wayland = false; + }; + }; + + gnome = { + core-os-services.enable = true; + core-shell.enable = true; + core-utilities.enable = false; + core-developer-tools.enable = false; + games.enable = false; + + chrome-gnome-shell.enable = false; + gnome-initial-setup.enable = false; + gnome-online-accounts.enable = false; + gnome-remote-desktop.enable = false; + gnome-settings-daemon.enable = true; + gnome-user-share.enable = false; + rygel.enable = false; + tracker-miners.enable = false; + tracker.enable = false; + }; + + dleyna-renderer.enable = false; + dleyna-server.enable = false; + }; + + environment = { + gnome = { + excludePackages = with pkgs.gnome; [ + geary + gnome-disk-utility + seahorse + sushi + ]; + }; + + systemPackages = with pkgs; [pinentry-gnome]; + }; + }; +} |