diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index 1a23d8f919c..11c13b8d942 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -57,6 +57,64 @@
and simultaneously or to downgrade from Xfce 4.14 after upgrading.
+
+
+ The GNOME 3 desktop manager module sports an interface to enable/disable core services, applications, and optional GNOME packages
+ like games.
+
+ This can be achieved with the following options which the desktop manager default enables, excluding games.
+ services.gnome3.core-os-services.enable
+ services.gnome3.core-shell.enable
+ services.gnome3.core-utilities.enable
+ services.gnome3.games.enable
+
+ With these options we hope to give users finer grained control over their systems. Prior to this change you'd either have to manually
+ disable options or use which only excluded the optional applications.
+ is now unguarded, it can exclude any package installed with
+ in the GNOME 3 module.
+
+
+
+
+ Orthogonal to the previous changes to the GNOME 3 desktop manager module, we've updated all default services and applications
+ to match as close as possible to a default reference GNOME 3 experience.
+
+
+ The following changes were enacted in
+
+
+ Applications removed from defaults:
+ accerciser
+ dconf-editor
+ evolution
+ gnome-documents
+ gnome-nettool
+ gnome-power-manager
+ gnome-todo
+ gnome-tweaks
+ gnome-usage
+ gucharmap
+ nautilus-sendto
+ vinagre
+
+
+ Applications added to defaults:
+ cheese
+ geary
+
+
+ The following changes were enacted in
+
+
+ Applications added to defaults:
+ gnome-color-manager
+ orca
+
+
+ Services enabled:
+
+
+
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index c84ef3d6d9b..4bc37ed3f17 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -138,6 +138,7 @@
./programs/qt5ct.nix
./programs/screen.nix
./programs/sedutil.nix
+ ./programs/seahorse.nix
./programs/slock.nix
./programs/shadow.nix
./programs/shell.nix
@@ -301,7 +302,6 @@
./services/desktops/gnome3/gnome-settings-daemon.nix
./services/desktops/gnome3/gnome-user-share.nix
./services/desktops/gnome3/rygel.nix
- ./services/desktops/gnome3/seahorse.nix
./services/desktops/gnome3/sushi.nix
./services/desktops/gnome3/tracker.nix
./services/desktops/gnome3/tracker-miners.nix
diff --git a/nixos/modules/programs/seahorse.nix b/nixos/modules/programs/seahorse.nix
new file mode 100644
index 00000000000..c08b0a85374
--- /dev/null
+++ b/nixos/modules/programs/seahorse.nix
@@ -0,0 +1,44 @@
+# Seahorse.
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+
+ # Added 2019-08-27
+ imports = [
+ (mkRenamedOptionModule
+ [ "services" "gnome3" "seahorse" "enable" ]
+ [ "programs" "seahorse" "enable" ])
+ ];
+
+
+ ###### interface
+
+ options = {
+
+ programs.seahorse = {
+
+ enable = mkEnableOption "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring";
+
+ };
+
+ };
+
+
+ ###### implementation
+
+ config = mkIf config.programs.seahorse.enable {
+
+ environment.systemPackages = [
+ pkgs.gnome3.seahorse
+ ];
+
+ services.dbus.packages = [
+ pkgs.gnome3.seahorse
+ ];
+
+ };
+
+}
diff --git a/nixos/modules/services/desktops/gnome3/seahorse.nix b/nixos/modules/services/desktops/gnome3/seahorse.nix
deleted file mode 100644
index 9631157934f..00000000000
--- a/nixos/modules/services/desktops/gnome3/seahorse.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-# Seahorse daemon.
-
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-{
-
- ###### interface
-
- options = {
-
- services.gnome3.seahorse = {
-
- enable = mkOption {
- type = types.bool;
- default = false;
- description = ''
- Whether to enable Seahorse search provider for the GNOME Shell activity search.
- '';
- };
-
- };
-
- };
-
-
- ###### implementation
-
- config = mkIf config.services.gnome3.seahorse.enable {
-
- environment.systemPackages = [ pkgs.gnome3.seahorse pkgs.gnome3.dconf ];
-
- services.dbus.packages = [ pkgs.gnome3.seahorse ];
-
- };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 0caa93ad217..6f344f4121b 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -37,7 +37,7 @@ let
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
[org.gnome.shell]
- favorite-apps=[ 'org.gnome.Epiphany.desktop', 'evolution.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
+ favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
${cfg.extraGSettingsOverrides}
EOF
@@ -238,6 +238,8 @@ in
services.dbus.packages =
optional config.services.printing.enable pkgs.system-config-printer;
+ services.avahi.enable = mkDefault true;
+
services.geoclue2.enable = mkDefault true;
services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent
@@ -261,16 +263,19 @@ in
source-sans-pro
];
+ # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-32/elements/core/meta-gnome-core-shell.bst
environment.systemPackages = with pkgs.gnome3; [
adwaita-icon-theme
gnome-backgrounds
gnome-bluetooth
+ gnome-color-manager
gnome-control-center
gnome-getting-started-docs
gnome-shell
gnome-shell-extensions
gnome-themes-extra
gnome-user-docs
+ pkgs.orca
pkgs.glib # for gsettings
pkgs.gnome-menus
pkgs.gtk3.out # for gtk-launch
@@ -281,23 +286,43 @@ in
];
})
+ # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-32/elements/core/meta-gnome-core-utilities.bst
(mkIf serviceCfg.core-utilities.enable {
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
- baobab eog epiphany evince gucharmap nautilus totem yelp gnome-calculator
- gnome-contacts gnome-font-viewer gnome-screenshot gnome-system-monitor simple-scan
- gnome-terminal evolution file-roller gedit gnome-clocks gnome-music gnome-tweaks
- pkgs.gnome-photos nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
- gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool gnome-packagekit
- gnome-software gnome-power-manager gnome-todo pkgs.gnome-usage
+ baobab
+ cheese
+ eog
+ epiphany
+ geary
+ gedit
+ gnome-calculator
+ gnome-calendar
+ gnome-characters
+ gnome-clocks
+ gnome-contacts
+ gnome-font-viewer
+ gnome-logs
+ gnome-maps
+ gnome-music
+ gnome-photos
+ gnome-screenshot
+ gnome-software
+ gnome-system-monitor
+ gnome-weather
+ nautilus
+ simple-scan
+ totem
+ yelp
+ # Unsure if sensible for NixOS
+ /* gnome-boxes */
] config.environment.gnome3.excludePackages);
# Enable default programs
programs.evince.enable = mkDefault true;
programs.file-roller.enable = mkDefault true;
programs.gnome-disks.enable = mkDefault true;
- programs.gnome-documents.enable = mkDefault true;
programs.gnome-terminal.enable = mkDefault true;
- services.gnome3.seahorse.enable = mkDefault true;
+ programs.seahorse.enable = mkDefault true;
services.gnome3.sushi.enable = mkDefault true;
# Let nautilus find extensions