about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/budgie/budgie-control-center/default.nix9
-rw-r--r--pkgs/desktops/budgie/budgie-desktop/default.nix3
-rw-r--r--pkgs/desktops/budgie/budgie-session/default.nix3
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/default.nix24
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-menus/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/0001-Use-dbus_glib-instead-of-elogind.patch4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/0002-Use-login-shell-for-wayland-session.patch76
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/default.nix5
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-translations/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix17
-rw-r--r--pkgs/desktops/cinnamon/mint-l-icons/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-l-theme/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-themes/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-x-icons/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-y-icons/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/muffin/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/srcs.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix18
-rw-r--r--pkgs/desktops/gnome/apps/accerciser/default.nix78
-rw-r--r--pkgs/desktops/gnome/apps/cheese/default.nix108
-rw-r--r--pkgs/desktops/gnome/apps/file-roller/default.nix79
-rw-r--r--pkgs/desktops/gnome/apps/ghex/default.nix87
-rw-r--r--pkgs/desktops/gnome/apps/gnome-boxes/default.nix3
-rw-r--r--pkgs/desktops/gnome/apps/gnome-calendar/default.nix67
-rw-r--r--pkgs/desktops/gnome/apps/gnome-notes/default.nix3
-rw-r--r--pkgs/desktops/gnome/apps/gnome-weather/default.nix3
-rw-r--r--pkgs/desktops/gnome/apps/seahorse/default.nix115
-rw-r--r--pkgs/desktops/gnome/apps/vinagre/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix55
-rw-r--r--pkgs/desktops/gnome/core/baobab/default.nix63
-rw-r--r--pkgs/desktops/gnome/core/caribou/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/dconf-editor/default.nix80
-rw-r--r--pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch14
-rw-r--r--pkgs/desktops/gnome/core/eog/default.nix127
-rw-r--r--pkgs/desktops/gnome/core/eog/fix-gir-lib-path.patch13
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix109
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix144
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix189
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/drop-tentative-settings-constructor.patch40
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch11
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch652
-rw-r--r--pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix5
-rw-r--r--pkgs/desktops/gnome/core/gnome-calculator/default.nix81
-rw-r--r--pkgs/desktops/gnome/core/gnome-common/default.nix21
-rw-r--r--pkgs/desktops/gnome/core/gnome-dictionary/default.nix86
-rw-r--r--pkgs/desktops/gnome/core/gnome-disk-utility/default.nix81
-rw-r--r--pkgs/desktops/gnome/core/gnome-font-viewer/default.nix66
-rw-r--r--pkgs/desktops/gnome/core/gnome-keyring/default.nix109
-rw-r--r--pkgs/desktops/gnome/core/gnome-screenshot/default.nix83
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix3
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/gnome-system-monitor/default.nix80
-rw-r--r--pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch12
-rw-r--r--pkgs/desktops/gnome/core/gnome-terminal/default.nix97
-rw-r--r--pkgs/desktops/gnome/core/gnome-themes-extra/default.nix33
-rw-r--r--pkgs/desktops/gnome/core/gnome-user-share/default.nix73
-rw-r--r--pkgs/desktops/gnome/core/gucharmap/default.nix114
-rw-r--r--pkgs/desktops/gnome/core/libgnome-keyring/default.nix35
-rw-r--r--pkgs/desktops/gnome/core/nautilus/default.nix135
-rw-r--r--pkgs/desktops/gnome/core/nautilus/extension_dir.patch24
-rw-r--r--pkgs/desktops/gnome/core/nautilus/fix-paths.patch13
-rw-r--r--pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch35
-rw-r--r--pkgs/desktops/gnome/core/rygel/default.nix108
-rw-r--r--pkgs/desktops/gnome/core/simple-scan/default.nix89
-rw-r--r--pkgs/desktops/gnome/core/sushi/default.nix86
-rw-r--r--pkgs/desktops/gnome/core/totem/default.nix139
-rw-r--r--pkgs/desktops/gnome/core/yelp-xsl/default.nix52
-rw-r--r--pkgs/desktops/gnome/core/yelp/default.nix62
-rw-r--r--pkgs/desktops/gnome/core/zenity/default.nix57
-rw-r--r--pkgs/desktops/gnome/default.nix142
-rw-r--r--pkgs/desktops/gnome/devtools/devhelp/default.nix87
-rw-r--r--pkgs/desktops/gnome/extensions/default.nix3
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix4
-rw-r--r--pkgs/desktops/gnome/games/four-in-a-row/default.nix4
-rw-r--r--pkgs/desktops/gnome/games/gnome-klotski/default.nix4
-rw-r--r--pkgs/desktops/gnome/games/gnome-mines/default.nix4
-rw-r--r--pkgs/desktops/gnome/games/gnome-taquin/default.nix3
-rw-r--r--pkgs/desktops/gnome/games/gnome-tetravex/default.nix3
-rw-r--r--pkgs/desktops/gnome/games/iagno/default.nix3
-rw-r--r--pkgs/desktops/gnome/games/lightsoff/default.nix4
-rw-r--r--pkgs/desktops/gnome/games/quadrapassel/default.nix3
-rw-r--r--pkgs/desktops/gnome/games/tali/default.nix3
-rw-r--r--pkgs/desktops/gnome/misc/geary/default.nix157
-rw-r--r--pkgs/desktops/gnome/misc/gitg/default.nix99
-rw-r--r--pkgs/desktops/gnome/misc/gnome-autoar/default.nix60
-rw-r--r--pkgs/desktops/gnome/misc/gnome-packagekit/default.nix60
-rw-r--r--pkgs/desktops/gnome/misc/gnome-tweaks/default.nix95
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/default.nix88
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/fix-paths.patch16
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/wrapper.js5
-rw-r--r--pkgs/desktops/gnome/misc/gtkhtml/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/nautilus-python/default.nix66
-rw-r--r--pkgs/desktops/gnome/misc/nautilus-python/fix-paths.patch14
-rw-r--r--pkgs/desktops/gnome/misc/pomodoro/default.nix83
-rw-r--r--pkgs/desktops/gnome/misc/pomodoro/fix-schema-path.patch40
-rw-r--r--pkgs/desktops/lomiri/services/history-service/default.nix4
-rw-r--r--pkgs/desktops/lomiri/services/telephony-service/default.nix4
-rw-r--r--pkgs/desktops/mate/marco/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/desktops/pantheon/default.nix10
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix4
107 files changed, 182 insertions, 4958 deletions
diff --git a/pkgs/desktops/budgie/budgie-control-center/default.nix b/pkgs/desktops/budgie/budgie-control-center/default.nix
index 1fb8d86d410e0..015b8ca970833 100644
--- a/pkgs/desktops/budgie/budgie-control-center/default.nix
+++ b/pkgs/desktops/budgie/budgie-control-center/default.nix
@@ -3,7 +3,9 @@
 , fetchFromGitHub
 , substituteAll
 , accountsservice
+, adwaita-icon-theme
 , budgie-desktop
+, cheese
 , clutter
 , clutter-gtk
 , colord
@@ -19,6 +21,7 @@
 , glibc
 , gnome
 , gnome-desktop
+, gnome-user-share
 , gsettings-desktop-schemas
 , gsound
 , gtk3
@@ -101,12 +104,12 @@ stdenv.mkDerivation (finalAttrs: {
     glib
     glib-networking
     gnome-desktop
-    gnome.adwaita-icon-theme
-    gnome.cheese
+    adwaita-icon-theme
+    cheese
     gnome.gnome-bluetooth_1_0
     gnome.gnome-remote-desktop
     gnome.gnome-settings-daemon
-    gnome.gnome-user-share
+    gnome-user-share
     gnome.mutter
     gsettings-desktop-schemas
     gsound
diff --git a/pkgs/desktops/budgie/budgie-desktop/default.nix b/pkgs/desktops/budgie/budgie-desktop/default.nix
index 9e4ec9c42a2b4..4dc5be53260ec 100644
--- a/pkgs/desktops/budgie/budgie-desktop/default.nix
+++ b/pkgs/desktops/budgie/budgie-desktop/default.nix
@@ -33,6 +33,7 @@
 , vala
 , xfce
 , wrapGAppsHook3
+, zenity
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -70,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
     gnome-desktop
     gnome.gnome-settings-daemon
     gnome.mutter
-    gnome.zenity
+    zenity
     graphene
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
diff --git a/pkgs/desktops/budgie/budgie-session/default.nix b/pkgs/desktops/budgie/budgie-session/default.nix
index 90185f85b1f09..3815af26c21d3 100644
--- a/pkgs/desktops/budgie/budgie-session/default.nix
+++ b/pkgs/desktops/budgie/budgie-session/default.nix
@@ -6,6 +6,7 @@
 , ninja
 , pkg-config
 , gnome
+, adwaita-icon-theme
 , glib
 , gtk3
 , gsettings-desktop-schemas
@@ -67,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
     gnome-desktop
     json-glib
     xorg.xtrans
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gnome.gnome-settings-daemon
     gsettings-desktop-schemas
     systemd
diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index a548b8a6503dd..a2592cb39a399 100644
--- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -9,7 +9,6 @@
 , cjs
 , evolution-data-server
 , fetchFromGitHub
-, fetchpatch
 , gdk-pixbuf
 , gettext
 , libgnomekbd
@@ -72,25 +71,18 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cinnamon-common";
-  version = "6.0.4";
+  version = "6.2.3";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cinnamon";
     rev = version;
-    hash = "sha256-I0GJv2lcl5JlKPIiWoKMXTf4OLkznS5MpiOIvZ76bJQ=";
+    hash = "sha256-u5QsUFRXPVsk9T7tVmuOpTaAxdMIJs5yPVcWM1olXz8=";
   };
 
   patches = [
     ./use-sane-install-dir.patch
     ./libdir.patch
-
-    # Switch to GNOME Online Accounts GTK
-    (fetchpatch {
-      url = "https://github.com/linuxmint/cinnamon/commit/d22f889c376734f0ca5d904885c2772e790fbadc.patch";
-      includes = [ "files/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py" ];
-      hash = "sha256-xutJqxtzk3/BUQGZY/tnBkRyAfZZY7AckaGC6b7Sfn8=";
-    })
   ];
 
   buildInputs = [
@@ -166,6 +158,7 @@ stdenv.mkDerivation rec {
                                                           --replace-fail 'subprocess.run(["/usr/bin/' 'subprocess.run(["' \
                                                           --replace-fail "msgfmt" "${gettext}/bin/msgfmt"
       substituteInPlace ./modules/cs_info.py              --replace-fail "lspci" "${pciutils}/bin/lspci"
+      substituteInPlace ./modules/cs_keyboard.py          --replace-fail "/usr/bin/cinnamon-dbus-command" "$out/bin/cinnamon-dbus-command"
       substituteInPlace ./modules/cs_themes.py            --replace-fail "$out/share/cinnamon/styles.d" "/run/current-system/sw/share/cinnamon/styles.d"
     popd
 
@@ -178,17 +171,6 @@ stdenv.mkDerivation rec {
   postInstall = ''
     # Use locales from cinnamon-translations.
     ln -s ${cinnamon-translations}/share/locale $out/share/locale
-
-    # Do not install online accounts module, with a -Donlineaccounts=false c-c-c
-    # this just shows an empty page.
-    rm -f $out/share/cinnamon/cinnamon-settings/modules/cs_online_accounts.py
-
-    # g-o-a-gtk already provides its own desktop item.
-    rm -f $out/share/applications/cinnamon-settings-online-accounts.desktop
-
-    # Actually removes Adwaita and HighContrast from Cinnamon styles with mint-artwork 1.8.2.
-    # https://github.com/linuxmint/cinnamon/commit/13b1ad104e88197f6c4e2d02ab2674c07254b8e8
-    rm -r $out/share/cinnamon/styles.d
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index 55ca24d57de0e..b5a98a9090b95 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-control-center";
-  version = "6.0.1";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-AYnI+k6CzpWUutusCSDR5KhOmv5FWoChotAbCJXTh4I=";
+    hash = "sha256-Blod69RzPTE3DztRo0PK0MKCE+vq0HWrcJcC/1e8eRI=";
   };
 
   buildInputs = [
@@ -83,8 +83,6 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     # use locales from cinnamon-translations
     "--localedir=${cinnamon-translations}/share/locale"
-    # https://github.com/linuxmint/cinnamon-control-center/issues/326
-    "-Donlineaccounts=false"
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index 830abafa28538..9bb7b706f02dd 100644
--- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-desktop";
-  version = "6.0.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-Ay9JyPBsE345dBwQHChkaGuoXiB2nPyvCNhWWphL8kY=";
+    hash = "sha256-9uewZh0GHQAenTcZpLchgFXSt3vOhxLbaepsJIkjTdI=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
index 78a4f7d94b654..7234d00d9c06e 100644
--- a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
@@ -2,7 +2,7 @@
 , runCommand
 , nixos-artwork
 , glib
-, gnome
+, gnome-terminal
 , gtk3
 , gsettings-desktop-schemas
 , extraGSettingsOverrides ? ""
@@ -36,7 +36,7 @@ let
     cinnamon-session
     cinnamon-settings-daemon
     cinnamon-common
-    gnome.gnome-terminal
+    gnome-terminal
     gsettings-desktop-schemas
     gtk3
   ] ++ extraGSettingsOverridePackages;
diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
index e184e64a889e9..62066ff8dadef 100644
--- a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-menus";
-  version = "6.0.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-zP1jA5Fwxh6QrM5YwJo7SFPWaxkJsv1D84dhIDP5xuI=";
+    hash = "sha256-HOipeUV9daPSsJ+SHPlsyEAg2SwKQkZBm1JUoNtDZAY=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index f08a242d4665c..f67ba3a2b82ae 100644
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-screensaver";
-  version = "6.0.3";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-ncYE2dCIAQxCMCe/5zrDU9iHTIkw+iO/IQl8+pfTvLI=";
+    hash = "sha256-hXgDTQnOlskzyOogvk7BQ9iJ3oXRtgUUX5bXtgD+gFo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/0001-Use-dbus_glib-instead-of-elogind.patch b/pkgs/desktops/cinnamon/cinnamon-session/0001-Use-dbus_glib-instead-of-elogind.patch
index 1b56b3903f3bd..368e49bb84aa2 100644
--- a/pkgs/desktops/cinnamon/cinnamon-session/0001-Use-dbus_glib-instead-of-elogind.patch
+++ b/pkgs/desktops/cinnamon/cinnamon-session/0001-Use-dbus_glib-instead-of-elogind.patch
@@ -16,10 +16,10 @@ index d8428dc..1f15115 100644
  ]
  
 +dbus_glib = dependency('dbus-glib-1')
- executable('cinnamon-session',
+ executable('cinnamon-session-binary',
    cinnamon_session_sources,
    dependencies: [
-@@ -74,7 +75,7 @@ executable('cinnamon-session',
+@@ -74,7 +75,7 @@ executable('cinnamon-session-binary',
      xext,
      xrender,
      xtest,
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/0002-Use-login-shell-for-wayland-session.patch b/pkgs/desktops/cinnamon/cinnamon-session/0002-Use-login-shell-for-wayland-session.patch
deleted file mode 100644
index 6c44f93d8f3c2..0000000000000
--- a/pkgs/desktops/cinnamon/cinnamon-session/0002-Use-login-shell-for-wayland-session.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 174d14edcbb401aa2bfb77932b214512befb486c Mon Sep 17 00:00:00 2001
-From: Bobby Rong <rjl931189261@126.com>
-Date: Sat, 23 Dec 2023 23:24:59 +0800
-Subject: [PATCH] cinnamon-session: make sure wayland sessions get a login
- shell
-
-Users expect their shell profiles to get sourced at startup, which
-doesn't happen with wayland sessions.
-
-This commit brings back that feature, by making the cinnamon-session
-wrapper script run a login shell.
-
-ref: https://gitlab.gnome.org/GNOME/gnome-session/-/commit/7e307f8ddb91db5d4051c4c792519a660ba67f35
----
- cinnamon-session/cinnamon-session.in | 16 ++++++++++++++++
- cinnamon-session/meson.build         | 14 +++++++++++++-
- 2 files changed, 29 insertions(+), 1 deletion(-)
- create mode 100755 cinnamon-session/cinnamon-session.in
-
-diff --git a/cinnamon-session/cinnamon-session.in b/cinnamon-session/cinnamon-session.in
-new file mode 100755
-index 0000000..d9d7cb2
---- /dev/null
-+++ b/cinnamon-session/cinnamon-session.in
-@@ -0,0 +1,16 @@
-+#!/bin/sh
-+
-+if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
-+   [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-+   [  -n "$SHELL" ] &&
-+   grep -q "$SHELL" /etc/shells &&
-+   ! (echo "$SHELL" | grep -q "false") &&
-+   ! (echo "$SHELL" | grep -q "nologin"); then
-+  if [ "$1" != '-l' ]; then
-+    exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
-+  else
-+    shift
-+  fi
-+fi
-+
-+exec @libexecdir@/cinnamon-session-binary "$@"
-diff --git a/cinnamon-session/meson.build b/cinnamon-session/meson.build
-index 10092ee..3d32fdc 100644
---- a/cinnamon-session/meson.build
-+++ b/cinnamon-session/meson.build
-@@ -54,7 +54,7 @@ cinnamon_session_sources = [
- ]
- 
- dbus_glib = dependency('dbus-glib-1')
--executable('cinnamon-session',
-+executable('cinnamon-session-binary',
-   cinnamon_session_sources,
-   dependencies: [
-     cinnamon_desktop,
-@@ -76,6 +76,18 @@ executable('cinnamon-session',
-   ],
-   include_directories: [ rootInclude ],
-   install: true,
-+  install_dir: get_option('libexecdir'),
-+)
-+
-+script_conf = configuration_data()
-+script_conf.set('libexecdir', get_option('prefix') / get_option('libexecdir'))
-+
-+configure_file(
-+  input: 'cinnamon-session.in',
-+  output: 'cinnamon-session',
-+  install: true,
-+  install_dir: get_option('bindir'),
-+  configuration: script_conf
- )
- 
- units = [
--- 
-2.42.0
-
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
index 47cedfa0a6f5c..a7262b2f937c4 100644
--- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
@@ -32,18 +32,17 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cinnamon-session";
-  version = "6.0.4";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-GtaoqzcnpKbiP4OqhnLkNWzZTUqX/KgVE6JImNMkdGo=";
+    hash = "sha256-2KQJNUc/uvbXnqqV0Yt3cltTHNbCo+wK67NXlid02Sk=";
   };
 
   patches = [
     ./0001-Use-dbus_glib-instead-of-elogind.patch
-    ./0002-Use-login-shell-for-wayland-session.patch
   ];
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
index 115ffcdece190..b704f21e294bc 100644
--- a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-settings-daemon";
-  version = "6.0.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-bT6NetCBo3J9IiiJ9Hs4iC1N3n/AP9Q+6wZciuKA4i4=";
+    hash = "sha256-OAG5Tes+0bi+vKqm77Y7OykTpUkMdRaXIJYLuomIDMo=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
index 0c7f018752a3e..4854cf671bc1d 100644
--- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-translations";
-  version = "6.0.2";
+  version = "6.2.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-kLZ0niamPV5Kaq6ZBTp1SMAl6dKMkcC+rodtAoH5+Go=";
+    hash = "sha256-U/3+njVctLbu+n/HQ+YuGdGhNN7eWU5u9OEFOz4T69o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 4ff139ba787e8..bb7ab672dbf0d 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -6,8 +6,10 @@
 , cairo
 , glib
 , readline
-, spidermonkey_102
+, libsysprof-capture
+, spidermonkey_115
 , meson
+, mesonEmulatorHook
 , dbus
 , ninja
 , which
@@ -16,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cjs";
-  version = "6.0.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cjs";
     rev = version;
-    hash = "sha256-oSqEAZWEVb8NxFTScl8s5Mb04tCGDyVVslYW00s4YYk=";
+    hash = "sha256-/74E10txRjwN9RkjVB8M0MPYakJ659yJWanc4DC09wg=";
   };
 
   outputs = [ "out" "dev" ];
@@ -33,21 +35,24 @@ stdenv.mkDerivation rec {
     pkg-config
     which # for locale detection
     libxml2 # for xml-stripblanks
+    dbus # for dbus-run-session
     gobject-introspection
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook
   ];
 
   buildInputs = [
     cairo
     readline
-    spidermonkey_102
-    dbus # for dbus-run-session
+    libsysprof-capture
+    spidermonkey_115
   ];
 
   propagatedBuildInputs = [
     glib
   ];
 
-  mesonFlags = [
+  mesonFlags = lib.optionals stdenv.hostPlatform.isMusl [
     "-Dprofiler=disabled"
   ];
 
diff --git a/pkgs/desktops/cinnamon/mint-l-icons/default.nix b/pkgs/desktops/cinnamon/mint-l-icons/default.nix
index 6a3956e53ca96..f1333ee44c18f 100644
--- a/pkgs/desktops/cinnamon/mint-l-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-l-icons/default.nix
@@ -1,7 +1,7 @@
 { stdenvNoCC
 , lib
 , fetchFromGitHub
-, gnome
+, adwaita-icon-theme
 , gnome-icon-theme
 , hicolor-icon-theme
 , gtk3
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
   };
 
   propagatedBuildInputs = [
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gnome-icon-theme
     hicolor-icon-theme
   ];
diff --git a/pkgs/desktops/cinnamon/mint-l-theme/default.nix b/pkgs/desktops/cinnamon/mint-l-theme/default.nix
index a9a8a5bd68503..214ebb999785f 100644
--- a/pkgs/desktops/cinnamon/mint-l-theme/default.nix
+++ b/pkgs/desktops/cinnamon/mint-l-theme/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mint-l-theme";
-  version = "1.9.7";
+  version = "1.9.8";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-pgb1lkrBRDYgfrLx0/afEuTz+5gZt/IG1u+dn4V7Spo=";
+    hash = "sha256-Jql4NJ8jugy0wi5yT+/Mr5fwxLog37w0VvHhxyMvMlk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-themes/default.nix b/pkgs/desktops/cinnamon/mint-themes/default.nix
index e1e22781690b4..13db58183cb56 100644
--- a/pkgs/desktops/cinnamon/mint-themes/default.nix
+++ b/pkgs/desktops/cinnamon/mint-themes/default.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mint-themes";
-  version = "2.1.7";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-pakD7qVlivokFlIBNjibOkneS6WV4BBOBePWSOjVVy0=";
+    hash = "sha256-mkcIhZRaOUom1Rurz/IO646FSF50efLN6xfesPdyVHc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-x-icons/default.nix b/pkgs/desktops/cinnamon/mint-x-icons/default.nix
index 8b045980c44a1..e8dbba1c2f1a1 100644
--- a/pkgs/desktops/cinnamon/mint-x-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-x-icons/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub
 , lib
 , stdenvNoCC
-, gnome
+, adwaita-icon-theme
 , gnome-icon-theme
 , hicolor-icon-theme
 , gtk3
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
   };
 
   propagatedBuildInputs = [
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gnome-icon-theme
     hicolor-icon-theme
     humanity-icon-theme
diff --git a/pkgs/desktops/cinnamon/mint-y-icons/default.nix b/pkgs/desktops/cinnamon/mint-y-icons/default.nix
index f12800e384b43..09c01f3e9dfd5 100644
--- a/pkgs/desktops/cinnamon/mint-y-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-y-icons/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub
 , lib
 , stdenvNoCC
-, gnome
+, adwaita-icon-theme
 , gnome-icon-theme
 , hicolor-icon-theme
 , gtk3
@@ -19,7 +19,7 @@ stdenvNoCC.mkDerivation rec {
   };
 
   propagatedBuildInputs = [
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gnome-icon-theme
     hicolor-icon-theme
   ];
diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix
index 08a9d3bf91b6b..328fe440cde12 100644
--- a/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/pkgs/desktops/cinnamon/muffin/default.nix
@@ -8,7 +8,6 @@
 , desktop-file-utils
 , egl-wayland
 , glib
-, gnome
 , gobject-introspection
 , graphene
 , gtk3
@@ -36,11 +35,12 @@
 , wrapGAppsHook3
 , xorgserver
 , xwayland
+, zenity
 }:
 
 stdenv.mkDerivation rec {
   pname = "muffin";
-  version = "6.0.1";
+  version = "6.2.0";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -48,13 +48,13 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-yd23naaPIa6xrdf7ipOvVZKqkr7/CMxNqDZ3CQ2QH+Y=";
+    hash = "sha256-k8hUYA4/OzL2TB8s5DJpa2nFXV2U9eY09TLkqBDq9WE=";
   };
 
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
-      zenity = gnome.zenity;
+      inherit zenity;
     })
   ];
 
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix b/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix
index 7bf706f83b5f9..3f949c1fea5d4 100644
--- a/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix
+++ b/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix
@@ -7,7 +7,7 @@
 , glib
 , gtk3
 , nemo
-, gnome
+, file-roller
 , cinnamon-translations
 }:
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace src/nemo-fileroller.c \
-      --replace "file-roller" "${lib.getExe gnome.file-roller}" \
+      --replace "file-roller" "${lib.getExe file-roller}" \
       --replace "GNOMELOCALEDIR" "${cinnamon-translations}/share/locale"
   '';
 
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
index a5ab9dfe9b3ec..3629b84b4a593 100644
--- a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
+++ b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
@@ -4,12 +4,12 @@ rec {
   # When you bump this, you should make sure all nemo-extensions
   # are actually using this file since we try to deal with tags
   # like nemo-fileroller-5.6.1 according to upstream's wishes.
-  version = "6.0.1";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "nemo-extensions";
     rev = version;
-    sha256 = "sha256-zuE0SO5VJ2kKjK7JgsSf+wJgfyffTHhfICslEoPKK8Q=";
+    sha256 = "sha256-qghGgd+OWYiXvcGUfgiQT6rR4mJPAOfOtYB3lWLg4iA=";
   };
 }
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index fbc12c13dce01..20c067b44ab54 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -1,4 +1,5 @@
 { fetchFromGitHub
+, fetchpatch
 , glib
 , gobject-introspection
 , meson
@@ -13,6 +14,8 @@
 , cinnamon-desktop
 , xapp
 , libexif
+, json-glib
+, gtk-layer-shell
 , exempi
 , intltool
 , shared-mime-info
@@ -22,19 +25,26 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "6.0.2";
+  version = "6.2.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vSLFp0sgqGsZtcXdv82PVH0HcBbmcxrMySLFCBrLJpA=";
+    sha256 = "sha256-afK+iJ/WUtcs8Upid4AkbAZAIs/wimHFlXm717U0LHc=";
   };
 
   patches = [
     # Load extensions from NEMO_EXTENSION_DIR environment variable
     # https://github.com/NixOS/nixpkgs/issues/78327
     ./load-extensions-from-env.patch
+
+    # Don't tie the interactive search box with the window's lifetime
+    # https://github.com/linuxmint/nemo/issues/3423
+    (fetchpatch {
+      url = "https://github.com/linuxmint/nemo/commit/055b47af0e1a830e556989372f3689bbd36b639d.patch";
+      hash = "sha256-cMtBz1uLGCV4nnrBITzXAV/SffI0nNcEdeujrHxAzQc=";
+    })
   ];
 
   outputs = [ "out" "dev" ];
@@ -49,6 +59,8 @@ stdenv.mkDerivation rec {
     exempi
     gvfs
     libgsf
+    json-glib
+    gtk-layer-shell
   ];
 
   nativeBuildInputs = [
@@ -64,6 +76,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     # use locales from cinnamon-translations
     "--localedir=${cinnamon-translations}/share/locale"
+    # enabled by default in Mint packaging (see debian/rules)
+    "-Dgtk_layer_shell=true"
   ];
 
   postInstall = ''
diff --git a/pkgs/desktops/gnome/apps/accerciser/default.nix b/pkgs/desktops/gnome/apps/accerciser/default.nix
deleted file mode 100644
index b8f5d153467e9..0000000000000
--- a/pkgs/desktops/gnome/apps/accerciser/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ lib
-, fetchurl
-, pkg-config
-, gnome
-, gtk3
-, wrapGAppsHook3
-, gobject-introspection
-, itstool
-, libxml2
-, python3
-, at-spi2-core
-, dbus
-, gettext
-, libwnck
-, adwaita-icon-theme
-, librsvg
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "accerciser";
-  version = "3.42.0";
-
-  format = "other";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "d2m9T09j3ImhQ+hs3ET+rr1/jJab6lwfWoaskxGQL0g=";
-  };
-
-  nativeBuildInputs = [
-    gettext
-    gobject-introspection # For setup hook
-    itstool
-    libxml2
-    pkg-config
-    dbus
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    adwaita-icon-theme
-    at-spi2-core
-    gtk3
-    libwnck
-    librsvg
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    ipython
-    pyatspi
-    pycairo
-    pygobject3
-    setuptools
-  ];
-
-  dontWrapGApps = true;
-
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "accerciser";
-      attrPath = "gnome.accerciser";
-      versionPolicy = "odd-unstable";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/accerciser";
-    description = "Interactive Python accessibility explorer";
-    mainProgram = "accerciser";
-    maintainers = teams.gnome.members;
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/apps/cheese/default.nix b/pkgs/desktops/gnome/apps/cheese/default.nix
deleted file mode 100644
index 9dd578438c502..0000000000000
--- a/pkgs/desktops/gnome/apps/cheese/default.nix
+++ /dev/null
@@ -1,108 +0,0 @@
-{ lib
-, stdenv
-, gettext
-, fetchurl
-, wrapGAppsHook3
-, gnome-video-effects
-, libcanberra-gtk3
-, pkg-config
-, gtk3
-, glib
-, clutter-gtk
-, clutter-gst
-, gst_all_1
-, itstool
-, vala
-, docbook_xml_dtd_43
-, docbook-xsl-nons
-, appstream-glib
-, libxslt
-, gtk-doc
-, adwaita-icon-theme
-, librsvg
-, totem
-, gdk-pixbuf
-, gnome
-, gnome-desktop
-, libxml2
-, meson
-, ninja
-, dbus
-, pipewire
-}:
-
-stdenv.mkDerivation rec {
-  pname = "cheese";
-  version = "44.1";
-
-  outputs = [ "out" "man" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/cheese/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "XyGFxMmeVN3yuLr2DIKBmVDlSVLhMuhjmHXz7cv49o4=";
-  };
-
-  nativeBuildInputs = [
-    appstream-glib
-    docbook_xml_dtd_43
-    docbook-xsl-nons
-    gettext
-    gtk-doc
-    itstool
-    libxml2
-    libxslt # for xsltproc
-    meson
-    ninja
-    pkg-config
-    vala
-    wrapGAppsHook3
-    glib # for glib-compile-schemas
-  ];
-
-  buildInputs = [
-    adwaita-icon-theme
-    clutter-gst
-    clutter-gtk
-    dbus
-    gdk-pixbuf
-    glib
-    gnome-desktop
-    gnome-video-effects
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-    gst_all_1.gstreamer
-    gtk3
-    libcanberra-gtk3
-    librsvg
-    pipewire # PipeWire provides a gstreamer plugin for using PipeWire for video
-  ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Effects
-      --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share"
-      # vp8enc preset
-      --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
-      # Thumbnailers
-      --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
-      --prefix XDG_DATA_DIRS : "${totem}/share"
-    )
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "cheese";
-      attrPath = "gnome.cheese";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/cheese";
-    description = "Take photos and videos with your webcam, with fun graphical effects";
-    mainProgram = "cheese";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/apps/file-roller/default.nix b/pkgs/desktops/gnome/apps/file-roller/default.nix
deleted file mode 100644
index d1af3b91db88c..0000000000000
--- a/pkgs/desktops/gnome/apps/file-roller/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, desktop-file-utils
-, gettext
-, glibcLocales
-, itstool
-, libxml2
-, meson
-, ninja
-, pkg-config
-, python3
-, wrapGAppsHook4
-, cpio
-, glib
-, gnome
-, gtk4
-, libadwaita
-, libhandy
-, json-glib
-, libarchive
-, libportal-gtk4
-, nautilus
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "file-roller";
-  version = "44.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/file-roller/${lib.versions.major finalAttrs.version}/file-roller-${finalAttrs.version}.tar.xz";
-    hash = "sha256-BMinRiX+yEJn/exAMGr7QQS9My2FBh4NNtSrBTOt+ko=";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    glibcLocales
-    itstool
-    libxml2
-    meson
-    ninja
-    pkg-config
-    python3
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    cpio
-    glib
-    gtk4
-    libadwaita
-    libhandy
-    json-glib
-    libarchive
-    libportal-gtk4
-    nautilus
-  ];
-
-  postPatch = ''
-    patchShebangs data/set-mime-type-entry.py
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "file-roller";
-      attrPath = "gnome.file-roller";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/file-roller";
-    description = "Archive manager for the GNOME desktop environment";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = teams.gnome.members ++ teams.pantheon.members;
-    mainProgram = "file-roller";
-  };
-})
diff --git a/pkgs/desktops/gnome/apps/ghex/default.nix b/pkgs/desktops/gnome/apps/ghex/default.nix
deleted file mode 100644
index f58ca108e9056..0000000000000
--- a/pkgs/desktops/gnome/apps/ghex/default.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, pkg-config
-, gi-docgen
-, meson
-, ninja
-, gnome
-, desktop-file-utils
-, appstream-glib
-, gettext
-, itstool
-, libxml2
-, gtk4
-, libadwaita
-, glib
-, atk
-, gobject-introspection
-, vala
-, wrapGAppsHook4
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ghex";
-  version = "46.0";
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/ghex/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-ocRvMCDLNYuDIwJds6U5yX2ZSkxG9wH0jtxjV/f7y9E=";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    itstool
-    meson
-    ninja
-    pkg-config
-    gi-docgen
-    gobject-introspection
-    vala
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gtk4
-    libadwaita
-    atk
-    glib
-  ];
-
-  nativeCheckInputs = [
-    appstream-glib
-    desktop-file-utils
-  ];
-
-  mesonFlags = [
-    "-Dgtk_doc=true"
-    "-Dvapi=true"
-  ] ++ lib.optionals stdenv.isDarwin [
-    # mremap does not exist on darwin
-    "-Dmmap-buffer-backend=false"
-  ];
-
-  postFixup = ''
-    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput "share/doc" "$devdoc"
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "ghex";
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/ghex";
-    description = "Hex editor for GNOME desktop environment";
-    mainProgram = "ghex";
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-  };
-}
diff --git a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
index 2ef940122af0a..613dbe758f24b 100644
--- a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
@@ -26,6 +26,7 @@
 , gdbm
 , cyrus_sasl
 , gnome
+, adwaita-icon-theme
 , librsvg
 , desktop-file-utils
 , mtools
@@ -90,7 +91,7 @@ stdenv.mkDerivation rec {
     glib
     glib-networking
     gmp
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gtk3
     json-glib
     libapparmor
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
deleted file mode 100644
index d56c8114bd041..0000000000000
--- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, wrapGAppsHook4
-, libgweather
-, geoclue2
-, gettext
-, libxml2
-, gnome
-, gtk4
-, evolution-data-server-gtk4
-, libical
-, libsoup_3
-, glib
-, gsettings-desktop-schemas
-, libadwaita
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-calendar";
-  version = "46.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-mGH/e4q9W3sgaQulXrdULH7FNLVmJp4ptbHoWMFhCJc=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    libxml2
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gtk4
-    evolution-data-server-gtk4
-    libical
-    libsoup_3
-    glib
-    libgweather
-    geoclue2
-    gsettings-desktop-schemas
-    libadwaita
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/Calendar/";
-    description = "Simple and beautiful calendar application for GNOME";
-    mainProgram = "gnome-calendar";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl3Plus;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/apps/gnome-notes/default.nix b/pkgs/desktops/gnome/apps/gnome-notes/default.nix
index dd474567196e0..eb3e67a47a69b 100644
--- a/pkgs/desktops/gnome/apps/gnome-notes/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-notes/default.nix
@@ -20,6 +20,7 @@
 , libhandy
 , webkitgtk
 , gnome
+, adwaita-icon-theme
 , libxml2
 , gsettings-desktop-schemas
 , tracker
@@ -74,7 +75,7 @@ stdenv.mkDerivation rec {
     gnome-online-accounts
     gsettings-desktop-schemas
     evolution-data-server
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
   ];
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome/apps/gnome-weather/default.nix b/pkgs/desktops/gnome/apps/gnome-weather/default.nix
index f614094d623bf..6f0f2e1d439c7 100644
--- a/pkgs/desktops/gnome/apps/gnome-weather/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-weather/default.nix
@@ -4,6 +4,7 @@
 , desktop-file-utils
 , pkg-config
 , gnome
+, adwaita-icon-theme
 , gtk4
 , libadwaita
 , wrapGAppsHook4
@@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
     libadwaita
     gjs
     libgweather
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     geoclue2
     gsettings-desktop-schemas
   ];
diff --git a/pkgs/desktops/gnome/apps/seahorse/default.nix b/pkgs/desktops/gnome/apps/seahorse/default.nix
deleted file mode 100644
index 4cbc455c3da94..0000000000000
--- a/pkgs/desktops/gnome/apps/seahorse/default.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-{ stdenv
-, lib
-, fetchpatch
-, fetchurl
-, vala
-, meson
-, ninja
-, libpwquality
-, pkg-config
-, gtk3
-, glib
-, glib-networking
-, wrapGAppsHook3
-, itstool
-, gnupg
-, desktop-file-utils
-, libsoup_3
-, gnome
-, gpgme
-, python3
-, openldap
-, gcr
-, libsecret
-, avahi
-, p11-kit
-, openssh
-, gsettings-desktop-schemas
-, libhandy
-}:
-
-stdenv.mkDerivation rec {
-  pname = "seahorse";
-  version = "43.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-Wx0b+6dPNlgifzyC4pbzMN0PzR70Y2tqIYIo/uXqgy0=";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "gpg-2.4.patch";
-      url = "https://gitlab.gnome.org/GNOME/seahorse/-/commit/9260c74779be3d7a378db0671af862ffa3573d42.patch";
-      hash = "sha256-4QiFgH4jC1ucmA9fFozUQZ3Mat76SgpYkMpRz80RH64=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    vala
-    itstool
-    wrapGAppsHook3
-    python3
-    openssh
-    gnupg
-    desktop-file-utils
-    gcr
-  ];
-
-  buildInputs = [
-    gtk3
-    glib
-    glib-networking
-    gcr
-    gsettings-desktop-schemas
-    gpgme
-    libsecret
-    avahi
-    libsoup_3
-    p11-kit
-    openldap
-    libpwquality
-    libhandy
-  ];
-
-  doCheck = true;
-
-  postPatch = ''
-    patchShebangs build-aux/gpg_check_version.py
-  '';
-
-  preCheck = ''
-    # Add “org.gnome.crypto.pgp” GSettings schema to path
-    # to make it available for “gpgme-backend” test.
-    # It is used by Seahorse’s internal “common” library.
-    addToSearchPath XDG_DATA_DIRS "${glib.getSchemaDataDirPath gcr}"
-    # The same test also requires home directory so that it can store settings.
-    export HOME=$TMPDIR
-  '';
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Pick up icons from Gcr
-      --prefix XDG_DATA_DIRS : "${gcr}/share"
-    )
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/seahorse";
-    description = "Application for managing encryption keys and passwords in the GnomeKeyring";
-    mainProgram = "seahorse";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/apps/vinagre/default.nix b/pkgs/desktops/gnome/apps/vinagre/default.nix
index 72c1f7b3226c3..636426ac2f37e 100644
--- a/pkgs/desktops/gnome/apps/vinagre/default.nix
+++ b/pkgs/desktops/gnome/apps/vinagre/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, gtk3, gnome, vte, libxml2, gtk-vnc, intltool
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, gtk3, gnome, adwaita-icon-theme, vte, libxml2, gtk-vnc, intltool
 , libsecret, itstool, wrapGAppsHook3, librsvg }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config intltool itstool wrapGAppsHook3 ];
   buildInputs = [
-    gtk3 vte libxml2 gtk-vnc libsecret gnome.adwaita-icon-theme librsvg
+    gtk3 vte libxml2 gtk-vnc libsecret adwaita-icon-theme librsvg
   ];
 
   env.NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral";
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     mainProgram = "vinagre";
     homepage = "https://gitlab.gnome.org/Archive/vinagre";
     license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
deleted file mode 100644
index 324d439d75897..0000000000000
--- a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gnome
-, gtk3
-, gdk-pixbuf
-, librsvg
-, hicolor-icon-theme
-}:
-
-stdenv.mkDerivation rec {
-  pname = "adwaita-icon-theme";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-S8tTm9ddZNo4XW+gjLqp3erOtqyOgrhbpsQRF79bpk4=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gtk3
-  ];
-
-  buildInputs = [
-    gdk-pixbuf
-    librsvg
-  ];
-
-  propagatedBuildInputs = [
-    # For convenience, we can specify adwaita-icon-theme only in packages
-    hicolor-icon-theme
-  ];
-
-  dontDropIconThemeCache = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "adwaita-icon-theme";
-      attrPath = "gnome.adwaita-icon-theme";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme";
-    platforms = with platforms; linux ++ darwin;
-    maintainers = teams.gnome.members;
-    license = licenses.cc-by-sa-30;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/baobab/default.nix b/pkgs/desktops/gnome/core/baobab/default.nix
deleted file mode 100644
index 3978661baabb8..0000000000000
--- a/pkgs/desktops/gnome/core/baobab/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv
-, lib
-, gettext
-, fetchurl
-, vala
-, desktop-file-utils
-, meson
-, ninja
-, pkg-config
-, gtk4
-, libadwaita
-, glib
-, libxml2
-, wrapGAppsHook4
-, itstool
-, gnome
-}:
-
-stdenv.mkDerivation rec {
-  pname = "baobab";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-zk3vXILQVnGlAJ9768+FrJhnXZ2BYNKK2RgbJppy43w=";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    glib
-    itstool
-    libxml2
-    meson
-    ninja
-    pkg-config
-    vala
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gtk4
-    libadwaita
-    glib
-  ];
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "Graphical application to analyse disk usage in any GNOME environment";
-    mainProgram = "baobab";
-    homepage = "https://apps.gnome.org/Baobab/";
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/caribou/default.nix b/pkgs/desktops/gnome/core/caribou/default.nix
index b0a74450e81c7..ff8af62727993 100644
--- a/pkgs/desktops/gnome/core/caribou/default.nix
+++ b/pkgs/desktops/gnome/core/caribou/default.nix
@@ -64,7 +64,7 @@ in stdenv.mkDerivation rec {
     mainProgram = "caribou-preferences";
     homepage = "https://gitlab.gnome.org/Archive/caribou";
     license = licenses.lgpl21;
-    maintainers = teams.gnome.members;
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/core/dconf-editor/default.nix b/pkgs/desktops/gnome/core/dconf-editor/default.nix
deleted file mode 100644
index 2b1b747a74a2c..0000000000000
--- a/pkgs/desktops/gnome/core/dconf-editor/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, desktop-file-utils
-, meson
-, ninja
-, vala
-, libxslt
-, pkg-config
-, glib
-, gtk3
-, libhandy
-, gnome
-, dconf
-, libxml2
-, gettext
-, docbook-xsl-nons
-, wrapGAppsHook3
-, gobject-introspection
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dconf-editor";
-  version = "45.0.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-EYApdnju2uYhfMUUomOMGH0vHR7ycgy5B5t0DEKZQd0=";
-  };
-
-  patches = [
-    # Fix crash with GSETTINGS_SCHEMA_DIR env var.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/dconf-editor/-/commit/baf183737d459dcde065c9f8f6fe5be7ed874de6.patch";
-      hash = "sha256-Vp0qjJChDr6IarUD+tZPLJhdI8v8r6EzWNfqFSnGvqQ=";
-    })
-
-    # Look for compiled schemas in NIX_GSETTINGS_OVERRIDES_DIR
-    # environment variable, to match what we patched GLib to do.
-    ./schema-override-variable.patch
-  ];
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    meson
-    ninja
-    vala
-    libxslt
-    pkg-config
-    wrapGAppsHook3
-    gettext
-    docbook-xsl-nons
-    libxml2
-    gobject-introspection
-  ];
-
-  buildInputs = [
-    glib
-    gtk3
-    libhandy
-    dconf
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    description = "GSettings editor for GNOME";
-    mainProgram = "dconf-editor";
-    homepage = "https://apps.gnome.org/DconfEditor/";
-    license = licenses.gpl3Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch b/pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch
deleted file mode 100644
index 06896d1aa4ee8..0000000000000
--- a/pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/editor/source-manager.vala b/editor/source-manager.vala
-index 27b2b17a..87f7ba86 100644
---- a/editor/source-manager.vala
-+++ b/editor/source-manager.vala
-@@ -121,6 +121,9 @@ private class SourceManager : Object
-             source = try_prepend_dir (source, Path.build_filename (system_data_dirs [i], "glib-2.0", "schemas"));
-         string user_data_dir = GLib.Environment.get_user_data_dir ();
-         source = try_prepend_dir (source, Path.build_filename (user_data_dir, "glib-2.0", "schemas"));
-+        string? nix_var_schema_dir = GLib.Environment.get_variable ("NIX_GSETTINGS_OVERRIDES_DIR");
-+        if (nix_var_schema_dir != null)
-+            source = try_prepend_dir (source, (!) nix_var_schema_dir);
-         string? var_schema_dir = GLib.Environment.get_variable ("GSETTINGS_SCHEMA_DIR");
-         if (var_schema_dir != null) {
-             string[] extra_schema_dirs = ((!) var_schema_dir).split (Path.SEARCHPATH_SEPARATOR_S);
diff --git a/pkgs/desktops/gnome/core/eog/default.nix b/pkgs/desktops/gnome/core/eog/default.nix
deleted file mode 100644
index b59eb108c0149..0000000000000
--- a/pkgs/desktops/gnome/core/eog/default.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, meson
-, ninja
-, gettext
-, itstool
-, pkg-config
-, libxml2
-, libjpeg
-, libpeas
-, libportal-gtk3
-, gnome
-, gtk3
-, libhandy
-, glib
-, gsettings-desktop-schemas
-, gnome-desktop
-, lcms2
-, gdk-pixbuf
-, exempi
-, shared-mime-info
-, wrapGAppsHook3
-, libjxl
-, librsvg
-, webp-pixbuf-loader
-, libheif
-, libexif
-, gobject-introspection
-, gi-docgen
-}:
-
-stdenv.mkDerivation rec {
-  pname = "eog";
-  version = "45.3";
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-hlD2YtSSHYOnkE9rucokW69zX3F7R/rFs38NkOXokag=";
-  };
-
-  patches = [
-    # Fix path to libeog.so in the gir file.
-    # We patch gobject-introspection to hardcode absolute paths but
-    # our Meson patch will only pass the info when install_dir is absolute as well.
-    ./fix-gir-lib-path.patch
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    itstool
-    wrapGAppsHook3
-    libxml2 # for xmllint for xml-stripblanks
-    gobject-introspection
-    gi-docgen
-  ];
-
-  buildInputs = [
-    libjpeg
-    libportal-gtk3
-    gtk3
-    libhandy
-    gdk-pixbuf
-    glib
-    libpeas
-    librsvg
-    lcms2
-    gnome-desktop
-    libexif
-    exempi
-    gsettings-desktop-schemas
-    shared-mime-info
-  ];
-
-  mesonFlags = [
-    "-Dgtk_doc=true"
-  ];
-
-  postInstall = ''
-    # Pull in WebP and JXL support for gnome-backgrounds.
-    # In postInstall to run before gappsWrapperArgsHook.
-    export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
-      extraLoaders = [
-        libjxl
-        librsvg
-        webp-pixbuf-loader
-        libheif.out
-      ];
-    }}"
-  '';
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Thumbnailers
-      --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
-      --prefix XDG_DATA_DIRS : "${libjxl}/share"
-      --prefix XDG_DATA_DIRS : "${librsvg}/share"
-      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
-    )
-  '';
-
-  postFixup = ''
-    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput "share/doc" "$devdoc"
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    description = "GNOME image viewer";
-    homepage = "https://gitlab.gnome.org/GNOME/eog";
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.unix;
-    mainProgram = "eog";
-  };
-}
diff --git a/pkgs/desktops/gnome/core/eog/fix-gir-lib-path.patch b/pkgs/desktops/gnome/core/eog/fix-gir-lib-path.patch
deleted file mode 100644
index eb087b58a3176..0000000000000
--- a/pkgs/desktops/gnome/core/eog/fix-gir-lib-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/meson.build b/src/meson.build
-index cc9d3856..f909836d 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -165,7 +165,7 @@ libeog = shared_library(
-   link_args: ldflags,
-   link_depends: symbol_map,
-   install: true,
--  install_dir: eog_pkglibdir,
-+  install_dir: eog_prefix / eog_pkglibdir,
- )
- 
- libeog_dep = declare_dependency(
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
deleted file mode 100644
index c4edd298aff75..0000000000000
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ lib
-, stdenv
-, meson
-, ninja
-, gettext
-, fetchurl
-, pkg-config
-, gtk4
-, glib
-, icu
-, wrapGAppsHook4
-, gnome
-, libportal-gtk4
-, libxml2
-, itstool
-, webkitgtk_6_0
-, libsoup_3
-, glib-networking
-, libsecret
-, gnome-desktop
-, libarchive
-, p11-kit
-, sqlite
-, gcr_4
-, isocodes
-, desktop-file-utils
-, nettle
-, gdk-pixbuf
-, gst_all_1
-, json-glib
-, libadwaita
-, buildPackages
-, withPantheon ? false
-, pantheon
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "epiphany";
-  version = "46.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/epiphany/${lib.versions.major finalAttrs.version}/epiphany-${finalAttrs.version}.tar.xz";
-    hash = "sha256-Jg+BRp7WR0bCsRQ/Lzi+3NloR3hlZ7CX2fcv072dsUI=";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    itstool
-    meson
-    ninja
-    pkg-config
-    wrapGAppsHook4
-    buildPackages.glib
-    buildPackages.gtk4
-  ];
-
-  buildInputs = [
-    gcr_4
-    gdk-pixbuf
-    glib
-    glib-networking
-    gnome-desktop
-    gst_all_1.gst-libav
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-    gst_all_1.gst-plugins-ugly
-    gst_all_1.gstreamer
-    gtk4
-    icu
-    isocodes
-    json-glib
-    libadwaita
-    libportal-gtk4
-    libarchive
-    libsecret
-    libsoup_3
-    libxml2
-    nettle
-    p11-kit
-    sqlite
-    webkitgtk_6_0
-  ] ++ lib.optionals withPantheon [
-    pantheon.granite7
-  ];
-
-  # Tests need an X display
-  mesonFlags = [
-    "-Dunit_tests=disabled"
-  ] ++ lib.optionals withPantheon [
-    "-Dgranite=enabled"
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "epiphany";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/Epiphany/";
-    description = "WebKit based web browser for GNOME";
-    mainProgram = "epiphany";
-    maintainers = teams.gnome.members ++ teams.pantheon.members;
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
deleted file mode 100644
index a9192f33d000a..0000000000000
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ /dev/null
@@ -1,144 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gettext
-, libxml2
-, appstream
-, desktop-file-utils
-, glib
-, gtk3
-, pango
-, atk
-, gdk-pixbuf
-, shared-mime-info
-, itstool
-, gnome
-, poppler
-, ghostscriptX
-, djvulibre
-, libspectre
-, libarchive
-, libhandy
-, libsecret
-, wrapGAppsHook3
-, librsvg
-, gobject-introspection
-, yelp-tools
-, gspell
-, gsettings-desktop-schemas
-, gnome-desktop
-, dbus
-, texlive
-, gst_all_1
-, gi-docgen
-, supportMultimedia ? true # PDF multimedia
-, libgxps
-, supportXPS ? true # Open XML Paper Specification via libgxps
-, withLibsecret ? true
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "evince";
-  version = "46.3";
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/evince/${lib.versions.major finalAttrs.version}/evince-${finalAttrs.version}.tar.xz";
-    hash = "sha256-vA0dQbnX/8di6Z0qv6+sv3RRgvCzHYbbXuyMZ/XzAGs=";
-  };
-
-  depsBuildBuild = [
-    pkg-config
-  ];
-
-  nativeBuildInputs = [
-    appstream
-    desktop-file-utils
-    gettext
-    gobject-introspection
-    gi-docgen
-    itstool
-    meson
-    ninja
-    pkg-config
-    wrapGAppsHook3
-    yelp-tools
-  ];
-
-  buildInputs = [
-    atk
-    dbus # only needed to find the service directory
-    djvulibre
-    gdk-pixbuf
-    ghostscriptX
-    glib
-    gnome-desktop
-    gsettings-desktop-schemas
-    gspell
-    gtk3
-    libarchive
-    libhandy
-    librsvg
-    libspectre
-    libxml2
-    pango
-    poppler
-    texlive.bin.core # kpathsea for DVI support
-  ] ++ lib.optionals withLibsecret [
-    libsecret
-  ] ++ lib.optionals supportXPS [
-    libgxps
-  ] ++ lib.optionals supportMultimedia (with gst_all_1; [
-    gstreamer
-    gst-plugins-base
-    gst-plugins-good
-    gst-plugins-bad
-    gst-plugins-ugly
-    gst-libav
-  ]);
-
-  mesonFlags = [
-    "-Dnautilus=false"
-    "-Dps=enabled"
-  ] ++ lib.optionals (!withLibsecret) [
-    "-Dkeyring=disabled"
-  ] ++ lib.optionals (!supportMultimedia) [
-    "-Dmultimedia=disabled"
-  ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
-  '';
-
-  postFixup = ''
-    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput "share/doc" "$devdoc"
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "evince";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/Evince/";
-    description = "GNOME's document viewer";
-
-    longDescription = ''
-      Evince is a document viewer for multiple document formats.  It
-      currently supports PDF, PostScript, DjVu, TIFF and DVI.  The goal
-      of Evince is to replace the multiple document viewers that exist
-      on the GNOME Desktop with a single simple application.
-    '';
-
-    license = licenses.gpl2Plus;
-    platforms = platforms.unix;
-    mainProgram = "evince";
-    maintainers = teams.gnome.members ++ teams.pantheon.members;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
deleted file mode 100644
index d774ea2f26853..0000000000000
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ /dev/null
@@ -1,189 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, substituteAll
-, pkg-config
-, gnome
-, _experimental-update-script-combinators
-, python3
-, gobject-introspection
-, gettext
-, libsoup_3
-, libxml2
-, libsecret
-, icu
-, sqlite
-, tzdata
-, libcanberra-gtk3
-, p11-kit
-, db
-, nspr
-, nss
-, libical
-, gperf
-, wrapGAppsHook3
-, glib-networking
-, gsettings-desktop-schemas
-, pcre
-, vala
-, cmake
-, ninja
-, libkrb5
-, openldap
-, enableOAuth2 ? stdenv.isLinux
-, webkitgtk_4_1
-, webkitgtk_6_0
-, json-glib
-, glib
-, gtk3
-, gtk4
-, withGtk3 ? true
-, withGtk4 ? false
-, libphonenumber
-, gnome-online-accounts
-, libgweather
-, boost
-, protobuf
-, libiconv
-, makeHardcodeGsettingsPatch
-}:
-
-stdenv.mkDerivation rec {
-  pname = "evolution-data-server";
-  version = "3.52.2";
-
-  outputs = [ "out" "dev" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-oAakTtyzjSb/scYuHV0KMdHy5ZB1Vl4mx5ou4BxFp+U=";
-  };
-
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit tzdata;
-    })
-
-    # Avoid using wrapper function, which the hardcode gsettings
-    # patch generator cannot handle.
-    ./drop-tentative-settings-constructor.patch
-  ];
-
-  prePatch = ''
-    substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch \
-      --subst-var-by EDS ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
-      --subst-var-by GDS ${glib.getSchemaPath gsettings-desktop-schemas}
-    patches="$patches $PWD/hardcode-gsettings.patch"
-  '';
-
-  nativeBuildInputs = [
-    cmake
-    ninja
-    pkg-config
-    gettext
-    python3
-    gperf
-    wrapGAppsHook3
-    gobject-introspection
-    vala
-  ];
-
-  buildInputs = [
-    glib
-    libsecret
-    libsoup_3
-    gnome-online-accounts
-    p11-kit
-    libgweather
-    icu
-    sqlite
-    libkrb5
-    openldap
-    glib-networking
-    libcanberra-gtk3
-    pcre
-    libphonenumber
-    boost
-    protobuf
-  ] ++ lib.optionals stdenv.isDarwin [
-    libiconv
-  ] ++ lib.optionals withGtk3 [
-    gtk3
-  ] ++ lib.optionals (withGtk3 && enableOAuth2) [
-    webkitgtk_4_1
-  ] ++ lib.optionals withGtk4 [
-    gtk4
-  ] ++ lib.optionals (withGtk4 && enableOAuth2) [
-    webkitgtk_6_0
-  ];
-
-  propagatedBuildInputs = [
-    db
-    nss
-    nspr
-    libical
-    libsoup_3
-    libxml2
-    json-glib
-  ];
-
-  cmakeFlags = [
-    "-DENABLE_UOA=OFF"
-    "-DENABLE_VALA_BINDINGS=ON"
-    "-DENABLE_INTROSPECTION=ON"
-    "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
-    "-DWITH_PHONENUMBER=ON"
-    "-DENABLE_GTK=${lib.boolToString withGtk3}"
-    "-DENABLE_EXAMPLES=${lib.boolToString withGtk3}"
-    "-DENABLE_CANBERRA=${lib.boolToString withGtk3}"
-    "-DENABLE_GTK4=${lib.boolToString withGtk4}"
-    "-DENABLE_OAUTH2_WEBKITGTK=${lib.boolToString (withGtk3 && enableOAuth2)}"
-    "-DENABLE_OAUTH2_WEBKITGTK4=${lib.boolToString (withGtk4 && enableOAuth2)}"
-  ];
-
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/modules/SetupBuildFlags.cmake \
-      --replace "-Wl,--no-undefined" ""
-    substituteInPlace src/services/evolution-alarm-notify/e-alarm-notify.c \
-      --replace "G_OS_WIN32" "__APPLE__"
-  '';
-
-  postInstall = lib.optionalString stdenv.isDarwin ''
-    ln -s $out/lib/${pname}/*.dylib $out/lib/
-  '';
-
-  passthru = {
-    hardcodeGsettingsPatch = makeHardcodeGsettingsPatch {
-      schemaIdToVariableMapping = {
-        "org.gnome.Evolution.DefaultSources" = "EDS";
-        "org.gnome.evolution.shell.network-config" = "EDS";
-        "org.gnome.evolution-data-server.addressbook" = "EDS";
-        "org.gnome.evolution-data-server.calendar" = "EDS";
-        "org.gnome.evolution-data-server" = "EDS";
-        "org.gnome.desktop.interface" = "GDS";
-      };
-      inherit src patches;
-    };
-    updateScript =
-      let
-        updateSource = gnome.updateScript {
-          packageName = "evolution-data-server";
-          versionPolicy = "odd-unstable";
-        };
-        updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-data-server.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
-      in
-      _experimental-update-script-combinators.sequence [
-        updateSource
-        updatePatch
-      ];
-  };
-
-  meta = with lib; {
-    description = "Unified backend for programs that work with contacts, tasks, and calendar information";
-    homepage = "https://gitlab.gnome.org/GNOME/evolution-data-server";
-    license = licenses.lgpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/drop-tentative-settings-constructor.patch b/pkgs/desktops/gnome/core/evolution-data-server/drop-tentative-settings-constructor.patch
deleted file mode 100644
index a86d1966eb6bc..0000000000000
--- a/pkgs/desktops/gnome/core/evolution-data-server/drop-tentative-settings-constructor.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
-index f1614f2..c01e8b2 100644
---- a/src/calendar/libecal/e-reminder-watcher.c
-+++ b/src/calendar/libecal/e-reminder-watcher.c
-@@ -2609,26 +2609,6 @@ e_reminder_watcher_load_clock_format (EReminderWatcher *watcher)
- 	g_free (clock_format);
- }
- 
--static GSettings*
--e_reminder_watcher_load_settings_tentative (const gchar *schema_id)
--{
--	GSettings *settings;
--	GSettingsSchemaSource *schema_source;
--	GSettingsSchema *schema;
--
--	schema_source = g_settings_schema_source_get_default ();
--	schema = g_settings_schema_source_lookup (schema_source, schema_id, TRUE);
--
--	if (schema == NULL) {
--		return NULL;
--	}
--
--	settings = g_settings_new (schema_id);
--	/* only unref after g_settings_new() to avoid needless realloc */
--	g_settings_schema_unref (schema);
--	return settings;
--}
--
- static void
- e_reminder_watcher_init (EReminderWatcher *watcher)
- {
-@@ -2647,7 +2627,7 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
- 	watcher->priv = e_reminder_watcher_get_instance_private (watcher);
- 	watcher->priv->cancellable = g_cancellable_new ();
- 	watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
--	watcher->priv->desktop_settings = e_reminder_watcher_load_settings_tentative ("org.gnome.desktop.interface");
-+	watcher->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
- 	if (watcher->priv->desktop_settings) {
- 		g_signal_connect_object (
- 			watcher->priv->desktop_settings,
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch b/pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch
deleted file mode 100644
index 334235516591f..0000000000000
--- a/pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/calendar/libecal/e-cal-system-timezone.c
-+++ b/src/calendar/libecal/e-cal-system-timezone.c
-@@ -26,7 +26,7 @@
- #ifdef HAVE_SOLARIS
- #define SYSTEM_ZONEINFODIR "/usr/share/lib/zoneinfo/tab"
- #else
--#define SYSTEM_ZONEINFODIR "/usr/share/zoneinfo"
-+#define SYSTEM_ZONEINFODIR "@tzdata@/share/zoneinfo"
- #endif
- 
- #define ETC_TIMEZONE        "/etc/timezone"
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
deleted file mode 100644
index 140e124fe4bbb..0000000000000
--- a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
+++ /dev/null
@@ -1,652 +0,0 @@
-diff --git a/src/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c
-index 5e65ec8..8ca28c6 100644
---- a/src/addressbook/libebook/e-book-client.c
-+++ b/src/addressbook/libebook/e-book-client.c
-@@ -1924,7 +1924,18 @@ e_book_client_get_self (ESourceRegistry *registry,
- 
- 	*out_client = book_client;
- 
--	settings = g_settings_new (SELF_UID_PATH_ID);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 SELF_UID_PATH_ID,
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	uid = g_settings_get_string (settings, SELF_UID_KEY);
- 	g_object_unref (settings);
- 
-@@ -1992,7 +2003,18 @@ e_book_client_set_self (EBookClient *client,
- 	g_return_val_if_fail (
- 		e_contact_get_const (contact, E_CONTACT_UID) != NULL, FALSE);
- 
--	settings = g_settings_new (SELF_UID_PATH_ID);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 SELF_UID_PATH_ID,
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	g_settings_set_string (
- 		settings, SELF_UID_KEY,
- 		e_contact_get_const (contact, E_CONTACT_UID));
-@@ -2028,8 +2050,18 @@ e_book_client_is_self (EContact *contact)
- 	 * unfortunately the API doesn't allow that.
- 	 */
- 	g_mutex_lock (&mutex);
--	if (!settings)
--		settings = g_settings_new (SELF_UID_PATH_ID);
-+	if (!settings) {
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 SELF_UID_PATH_ID,
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	uid = g_settings_get_string (settings, SELF_UID_KEY);
- 	g_mutex_unlock (&mutex);
- 
-diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c
-index e85a56b..59d3fe2 100644
---- a/src/addressbook/libebook/e-book.c
-+++ b/src/addressbook/libebook/e-book.c
-@@ -2587,7 +2587,18 @@ e_book_get_self (ESourceRegistry *registry,
- 		return FALSE;
- 	}
- 
--	settings = g_settings_new (SELF_UID_PATH_ID);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 SELF_UID_PATH_ID,
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	uid = g_settings_get_string (settings, SELF_UID_KEY);
- 	g_object_unref (settings);
- 
-@@ -2642,7 +2653,18 @@ e_book_set_self (EBook *book,
- 	g_return_val_if_fail (E_IS_BOOK (book), FALSE);
- 	g_return_val_if_fail (E_IS_CONTACT (contact), FALSE);
- 
--	settings = g_settings_new (SELF_UID_PATH_ID);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 SELF_UID_PATH_ID,
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	g_settings_set_string (
- 		settings, SELF_UID_KEY,
- 		e_contact_get_const (contact, E_CONTACT_UID));
-@@ -2670,7 +2692,18 @@ e_book_is_self (EContact *contact)
- 
- 	g_return_val_if_fail (E_IS_CONTACT (contact), FALSE);
- 
--	settings = g_settings_new (SELF_UID_PATH_ID);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 SELF_UID_PATH_ID,
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	uid = g_settings_get_string (settings, SELF_UID_KEY);
- 	g_object_unref (settings);
- 
-diff --git a/src/addressbook/libedata-book/e-book-meta-backend.c b/src/addressbook/libedata-book/e-book-meta-backend.c
-index 5b4debf..77c8d9c 100644
---- a/src/addressbook/libedata-book/e-book-meta-backend.c
-+++ b/src/addressbook/libedata-book/e-book-meta-backend.c
-@@ -144,7 +144,18 @@ ebmb_is_power_saver_enabled (void)
- 	GSettings *settings;
- 	gboolean enabled = FALSE;
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 
- 	if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
- 		GPowerProfileMonitor *power_monitor;
-diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c
-index 43bd383..4dce824 100644
---- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
-+++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
-@@ -1369,7 +1369,18 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
- 		(GDestroyNotify) g_free,
- 		(GDestroyNotify) contact_record_free);
- 
--	cbc->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server.calendar",
-+							 FALSE);
-+		cbc->priv->settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	cbc->priv->notifyid = 0;
- 	cbc->priv->update_alarms_id = 0;
- 	cbc->priv->alarm_enabled = FALSE;
-diff --git a/src/calendar/backends/file/e-cal-backend-file.c b/src/calendar/backends/file/e-cal-backend-file.c
-index 2525856..7ecc1a8 100644
---- a/src/calendar/backends/file/e-cal-backend-file.c
-+++ b/src/calendar/backends/file/e-cal-backend-file.c
-@@ -3682,7 +3682,20 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
- 			if (is_declined) {
- 				GSettings *settings;
- 
--				settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
-+				{
-+					g_autoptr(GSettingsSchemaSource) schema_source;
-+					g_autoptr(GSettingsSchema) schema;
-+					schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+												    g_settings_schema_source_get_default(),
-+												    TRUE,
-+												    NULL);
-+					schema = g_settings_schema_source_lookup(schema_source,
-+										 "org.gnome.evolution-data-server.calendar",
-+										 FALSE);
-+					settings = g_settings_new_full(schema,
-+								       NULL,
-+								       NULL);
-+				}
- 				can_delete = g_settings_get_boolean (settings, "delete-meeting-on-decline");
- 				g_clear_object (&settings);
- 			}
-diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
-index 44ba49c..dfac2a2 100644
---- a/src/calendar/libecal/e-reminder-watcher.c
-+++ b/src/calendar/libecal/e-reminder-watcher.c
-@@ -2826,8 +2826,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
- 
- 	watcher->priv = e_reminder_watcher_get_instance_private (watcher);
- 	watcher->priv->cancellable = g_cancellable_new ();
--	watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
--	watcher->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server.calendar",
-+							 FALSE);
-+		watcher->priv->settings = g_settings_new_full(schema, NULL,
-+							      NULL);
-+	}
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@GDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.desktop.interface",
-+							 FALSE);
-+		watcher->priv->desktop_settings = g_settings_new_full(schema,
-+								      NULL,
-+								      NULL);
-+	}
- 	if (watcher->priv->desktop_settings) {
- 		g_signal_connect_object (
- 			watcher->priv->desktop_settings,
-diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
-index e0e9169..a44f52c 100644
---- a/src/calendar/libedata-cal/e-cal-meta-backend.c
-+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
-@@ -156,7 +156,18 @@ ecmb_is_power_saver_enabled (void)
- 	GSettings *settings;
- 	gboolean enabled = FALSE;
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 
- 	if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
- 		GPowerProfileMonitor *power_monitor;
-@@ -2627,7 +2638,20 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
- 			if (is_declined) {
- 				GSettings *settings;
- 
--				settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
-+				{
-+					g_autoptr(GSettingsSchemaSource) schema_source;
-+					g_autoptr(GSettingsSchema) schema;
-+					schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+												    g_settings_schema_source_get_default(),
-+												    TRUE,
-+												    NULL);
-+					schema = g_settings_schema_source_lookup(schema_source,
-+										 "org.gnome.evolution-data-server.calendar",
-+										 FALSE);
-+					settings = g_settings_new_full(schema,
-+								       NULL,
-+								       NULL);
-+				}
- 				is_declined = g_settings_get_boolean (settings, "delete-meeting-on-decline");
- 				g_clear_object (&settings);
- 			}
-diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
-index d5a0823..2ae03f8 100644
---- a/src/camel/camel-cipher-context.c
-+++ b/src/camel/camel-cipher-context.c
-@@ -1631,7 +1631,18 @@ camel_cipher_can_load_photos (void)
- 	GSettings *settings;
- 	gboolean load_photos;
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	load_photos = g_settings_get_boolean (settings, "camel-cipher-load-photos");
- 	g_clear_object (&settings);
- 
-diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
-index cceba4a..d3c4da6 100644
---- a/src/camel/camel-gpg-context.c
-+++ b/src/camel/camel-gpg-context.c
-@@ -747,7 +747,18 @@ gpg_ctx_get_executable_name (void)
- 		GSettings *settings;
- 		gchar *path;
- 
--		settings = g_settings_new ("org.gnome.evolution-data-server");
-+		{
-+			g_autoptr(GSettingsSchemaSource) schema_source;
-+			g_autoptr(GSettingsSchema) schema;
-+			schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+										    g_settings_schema_source_get_default(),
-+										    TRUE,
-+										    NULL);
-+			schema = g_settings_schema_source_lookup(schema_source,
-+								 "org.gnome.evolution-data-server",
-+								 FALSE);
-+			settings = g_settings_new_full(schema, NULL, NULL);
-+		}
- 		path = g_settings_get_string (settings, "camel-gpg-binary");
- 		g_clear_object (&settings);
- 
-diff --git a/src/camel/camel-utils.c b/src/camel/camel-utils.c
-index e61160c..b6553a4 100644
---- a/src/camel/camel-utils.c
-+++ b/src/camel/camel-utils.c
-@@ -362,7 +362,19 @@ void
- _camel_utils_initialize (void)
- {
- 	G_LOCK (mi_user_headers);
--	mi_user_headers_settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		mi_user_headers_settings = g_settings_new_full(schema, NULL,
-+							       NULL);
-+	}
- 	g_signal_connect (mi_user_headers_settings, "changed::camel-message-info-user-headers",
- 		G_CALLBACK (mi_user_headers_settings_changed_cb), NULL);
- 	G_UNLOCK (mi_user_headers);
-diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
-index 56429a9..a9cc62c 100644
---- a/src/camel/providers/imapx/camel-imapx-server.c
-+++ b/src/camel/providers/imapx/camel-imapx-server.c
-@@ -5682,7 +5682,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
- 	if (do_old_flags_update) {
- 		GSettings *eds_settings;
- 
--		eds_settings = g_settings_new ("org.gnome.evolution-data-server");
-+		{
-+			g_autoptr(GSettingsSchemaSource) schema_source;
-+			g_autoptr(GSettingsSchema) schema;
-+			schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+										    g_settings_schema_source_get_default(),
-+										    TRUE,
-+										    NULL);
-+			schema = g_settings_schema_source_lookup(schema_source,
-+								 "org.gnome.evolution-data-server",
-+								 FALSE);
-+			eds_settings = g_settings_new_full(schema, NULL, NULL);
-+		}
- 
- 		if (g_settings_get_boolean (eds_settings, "limit-operations-in-power-saver-mode")) {
- 			GPowerProfileMonitor *power_monitor;
-diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
-index 6556f1e..90f0a5e 100644
---- a/src/camel/providers/smtp/camel-smtp-transport.c
-+++ b/src/camel/providers/smtp/camel-smtp-transport.c
-@@ -1471,7 +1471,18 @@ smtp_helo (CamelSmtpTransport *transport,
- 		transport->authtypes = NULL;
- 	}
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	name = g_settings_get_string (settings, "camel-smtp-helo-argument");
- 	g_clear_object (&settings);
- 
-diff --git a/src/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c
-index 188f276..939f89b 100644
---- a/src/libedataserver/e-network-monitor.c
-+++ b/src/libedataserver/e-network-monitor.c
-@@ -256,7 +256,18 @@ e_network_monitor_constructed (GObject *object)
- 	/* Chain up to parent's method. */
- 	G_OBJECT_CLASS (e_network_monitor_parent_class)->constructed (object);
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	g_settings_bind (
- 		settings, "network-monitor-gio-name",
- 		object, "gio-name",
-diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c
-index 1453410..a3f06b0 100644
---- a/src/libedataserver/e-oauth2-service-google.c
-+++ b/src/libedataserver/e-oauth2-service-google.c
-@@ -72,7 +72,18 @@ eos_google_read_settings (EOAuth2Service *service,
- 	if (!value) {
- 		GSettings *settings;
- 
--		settings = g_settings_new ("org.gnome.evolution-data-server");
-+		{
-+			g_autoptr(GSettingsSchemaSource) schema_source;
-+			g_autoptr(GSettingsSchema) schema;
-+			schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+										    g_settings_schema_source_get_default(),
-+										    TRUE,
-+										    NULL);
-+			schema = g_settings_schema_source_lookup(schema_source,
-+								 "org.gnome.evolution-data-server",
-+								 FALSE);
-+			settings = g_settings_new_full(schema, NULL, NULL);
-+		}
- 		value = g_settings_get_string (settings, key_name);
- 		g_object_unref (settings);
- 
-diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c
-index 734f194..5b05077 100644
---- a/src/libedataserver/e-oauth2-service-outlook.c
-+++ b/src/libedataserver/e-oauth2-service-outlook.c
-@@ -75,7 +75,18 @@ eos_outlook_read_settings (EOAuth2Service *service,
- 	if (!value) {
- 		GSettings *settings;
- 
--		settings = g_settings_new ("org.gnome.evolution-data-server");
-+		{
-+			g_autoptr(GSettingsSchemaSource) schema_source;
-+			g_autoptr(GSettingsSchema) schema;
-+			schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+										    g_settings_schema_source_get_default(),
-+										    TRUE,
-+										    NULL);
-+			schema = g_settings_schema_source_lookup(schema_source,
-+								 "org.gnome.evolution-data-server",
-+								 FALSE);
-+			settings = g_settings_new_full(schema, NULL, NULL);
-+		}
- 		value = g_settings_get_string (settings, key_name);
- 		g_object_unref (settings);
- 
-diff --git a/src/libedataserver/e-oauth2-service-yahoo.c b/src/libedataserver/e-oauth2-service-yahoo.c
-index c8bbd3a..e71e36a 100644
---- a/src/libedataserver/e-oauth2-service-yahoo.c
-+++ b/src/libedataserver/e-oauth2-service-yahoo.c
-@@ -67,7 +67,18 @@ eos_yahoo_read_settings (EOAuth2Service *service,
- 	if (!value) {
- 		GSettings *settings;
- 
--		settings = g_settings_new ("org.gnome.evolution-data-server");
-+		{
-+			g_autoptr(GSettingsSchemaSource) schema_source;
-+			g_autoptr(GSettingsSchema) schema;
-+			schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+										    g_settings_schema_source_get_default(),
-+										    TRUE,
-+										    NULL);
-+			schema = g_settings_schema_source_lookup(schema_source,
-+								 "org.gnome.evolution-data-server",
-+								 FALSE);
-+			settings = g_settings_new_full(schema, NULL, NULL);
-+		}
- 		value = g_settings_get_string (settings, key_name);
- 		g_object_unref (settings);
- 
-diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
-index af59b0b..0c7e75e 100644
---- a/src/libedataserver/e-oauth2-service.c
-+++ b/src/libedataserver/e-oauth2-service.c
-@@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
- 	name_len = strlen (name);
- 	hostname_len = strlen (hostname);
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 	values = g_settings_get_strv (settings, "oauth2-services-hint");
- 	g_object_unref (settings);
- 
-diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
-index 1539f8b..77cf123 100644
---- a/src/libedataserver/e-source-registry.c
-+++ b/src/libedataserver/e-source-registry.c
-@@ -1754,7 +1754,19 @@ e_source_registry_init (ESourceRegistry *registry)
- 
- 	g_mutex_init (&registry->priv->sources_lock);
- 
--	registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 GSETTINGS_SCHEMA,
-+							 FALSE);
-+		registry->priv->settings = g_settings_new_full(schema, NULL,
-+							       NULL);
-+	}
- 
- 	g_signal_connect (
- 		registry->priv->settings, "changed",
-diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c
-index 14b6481..7149b74 100644
---- a/src/libedataserverui/e-reminders-widget.c
-+++ b/src/libedataserverui/e-reminders-widget.c
-@@ -1986,7 +1986,19 @@ static void
- e_reminders_widget_init (ERemindersWidget *reminders)
- {
- 	reminders->priv = e_reminders_widget_get_instance_private (reminders);
--	reminders->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server.calendar",
-+							 FALSE);
-+		reminders->priv->settings = g_settings_new_full(schema, NULL,
-+								NULL);
-+	}
- 	reminders->priv->cancellable = g_cancellable_new ();
- 	reminders->priv->is_empty = TRUE;
- 	reminders->priv->is_mapped = FALSE;
-diff --git a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
-index 6f03053..b5db6b2 100644
---- a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
-+++ b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
-@@ -706,7 +706,18 @@ evolution_source_registry_merge_autoconfig_sources (ESourceRegistryServer *serve
- 	gchar *autoconfig_directory;
- 	gint ii;
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 
- 	autoconfig_sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_autoconfig_free_merge_source_data);
- 
-diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
-index d531cb9..c96f1d5 100644
---- a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
-+++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
-@@ -61,7 +61,18 @@ evolution_source_registry_migrate_proxies (ESourceRegistryServer *server)
- 	extension_name = E_SOURCE_EXTENSION_PROXY;
- 	extension = e_source_get_extension (source, extension_name);
- 
--	settings = g_settings_new (NETWORK_CONFIG_SCHEMA_ID);
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+			schema = g_settings_schema_source_lookup(schema_source,
-+								 NETWORK_CONFIG_SCHEMA_ID,
-+								 FALSE);
-+			settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 
- 	switch (g_settings_get_int (settings, "proxy-type")) {
- 		case 1:
-diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c
-index 1c0a113..6b41423 100644
---- a/src/services/evolution-source-registry/evolution-source-registry.c
-+++ b/src/services/evolution-source-registry/evolution-source-registry.c
-@@ -181,7 +181,18 @@ main (gint argc,
- 
- reload:
- 
--	settings = g_settings_new ("org.gnome.evolution-data-server");
-+	{
-+		g_autoptr(GSettingsSchemaSource) schema_source;
-+		g_autoptr(GSettingsSchema) schema;
-+		schema_source = g_settings_schema_source_new_from_directory("@EDS@",
-+									    g_settings_schema_source_get_default(),
-+									    TRUE,
-+									    NULL);
-+		schema = g_settings_schema_source_lookup(schema_source,
-+							 "org.gnome.evolution-data-server",
-+							 FALSE);
-+		settings = g_settings_new_full(schema, NULL, NULL);
-+	}
- 
- 	if (!opt_disable_migration && !g_settings_get_boolean (settings, "migrated")) {
- 		g_settings_set_boolean (settings, "migrated", TRUE);
diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix
index 526363a613938..6c63a486eef76 100644
--- a/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , fetchpatch
 , gnome
+, adwaita-icon-theme
 , meson
 , ninja
 , pkg-config
@@ -65,7 +66,7 @@ stdenv.mkDerivation rec {
     udev
     libnotify
     libcanberra-gtk3
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gsettings-desktop-schemas
   ];
 
@@ -91,7 +92,7 @@ stdenv.mkDerivation rec {
     homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en";
     description = "Application that let you manage Bluetooth in the GNOME destkop";
     mainProgram = "bluetooth-sendto";
-    maintainers = teams.gnome.members;
+    maintainers = [ ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome/core/gnome-calculator/default.nix b/pkgs/desktops/gnome/core/gnome-calculator/default.nix
deleted file mode 100644
index 3b666976681e2..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-calculator/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ stdenv
-, lib
-, appstream
-, meson
-, ninja
-, vala
-, gettext
-, itstool
-, fetchurl
-, pkg-config
-, libxml2
-, gtk4
-, glib
-, gtksourceview5
-, wrapGAppsHook4
-, gnome
-, mpfr
-, gmp
-, libsoup_3
-, libmpc
-, libadwaita
-, gsettings-desktop-schemas
-, libgee
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-calculator";
-  version = "46.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-LTZ1CnOJAIYSLPPwyD5oUXiRWFYVFlMG+hWWqRhmgkc=";
-  };
-
-  nativeBuildInputs = [
-    appstream
-    meson
-    ninja
-    pkg-config
-    vala
-    gettext
-    itstool
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gtk4
-    glib
-    libxml2
-    gtksourceview5
-    mpfr
-    gmp
-    libgee
-    gsettings-desktop-schemas
-    libsoup_3
-    libmpc
-    libadwaita
-  ];
-
-  doCheck = true;
-
-  preCheck = ''
-    # Currency conversion test tries to store currency data in $HOME/.cache.
-    export HOME=$TMPDIR
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-calculator";
-      attrPath = "gnome.gnome-calculator";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/Calculator/";
-    description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl3Plus;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-common/default.nix b/pkgs/desktops/gnome/core/gnome-common/default.nix
deleted file mode 100644
index a9d28fcd4cfce..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-common/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, which, gnome, autoconf, automake }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-common";
-  version = "3.18.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-common/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf";
-  };
-
-  passthru = {
-    updateScript = gnome.updateScript { packageName = "gnome-common"; attrPath = "gnome.gnome-common"; };
-  };
-
-  propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome-common tends to require which
-
-  meta = with lib; {
-    maintainers = teams.gnome.members;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome/core/gnome-dictionary/default.nix
deleted file mode 100644
index 0fed6638f97e7..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-dictionary/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, desktop-file-utils
-, appstream-glib
-, libxslt
-, libxml2
-, gettext
-, itstool
-, wrapGAppsHook3
-, docbook_xsl
-, docbook_xml_dtd_43
-, gnome
-, gtk3
-, glib
-, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-dictionary";
-  version = "40.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-dictionary/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f";
-  };
-
-  patches = [
-    # Fix test dependencies with meson 0.57, can be removed on next bump
-    # We need to explicitly depend on the generated files.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/Archive/gnome-dictionary/-/commit/87c026cfe4acbcfc62d15950f88a71d8d9678c7e.patch";
-      sha256 = "tKesWeOK3OqOxrXm4dZvCZHHdTD7AQbYDjtYDCsLd3A=";
-    })
-    # Fix build with meson 0.61, can be removed on next bump
-    # data/appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/Archive/gnome-dictionary/-/commit/cf3f8a67cd6f3059c555ed9cf0f5fba10abb7f68.patch";
-      sha256 = "cIRM6ACqsnEo2JWYvr6EBye5o0BudugZMShCe1U5hz8=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    wrapGAppsHook3
-    libxml2
-    gettext
-    itstool
-    desktop-file-utils
-    appstream-glib
-    libxslt
-    docbook_xsl
-    docbook_xml_dtd_43
-  ];
-
-  buildInputs = [
-    gtk3
-    glib
-    gsettings-desktop-schemas
-    gnome.adwaita-icon-theme
-  ];
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-dictionary";
-      attrPath = "gnome.gnome-dictionary";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/Archive/gnome-dictionary";
-    description = "Dictionary is the GNOME application to look up definitions";
-    mainProgram = "gnome-dictionary";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
deleted file mode 100644
index 536e71f630ee9..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib
-, stdenv
-, gettext
-, fetchurl
-, pkg-config
-, udisks2
-, libhandy
-, libsecret
-, libdvdread
-, meson
-, ninja
-, gtk3
-, glib
-, wrapGAppsHook3
-, libnotify
-, itstool
-, gnome
-, libxml2
-, gsettings-desktop-schemas
-, libcanberra-gtk3
-, libxslt
-, docbook-xsl-nons
-, desktop-file-utils
-, libpwquality
-, systemd
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-disk-utility";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-RkZJFIxtZ3HxrC6/5DpOUZIFsRwtkUoJ8qABgh0GlX0=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    itstool
-    libxslt
-    docbook-xsl-nons
-    desktop-file-utils
-    wrapGAppsHook3
-    libxml2
-  ];
-
-  buildInputs = [
-    gtk3
-    glib
-    libhandy
-    libsecret
-    libpwquality
-    libnotify
-    libdvdread
-    libcanberra-gtk3
-    udisks2
-    gnome.adwaita-icon-theme
-    systemd
-    gnome.gnome-settings-daemon
-    gsettings-desktop-schemas
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-disk-utility";
-      attrPath = "gnome.gnome-disk-utility";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/DiskUtility/";
-    description = "Udisks graphical front-end";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    mainProgram = "gnome-disks";
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix
deleted file mode 100644
index 5a0f8d82cb535..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib
-, stdenv
-, meson
-, ninja
-, gettext
-, fetchurl
-, pkg-config
-, gtk4
-, glib
-, libxml2
-, gnome-desktop
-, libadwaita
-, fribidi
-, wrapGAppsHook4
-, gnome
-, harfbuzz
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-font-viewer";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-font-viewer/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-WS9AHkhdAswETUh7tcjgTJYdpoViFnaKWfH/mL0tU3w=";
-  };
-
-  doCheck = true;
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    wrapGAppsHook4
-    libxml2
-    glib
-  ];
-
-  buildInputs = [
-    gtk4
-    glib
-    gnome-desktop
-    harfbuzz
-    libadwaita
-    fribidi
-  ];
-
-  # Do not run meson-postinstall.sh
-  preConfigure = "sed -i '2,$ d'  meson-postinstall.sh";
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-font-viewer";
-      attrPath = "gnome.gnome-font-viewer";
-    };
-  };
-
-  meta = with lib; {
-    description = "Program that can preview fonts and create thumbnails for fonts";
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-font-viewer";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-keyring/default.nix b/pkgs/desktops/gnome/core/gnome-keyring/default.nix
deleted file mode 100644
index d8a455b0b9faa..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-keyring/default.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, pkg-config
-, dbus
-, libgcrypt
-, pam
-, python3
-, glib
-, libxslt
-, gettext
-, gcr
-, libcap_ng
-, libselinux
-, p11-kit
-, openssh
-, wrapGAppsHook3
-, docbook-xsl-nons
-, docbook_xml_dtd_43
-, gnome
-, useWrappedDaemon ? true
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-keyring";
-  version = "46.1";
-
-  outputs = [ "out" "dev" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-keyring/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-sdOukTL/L4s/JaGQeQiSlo49Cs+VKkh+QPZEqFUM4/Y=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    gettext
-    libxslt
-    docbook-xsl-nons
-    docbook_xml_dtd_43
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    glib
-    libgcrypt
-    pam
-    openssh
-    libcap_ng
-    libselinux
-    gcr
-    p11-kit
-  ];
-
-  nativeCheckInputs = [ dbus python3 ];
-
-  configureFlags = [
-    "--with-pkcs11-config=${placeholder "out"}/etc/pkcs11/" # installation directories
-    "--with-pkcs11-modules=${placeholder "out"}/lib/pkcs11/"
-    # gnome-keyring doesn't build with ssh-agent by default anymore, we need to
-    # switch to using gcr https://github.com/NixOS/nixpkgs/issues/140824
-    "--enable-ssh-agent"
-    # cross compilation requires these paths to be explicitly declared:
-    "LIBGCRYPT_CONFIG=${lib.getExe' (lib.getDev libgcrypt) "libgcrypt-config"}"
-    "SSH_ADD=${lib.getExe' openssh "ssh-add"}"
-    "SSH_AGENT=${lib.getExe' openssh "ssh-agent"}"
-  ];
-
-  # Tends to fail non-deterministically.
-  # - https://github.com/NixOS/nixpkgs/issues/55293
-  # - https://github.com/NixOS/nixpkgs/issues/51121
-  doCheck = false;
-
-  postPatch = ''
-    patchShebangs build
-  '';
-
-  checkPhase = ''
-    export HOME=$(mktemp -d)
-    dbus-run-session \
-      --config-file=${dbus}/share/dbus-1/session.conf \
-      make check
-  '';
-
-  # Use wrapped gnome-keyring-daemon with cap_ipc_lock=ep
-  postFixup = lib.optionalString useWrappedDaemon ''
-    files=($out/etc/xdg/autostart/* $out/share/dbus-1/services/*)
-
-    for file in ''${files[*]}; do
-      substituteInPlace $file \
-        --replace "$out/bin/gnome-keyring-daemon" "/run/wrappers/bin/gnome-keyring-daemon"
-    done
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-keyring";
-      attrPath = "gnome.gnome-keyring";
-    };
-  };
-
-  meta = with lib; {
-    description = "Collection of components in GNOME that store secrets, passwords, keys, certificates and make them available to applications";
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-keyring";
-    license = licenses.gpl2;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome/core/gnome-screenshot/default.nix
deleted file mode 100644
index b8fa9a9f0c29e..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-screenshot/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv
-, lib
-, gettext
-, libxml2
-, libhandy
-, fetchurl
-, fetchpatch
-, pkg-config
-, libcanberra-gtk3
-, gtk3
-, glib
-, meson
-, ninja
-, python3
-, wrapGAppsHook3
-, appstream-glib
-, desktop-file-utils
-, gnome
-, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-screenshot";
-  version = "41.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Stt97JJkKPdCY9V5ZnPPFC5HILbnaPVGio0JM/mMlZc=";
-  };
-
-  patches = [
-    # Fix build with meson 0.61
-    # https://gitlab.gnome.org/GNOME/gnome-screenshot/-/issues/186
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-screenshot/-/commit/b60dad3c2536c17bd201f74ad8e40eb74385ed9f.patch";
-      sha256 = "Js83h/3xxcw2hsgjzGa5lAYFXVrt6MPhXOTh5dZTx/w=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    appstream-glib
-    libxml2
-    desktop-file-utils
-    python3
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    gtk3
-    glib
-    libcanberra-gtk3
-    libhandy
-    gnome.adwaita-icon-theme
-    gsettings-desktop-schemas
-  ];
-
-  doCheck = true;
-
-  postPatch = ''
-    chmod +x build-aux/postinstall.py # patchShebangs requires executable file
-    patchShebangs build-aux/postinstall.py
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-screenshot";
-    description = "Utility used in the GNOME desktop environment for taking screenshots";
-    mainProgram = "gnome-screenshot";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index 5d4504b908527..f7aa278fe8cc9 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -6,6 +6,7 @@
 , ninja
 , pkg-config
 , gnome
+, adwaita-icon-theme
 , glib
 , gtk3
 , gsettings-desktop-schemas
@@ -69,7 +70,7 @@ stdenv.mkDerivation rec {
     gnome-desktop
     json-glib
     xorg.xtrans
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gnome.gnome-settings-daemon
     gsettings-desktop-schemas
     systemd
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index bca1ea13b5e3e..c9e2da37cc931 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -28,6 +28,7 @@
 , libxmlb
 , malcontent
 , json-glib
+, glib-networking
 , libsecret
 , valgrind-light
 , docbook-xsl-nons
@@ -78,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
   buildInputs = [
     gtk4
     glib
+    glib-networking
     packagekit
     appstream
     libsoup_3
diff --git a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
deleted file mode 100644
index bc7caa3ad27b5..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ lib
-, stdenv
-, gettext
-, fetchurl
-, pkg-config
-, gtkmm4
-, libxml2
-, bash
-, gtk4
-, libadwaita
-, glib
-, wrapGAppsHook4
-, meson
-, ninja
-, gsettings-desktop-schemas
-, itstool
-, gnome
-, librsvg
-, gdk-pixbuf
-, libgtop
-, systemd
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-system-monitor";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-system-monitor/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-U3YkgVjGhsMIJVRy6MKp5MFyVWQsFJ/HGYxtA05UdZk=";
-  };
-
-  patches = [
-    # Fix pkexec detection on NixOS.
-    ./fix-paths.patch
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-    gettext
-    itstool
-    wrapGAppsHook4
-    meson
-    ninja
-    glib
-  ];
-
-  buildInputs = [
-    bash
-    gtk4
-    libadwaita
-    glib
-    libxml2
-    gtkmm4
-    libgtop
-    gdk-pixbuf
-    gnome.adwaita-icon-theme
-    librsvg
-    gsettings-desktop-schemas
-    systemd
-  ];
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-system-monitor";
-      attrPath = "gnome.gnome-system-monitor";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/SystemMonitor/";
-    description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used";
-    mainProgram = "gnome-system-monitor";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch
deleted file mode 100644
index 967ef5e155421..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-system-monitor/fix-paths.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/gsm_pkexec.cpp b/src/gsm_pkexec.cpp
-index 5e1edf2f..717d7bf1 100644
---- a/src/gsm_pkexec.cpp
-+++ b/src/gsm_pkexec.cpp
-@@ -36,5 +36,6 @@ gsm_pkexec_create_root_password_dialog (const char *command)
- gboolean
- procman_has_pkexec (void)
- {
--  return g_file_test ("/usr/bin/pkexec", G_FILE_TEST_EXISTS);
-+  return g_file_test ("/run/wrappers/bin/pkexec", G_FILE_TEST_EXISTS)
-+      || g_file_test ("/usr/bin/pkexec", G_FILE_TEST_EXISTS);
- }
diff --git a/pkgs/desktops/gnome/core/gnome-terminal/default.nix b/pkgs/desktops/gnome/core/gnome-terminal/default.nix
deleted file mode 100644
index 7cfde6e911ae2..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-terminal/default.nix
+++ /dev/null
@@ -1,97 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitLab
-, meson
-, ninja
-, pkg-config
-, python3
-, libxml2
-, gitUpdater
-, nautilus
-, glib
-, gtk4
-, gtk3
-, libhandy
-, gsettings-desktop-schemas
-, vte
-, gettext
-, which
-, libuuid
-, vala
-, desktop-file-utils
-, itstool
-, wrapGAppsHook3
-, pcre2
-, libxslt
-, docbook-xsl-nons
-, nixosTests
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "gnome-terminal";
-  version = "3.52.2";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "gnome-terminal";
-    rev = finalAttrs.version;
-    hash = "sha256-c6xMUyhQnJiIrFnnUEx6vGVvFghGvLjTxiAFq+nSj2A=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    itstool
-    which
-    libxml2
-    libxslt
-    glib # for glib-compile-schemas
-    docbook-xsl-nons
-    vala
-    desktop-file-utils
-    wrapGAppsHook3
-    pcre2
-    python3
-  ];
-
-  buildInputs = [
-    glib
-    gtk4
-    gtk3
-    libhandy
-    gsettings-desktop-schemas
-    vte
-    libuuid
-    nautilus # For extension
-  ];
-
-  postPatch = ''
-    patchShebangs \
-      data/icons/meson_updateiconcache.py \
-      data/meson_desktopfile.py \
-      data/meson_metainfofile.py \
-      src/meson_compileschemas.py
-  '';
-
-  passthru = {
-    updateScript = gitUpdater {
-      odd-unstable = true;
-    };
-
-    tests = {
-      test = nixosTests.terminal-emulators.gnome-terminal;
-    };
-  };
-
-  meta = with lib; {
-    description = "GNOME Terminal Emulator";
-    mainProgram = "gnome-terminal";
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-terminal";
-    platforms = platforms.linux;
-    license = licenses.gpl3Plus;
-    maintainers = teams.gnome.members;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/gnome-themes-extra/default.nix b/pkgs/desktops/gnome/core/gnome-themes-extra/default.nix
deleted file mode 100644
index 52aededca0fe6..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-themes-extra/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, intltool, gtk3, gnome, librsvg, pkg-config, pango, atk, gtk2
-, gdk-pixbuf, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-themes-extra";
-  version = "3.28";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-themes-extra/${lib.versions.majorMinor version}/gnome-themes-extra-${version}.tar.xz";
-    sha256 = "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw";
-  };
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-    };
-  };
-
-  nativeBuildInputs = [ pkg-config intltool gtk3 ];
-  buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf ];
-  propagatedBuildInputs = [ gnome.adwaita-icon-theme hicolor-icon-theme ];
-
-  dontDropIconThemeCache = true;
-
-  postInstall = ''
-    gtk-update-icon-cache "$out"/share/icons/HighContrast
-  '';
-
-  meta = with lib; {
-    platforms = platforms.unix;
-    maintainers = teams.gnome.members;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/gnome-user-share/default.nix b/pkgs/desktops/gnome/core/gnome-user-share/default.nix
deleted file mode 100644
index a9f14ba0437b3..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-user-share/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ stdenv
-, lib
-, gettext
-, meson
-, ninja
-, fetchurl
-, apacheHttpdPackages
-, pkg-config
-, glib
-, libxml2
-, systemd
-, wrapGAppsNoGuiHook
-, itstool
-, gnome
-}:
-
-let
-  inherit (apacheHttpdPackages) apacheHttpd mod_dnssd;
-in
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "gnome-user-share";
-  version = "43.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-share/${lib.versions.major finalAttrs.version}/gnome-user-share-${finalAttrs.version}.tar.xz";
-    sha256 = "DfMGqgVYMT81Pvf1G/onwDYoGtxFZ34c+/p8n4YVOM4=";
-  };
-
-  preConfigure = ''
-    sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \
-      -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \
-      -i data/dav_user_2.4.conf
-  '';
-
-  mesonFlags = [
-    "-Dhttpd=${apacheHttpd.out}/bin/httpd"
-    "-Dmodules_path=${apacheHttpd}/modules"
-    "-Dsystemduserunitdir=${placeholder "out"}/etc/systemd/user"
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-    meson
-    ninja
-    gettext
-    itstool
-    libxml2
-    wrapGAppsNoGuiHook
-  ];
-
-  buildInputs = [
-    glib
-    systemd
-  ];
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-user-share";
-      attrPath = "gnome.gnome-user-share";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-user-share";
-    description = "Service that exports the contents of the Public folder in your home directory on the local network";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/gucharmap/default.nix b/pkgs/desktops/gnome/core/gucharmap/default.nix
deleted file mode 100644
index 17f8465f380bf..0000000000000
--- a/pkgs/desktops/gnome/core/gucharmap/default.nix
+++ /dev/null
@@ -1,114 +0,0 @@
-{ stdenv
-, lib
-, intltool
-, fetchFromGitLab
-, meson
-, mesonEmulatorHook
-, ninja
-, pkg-config
-, python3
-, gtk3
-, pcre2
-, glib
-, desktop-file-utils
-, gtk-doc
-, wrapGAppsHook3
-, itstool
-, libxml2
-, yelp-tools
-, docbook_xsl
-, docbook_xml_dtd_412
-, gsettings-desktop-schemas
-, unzip
-, unicode-character-database
-, unihan-database
-, runCommand
-, symlinkJoin
-, gobject-introspection
-, gitUpdater
-}:
-
-let
-  # TODO: make upstream patch allowing to use the uncompressed file,
-  # preferably from XDG_DATA_DIRS.
-  # https://gitlab.gnome.org/GNOME/gucharmap/issues/13
-  unihanZip = runCommand "unihan" {} ''
-    mkdir -p $out/share/unicode
-    ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip
-  '';
-  ucd = symlinkJoin {
-    name = "ucd+unihan";
-    paths = [
-      unihanZip
-      unicode-character-database
-    ];
-  };
-in stdenv.mkDerivation (finalAttrs: {
-  pname = "gucharmap";
-  version = "15.1.5";
-
-  outputs = [ "out" "lib" "dev" "devdoc" ];
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "gucharmap";
-    rev = finalAttrs.version;
-    sha256 = "sha256-PG86D8QvqHdmo3aJseCerngmuWUqtSMdWzbixWE2HOQ=";
-  };
-
-  strictDeps = true;
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    python3
-    wrapGAppsHook3
-    unzip
-    intltool
-    itstool
-    gtk-doc
-    docbook_xsl
-    docbook_xml_dtd_412
-    yelp-tools
-    libxml2
-    desktop-file-utils
-    gobject-introspection
-  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
-    mesonEmulatorHook
-  ];
-
-  buildInputs = [
-    gtk3
-    glib
-    gsettings-desktop-schemas
-    pcre2
-  ];
-
-  mesonFlags = [
-    "-Ducd_path=${ucd}/share/unicode"
-    "-Dvapi=false"
-  ];
-
-  doCheck = true;
-
-  postPatch = ''
-    patchShebangs \
-      data/meson_desktopfile.py \
-      gucharmap/gen-guch-unicode-tables.pl
-  '';
-
-  passthru = {
-    updateScript = gitUpdater {
-    };
-  };
-
-  meta = with lib; {
-    description = "GNOME Character Map, based on the Unicode Character Database";
-    mainProgram = "gucharmap";
-    homepage = "https://gitlab.gnome.org/GNOME/gucharmap";
-    license = licenses.gpl3Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome/core/libgnome-keyring/default.nix
deleted file mode 100644
index 912953dfb33f6..0000000000000
--- a/pkgs/desktops/gnome/core/libgnome-keyring/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool, gobject-introspection, gnome
-, testers
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "libgnome-keyring";
-  version = "3.12.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgnome-keyring/${lib.versions.majorMinor finalAttrs.version}/libgnome-keyring-${finalAttrs.version}.tar.xz";
-    sha256 = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  propagatedBuildInputs = [ glib gobject-introspection dbus libgcrypt ];
-  nativeBuildInputs = [ pkg-config intltool ];
-
-  passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
-
-  meta = {
-    description = "Framework for managing passwords and other secrets";
-    homepage = "https://gitlab.gnome.org/Archive/libgnome-keyring";
-    license = with lib.licenses; [ gpl2Plus lgpl2Plus ];
-    pkgConfigModules = [ "gnome-keyring-1" ];
-    platforms = lib.platforms.unix;
-    maintainers = [];
-
-    longDescription = ''
-      gnome-keyring is a program that keeps password and other secrets for
-      users. The library libgnome-keyring is used by applications to integrate
-      with the gnome-keyring system.
-    '';
-  };
-})
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
deleted file mode 100644
index f8d650b4648a2..0000000000000
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ /dev/null
@@ -1,135 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gi-docgen
-, docbook-xsl-nons
-, gettext
-, desktop-file-utils
-, wrapGAppsHook4
-, gtk4
-, libadwaita
-, libportal-gtk4
-, gnome
-, gnome-autoar
-, glib-networking
-, shared-mime-info
-, libnotify
-, libexif
-, libjxl
-, libseccomp
-, librsvg
-, webp-pixbuf-loader
-, tracker
-, tracker-miners
-, gexiv2
-, libselinux
-, libcloudproviders
-, gdk-pixbuf
-, substituteAll
-, gnome-desktop
-, gst_all_1
-, gsettings-desktop-schemas
-, gnome-user-share
-, gobject-introspection
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "nautilus";
-  version = "46.2";
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/nautilus/${lib.versions.major finalAttrs.version}/nautilus-${finalAttrs.version}.tar.xz";
-    hash = "sha256-bujJkBm540R/aRjWgjKiDeyonlUlwFgFQyt9iEDKcfo=";
-  };
-
-  patches = [
-    # Allow changing extension directory using environment variable.
-    ./extension_dir.patch
-
-    # Hardcode required paths.
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit tracker;
-    })
-  ];
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    gobject-introspection
-    meson
-    ninja
-    pkg-config
-    gi-docgen
-    docbook-xsl-nons
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gexiv2
-    glib-networking
-    gnome-desktop
-    gnome.adwaita-icon-theme
-    gsettings-desktop-schemas
-    gnome-user-share
-    gst_all_1.gst-plugins-base
-    gtk4
-    libadwaita
-    libportal-gtk4
-    libexif
-    libnotify
-    libseccomp
-    libselinux
-    gdk-pixbuf
-    libcloudproviders
-    shared-mime-info
-    tracker
-    tracker-miners
-    gnome-autoar
-  ];
-
-  propagatedBuildInputs = [
-    gtk4
-  ];
-
-  mesonFlags = [
-    "-Ddocs=true"
-  ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Thumbnailers
-      --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
-      --prefix XDG_DATA_DIRS : "${libjxl}/share"
-      --prefix XDG_DATA_DIRS : "${librsvg}/share"
-      --prefix XDG_DATA_DIRS : "${webp-pixbuf-loader}/share"
-      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
-    )
-  '';
-
-  postFixup = ''
-    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput "share/doc" "$devdoc"
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "nautilus";
-      attrPath = "gnome.nautilus";
-    };
-  };
-
-  meta = with lib; {
-    description = "File manager for GNOME";
-    homepage = "https://apps.gnome.org/Nautilus/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = teams.gnome.members;
-    mainProgram = "nautilus";
-  };
-})
diff --git a/pkgs/desktops/gnome/core/nautilus/extension_dir.patch b/pkgs/desktops/gnome/core/nautilus/extension_dir.patch
deleted file mode 100644
index d7cd161a8dfc5..0000000000000
--- a/pkgs/desktops/gnome/core/nautilus/extension_dir.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/nautilus-module.c b/src/nautilus-module.c
-index cd889ff18..e2cd6468e 100644
---- a/src/nautilus-module.c
-+++ b/src/nautilus-module.c
-@@ -267,6 +267,7 @@ void
- nautilus_module_setup (void)
- {
-     static gboolean initialized = FALSE;
-+    const gchar* extensiondir = NULL;
-     const gchar *disable_plugins;
- 
-     disable_plugins = g_getenv ("NAUTILUS_DISABLE_PLUGINS");
-@@ -280,7 +281,12 @@ nautilus_module_setup (void)
-     {
-         initialized = TRUE;
- 
--        load_module_dir (NAUTILUS_EXTENSIONDIR);
-+        extensiondir = g_getenv ("NAUTILUS_4_EXTENSION_DIR");
-+        if (extensiondir == NULL) {
-+            extensiondir = NAUTILUS_EXTENSIONDIR;
-+        }
-+
-+        load_module_dir (extensiondir);
-     }
diff --git a/pkgs/desktops/gnome/core/nautilus/fix-paths.patch b/pkgs/desktops/gnome/core/nautilus/fix-paths.patch
deleted file mode 100644
index dc9874359b233..0000000000000
--- a/pkgs/desktops/gnome/core/nautilus/fix-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/nautilus-tag-manager.c b/src/nautilus-tag-manager.c
-index 28b96c996..0b1fad9ab 100644
---- a/src/nautilus-tag-manager.c
-+++ b/src/nautilus-tag-manager.c
-@@ -962,7 +962,7 @@ child_watch_cb (GPid     pid,
- static void
- export_tracker2_data (NautilusTagManager *self)
- {
--    gchar *argv[] = {"tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL};
-+    gchar *argv[] = {"@tracker@/bin/tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL};
-     gint stdout_fd;
-     GPid child_pid;
-     g_autoptr (GError) error = NULL;
diff --git a/pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch b/pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch
deleted file mode 100644
index 5204e3518aba7..0000000000000
--- a/pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 27bde61f..3d434de9 100644
---- a/meson.build
-+++ b/meson.build
-@@ -22,7 +22,11 @@ if not get_option('uninstalled')
-     rygel_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'rygel')
-     rygel_libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'),
-     'rygel')
--    rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir'))
-+    if get_option('sysconfdir_install') != ''
-+        rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir_install'))
-+    else
-+        rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir'))
-+    endif
-     rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.8', 'plugins')
-     rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.8', 'engines')
-     rygel_presetdir = join_paths(rygel_datadir, 'presets')
-@@ -57,7 +61,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir)
- conf.set_quoted('PLUGIN_DIR', rygel_plugindir)
- conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir)
- conf.set_quoted('SMALL_ICON_DIR', rygel_smallicondir)
--conf.set_quoted('SYS_CONFIG_DIR', rygel_sysconfdir)
-+conf.set_quoted('SYS_CONFIG_DIR', get_option('sysconfdir'))
- conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
- conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract'))
- conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications'))
-diff --git a/meson_options.txt b/meson_options.txt
-index fd04776a..3dee43ba 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,4 @@
-+option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation')
- option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only')
- option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation')
- option('man_pages', type: 'boolean', value: 'true', description: 'Build the man pages')
diff --git a/pkgs/desktops/gnome/core/rygel/default.nix b/pkgs/desktops/gnome/core/rygel/default.nix
deleted file mode 100644
index 7c93bc8668e4d..0000000000000
--- a/pkgs/desktops/gnome/core/rygel/default.nix
+++ /dev/null
@@ -1,108 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, vala
-, gettext
-, libxml2
-, gobject-introspection
-, wrapGAppsHook3
-, python3
-, glib
-, gssdp_1_6
-, gupnp_1_6
-, gupnp-av
-, gupnp-dlna
-, gst_all_1
-, libgee
-, libsoup_3
-, gtk3
-, libmediaart
-, sqlite
-, systemd
-, tracker
-, shared-mime-info
-, gnome
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "rygel";
-  version = "0.42.6";
-
-  # TODO: split out lib
-  outputs = [ "out" "dev" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/rygel/${lib.versions.majorMinor finalAttrs.version}/rygel-${finalAttrs.version}.tar.xz";
-    sha256 = "R9JXBLYQiDdeJqq6Vr5HwXGJRy5vgMdSq+hvAu9OMwQ=";
-  };
-
-  patches = [
-    ./add-option-for-installation-sysconfdir.patch
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    vala
-    gettext
-    libxml2
-    gobject-introspection
-    wrapGAppsHook3
-    python3
-  ];
-
-  buildInputs = [
-    glib
-    gssdp_1_6
-    gupnp_1_6
-    gupnp-av
-    gupnp-dlna
-    libgee
-    libsoup_3
-    gtk3
-    libmediaart
-    sqlite
-    systemd
-    tracker
-    shared-mime-info
-  ] ++ (with gst_all_1; [
-    gstreamer
-    gst-editing-services
-    gst-plugins-base
-    gst-plugins-good
-    gst-plugins-bad
-    gst-plugins-ugly
-  ]);
-
-  mesonFlags = [
-    "-Dsystemd-user-units-dir=${placeholder "out"}/lib/systemd/user"
-    "-Dapi-docs=false"
-    "--sysconfdir=/etc"
-    "-Dsysconfdir_install=${placeholder "out"}/etc"
-  ];
-
-  doCheck = true;
-
-  postPatch = ''
-    patchShebangs data/xml/process-xml.py
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "rygel";
-      attrPath = "gnome.rygel";
-      versionPolicy = "odd-unstable";
-    };
-  };
-
-  meta = with lib; {
-    description = "Home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices";
-    homepage = "https://gitlab.gnome.org/GNOME/rygel";
-    license = licenses.lgpl21Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/simple-scan/default.nix b/pkgs/desktops/gnome/core/simple-scan/default.nix
deleted file mode 100644
index e7f2954ca39f4..0000000000000
--- a/pkgs/desktops/gnome/core/simple-scan/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gettext
-, itstool
-, python3
-, wrapGAppsHook4
-, cairo
-, gdk-pixbuf
-, colord
-, glib
-, libadwaita
-, gtk4
-, gusb
-, packagekit
-, libwebp
-, libxml2
-, sane-backends
-, vala
-, gnome
-, gobject-introspection
-}:
-
-stdenv.mkDerivation rec {
-  pname = "simple-scan";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-wW5lkBQv5WO+UUMSKzu7U/awCn2p2VL2HEf6Jve08Kk=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    gettext
-    itstool
-    pkg-config
-    python3
-    wrapGAppsHook4
-    libxml2
-    gobject-introspection # For setup hook
-    vala
-  ];
-
-  buildInputs = [
-    cairo
-    gdk-pixbuf
-    colord
-    glib
-    gusb
-    libadwaita
-    gtk4
-    libwebp
-    packagekit
-    sane-backends
-  ];
-
-  postPatch = ''
-    patchShebangs data/meson_compile_gschema.py
-  '';
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "simple-scan";
-    };
-  };
-
-  meta = with lib; {
-    description = "Simple scanning utility";
-    mainProgram = "simple-scan";
-    longDescription = ''
-      A really easy way to scan both documents and photos. You can crop out the
-      bad parts of a photo and rotate it if it is the wrong way round. You can
-      print your scans, export them to pdf, or save them in a range of image
-      formats. Basically a frontend for SANE - which is the same backend as
-      XSANE uses. This means that all existing scanners will work and the
-      interface is well tested.
-    '';
-    homepage = "https://gitlab.gnome.org/GNOME/simple-scan";
-    license = licenses.gpl3Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/sushi/default.nix b/pkgs/desktops/gnome/core/sushi/default.nix
deleted file mode 100644
index 18f6b382737df..0000000000000
--- a/pkgs/desktops/gnome/core/sushi/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, pkg-config
-, meson
-, gettext
-, gobject-introspection
-, glib
-, gnome
-, gtksourceview4
-, gjs
-, libsoup_3
-, webkitgtk_4_1
-, icu
-, wrapGAppsHook3
-, gst_all_1
-, gdk-pixbuf
-, librsvg
-, gtk3
-, harfbuzz
-, ninja
-, libepoxy
-}:
-
-stdenv.mkDerivation rec {
-  pname = "sushi";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/sushi/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-lghbqqQwqyFCxgaqtcR+L7sv0+two1ITfmXFmlig8sY=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    meson
-    ninja
-    gettext
-    gobject-introspection
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    glib
-    gtk3
-    gnome.evince
-    icu
-    harfbuzz
-    gjs
-    gtksourceview4
-    gdk-pixbuf
-    librsvg
-    libsoup_3
-    webkitgtk_4_1
-    libepoxy
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-ugly
-  ];
-
-  # See https://github.com/NixOS/nixpkgs/issues/31168
-  postInstall = ''
-    for file in $out/libexec/org.gnome.NautilusPreviewer
-    do
-      sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
-        -i $file
-    done
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "sushi";
-      attrPath = "gnome.sushi";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://en.wikipedia.org/wiki/Sushi_(software)";
-    description = "Quick previewer for Nautilus";
-    mainProgram = "sushi";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/totem/default.nix b/pkgs/desktops/gnome/core/totem/default.nix
deleted file mode 100644
index 56da00923f949..0000000000000
--- a/pkgs/desktops/gnome/core/totem/default.nix
+++ /dev/null
@@ -1,139 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, fetchpatch
-, meson
-, ninja
-, gettext
-, gst_all_1
-, python3Packages
-, shared-mime-info
-, pkg-config
-, gtk3
-, glib
-, gobject-introspection
-, totem-pl-parser
-, wrapGAppsHook3
-, itstool
-, libxml2
-, vala
-, gnome
-, grilo
-, grilo-plugins
-, libpeas
-, libportal-gtk3
-, libhandy
-, adwaita-icon-theme
-, gnome-desktop
-, gsettings-desktop-schemas
-, gdk-pixbuf
-, xvfb-run
-}:
-
-stdenv.mkDerivation rec {
-  pname = "totem";
-  version = "43.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/totem/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "s202VZKLWJZGKk05+Dtq1m0328nJnc6wLqii43OUpB4=";
-  };
-
-  patches = [
-    # Lower X11 dependency version since we do not have it.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/totem/-/commit/140d9eea70c3101ef3234abb4de5974cb84b13db.patch";
-      sha256 = "ohppxqMiH8Ksc9B2e3AXighfM6KVN+RNXYL+fLELSN8=";
-      revert = true;
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/totem/-/commit/2610b4536f73493587e4a5a38e01c9961fcabb96.patch";
-      sha256 = "nPfzS+LQuAlyQOz67hCdtx93w2frhgWlg1KGX5bEU38=";
-      revert = true;
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/totem/-/commit/5b871aee5292f25bbf39dca18045732e979e7a68.patch";
-      sha256 = "LqQLdgyZkIVc+/hQ5sdBLqhtjCVIMDSs9tjVXwMFodg=";
-      revert = true;
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    vala
-    pkg-config
-    gettext
-    python3Packages.python
-    itstool
-    gobject-introspection
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    gtk3
-    glib
-    grilo
-    totem-pl-parser
-    grilo-plugins
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-ugly
-    gst_all_1.gst-libav
-    libpeas
-    libportal-gtk3
-    libhandy
-    shared-mime-info
-    gdk-pixbuf
-    libxml2
-    adwaita-icon-theme
-    gnome-desktop
-    gsettings-desktop-schemas
-    python3Packages.pygobject3
-  ];
-
-  nativeCheckInputs = [
-    xvfb-run
-  ];
-
-  mesonFlags = [
-    # TODO: https://github.com/NixOS/nixpkgs/issues/36468
-    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
-  ];
-
-  # Tests do not work with GStreamer 1.18.
-  # https://gitlab.gnome.org/GNOME/totem/-/issues/450
-  doCheck = false;
-
-  postPatch = ''
-    chmod +x meson_compile_python.py # patchShebangs requires executable file
-    patchShebangs \
-      ./meson_compile_python.py
-  '';
-
-  checkPhase = ''
-    runHook preCheck
-
-    xvfb-run -s '-screen 0 800x600x24' \
-      ninja test
-
-    runHook postCheck
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "totem";
-      attrPath = "gnome.totem";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/Totem/";
-    description = "Movie player for the GNOME desktop based on GStreamer";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2Plus; # with exception to allow use of non-GPL compatible plug-ins
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/yelp-xsl/default.nix b/pkgs/desktops/gnome/core/yelp-xsl/default.nix
deleted file mode 100644
index e440df2423bf3..0000000000000
--- a/pkgs/desktops/gnome/core/yelp-xsl/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib, stdenv
-, gettext
-, fetchurl
-, pkg-config
-, itstool
-, libxml2
-, libxslt
-, gnome
-}:
-
-stdenv.mkDerivation rec {
-  pname = "yelp-xsl";
-  version = "42.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-I4vhULFlMIDOE5lxMw/TbTomWV4NagQKLAML89IAW80=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    gettext
-    itstool
-    libxml2
-    libxslt
-  ];
-
-  doCheck = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/yelp-xsl";
-    description = "Yelp's universal stylesheets for Mallard and DocBook";
-    maintainers = teams.gnome.members;
-    license = with licenses; [
-      # See https://gitlab.gnome.org/GNOME/yelp-xsl/blob/master/COPYING
-      # Stylesheets
-      lgpl2Plus
-      # Icons, unclear: https://gitlab.gnome.org/GNOME/yelp-xsl/issues/25
-      gpl2
-      # highlight.js
-      bsd3
-    ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/yelp/default.nix b/pkgs/desktops/gnome/core/yelp/default.nix
deleted file mode 100644
index c5bb44b46f015..0000000000000
--- a/pkgs/desktops/gnome/core/yelp/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib
-, stdenv
-, gettext
-, fetchurl
-, webkitgtk_4_1
-, pkg-config
-, gtk3
-, libhandy
-, glib
-, gnome
-, sqlite
-, itstool
-, libxml2
-, libxslt
-, gst_all_1
-, wrapGAppsHook3
-}:
-
-stdenv.mkDerivation rec {
-  pname = "yelp";
-  version = "42.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-osX9B4epCJxyLMZr0Phc33CI2HDntsyFeZ+OW/+erEs=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    gettext
-    itstool
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    gtk3
-    libhandy
-    glib
-    webkitgtk_4_1
-    sqlite
-    libxml2
-    libxslt
-    gnome.yelp-xsl
-    gnome.adwaita-icon-theme
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "yelp";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://apps.gnome.org/Yelp/";
-    description = "Help viewer in Gnome";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/core/zenity/default.nix b/pkgs/desktops/gnome/core/zenity/default.nix
deleted file mode 100644
index aa98b8c833205..0000000000000
--- a/pkgs/desktops/gnome/core/zenity/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, help2man
-, meson
-, ninja
-, pkg-config
-, libxml2
-, gnome
-, gtk4
-, gettext
-, libadwaita
-, itstool
-, wrapGAppsHook4
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "zenity";
-  version = "4.0.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/zenity/${lib.versions.majorMinor finalAttrs.version}/zenity-${finalAttrs.version}.tar.xz";
-    sha256 = "DC9TeBOxD3KEcNnQXWyVcT2yUS+clQluHoWxpnOWBeY=";
-  };
-
-  nativeBuildInputs = [
-    help2man
-    meson
-    ninja
-    pkg-config
-    gettext
-    itstool
-    libxml2
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gtk4
-    libadwaita
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "zenity";
-      attrPath = "gnome.zenity";
-    };
-  };
-
-  meta = with lib; {
-    mainProgram = "zenity";
-    description = "Tool to display dialogs from the commandline and shell scripts";
-    homepage = "https://gitlab.gnome.org/GNOME/zenity";
-    license = licenses.lgpl21Plus;
-    platforms = platforms.unix;
-    maintainers = teams.gnome.members;
-  };
-})
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 022021ea6cf73..5cfe889da4aa4 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -1,6 +1,11 @@
 { config, pkgs, lib }:
 
-lib.makeScope pkgs.newScope (self: with self; {
+# NOTE: New packages should generally go to top-level instead of here!
+lib.makeScope pkgs.newScope (self:
+let
+  inherit (self) callPackage;
+in
+{
   updateScript = callPackage ./update.nix { };
 
   # Temporary helper until gdk-pixbuf supports multiple cache files.
@@ -8,27 +13,15 @@ lib.makeScope pkgs.newScope (self: with self; {
   _gdkPixbufCacheBuilder_DO_NOT_USE = callPackage ./gdk-pixbuf-cache-builder.nix { };
 
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
-  libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
+  libchamplain = pkgs.libchamplain.override { inherit (self) libsoup; };
 
 # ISO installer
 # installerIso = callPackage ./installer.nix {};
 
 #### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
 
-  adwaita-icon-theme = callPackage ./core/adwaita-icon-theme { };
-
-  baobab = callPackage ./core/baobab { };
-
   caribou = callPackage ./core/caribou { };
 
-  dconf-editor = callPackage ./core/dconf-editor { };
-
-  epiphany = callPackage ./core/epiphany { };
-
-  evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
-
-  evolution-data-server = callPackage ./core/evolution-data-server { };
-
   gdm = callPackage ./core/gdm { };
 
   gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
@@ -43,20 +36,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-control-center = callPackage ./core/gnome-control-center { };
 
-  gnome-calculator = callPackage ./core/gnome-calculator { };
-
-  gnome-common = callPackage ./core/gnome-common { };
-
-  gnome-dictionary = callPackage ./core/gnome-dictionary { };
-
-  gnome-disk-utility = callPackage ./core/gnome-disk-utility { };
-
-  gnome-font-viewer = callPackage ./core/gnome-font-viewer { };
-
-  gnome-keyring = callPackage ./core/gnome-keyring { };
-
-  libgnome-keyring = callPackage ./core/libgnome-keyring { };
-
   gnome-initial-setup = callPackage ./core/gnome-initial-setup { };
 
   gnome-online-miners = callPackage ./core/gnome-online-miners { };
@@ -71,8 +50,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };
 
-  gnome-screenshot = callPackage ./core/gnome-screenshot { };
-
   gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { };
 
   # Using 43 to match Mutter used in Pantheon
@@ -80,27 +57,13 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-software = callPackage ./core/gnome-software { };
 
-  gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
-
-  gnome-terminal = callPackage ./core/gnome-terminal { };
-
-  gnome-themes-extra = callPackage ./core/gnome-themes-extra { };
-
-  gnome-user-share = callPackage ./core/gnome-user-share { };
-
-  gucharmap = callPackage ./core/gucharmap { };
-
   gvfs = pkgs.gvfs.override { gnomeSupport = true; };
 
-  eog = callPackage ./core/eog { };
-
   mutter = callPackage ./core/mutter { };
 
   # Needed for elementary's gala, wingpanel and greeter until support for higher versions is provided
   mutter43 = callPackage ./core/mutter/43 { };
 
-  nautilus = callPackage ./core/nautilus { };
-
   networkmanager-openvpn = pkgs.networkmanager-openvpn.override {
     withGnome = true;
   };
@@ -127,35 +90,10 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   nixos-gsettings-overrides = callPackage ./nixos/gsettings-overrides { };
 
-  rygel = callPackage ./core/rygel { };
-
-  simple-scan = callPackage ./core/simple-scan { };
-
-  sushi = callPackage ./core/sushi { };
-
-  totem = callPackage ./core/totem { };
-
-  yelp = callPackage ./core/yelp { };
-
-  yelp-xsl = callPackage ./core/yelp-xsl { };
-
-  zenity = callPackage ./core/zenity { };
-
-
 #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
 
-  accerciser = callPackage ./apps/accerciser { };
-
-  cheese = callPackage ./apps/cheese { };
-
-  file-roller = callPackage ./apps/file-roller { };
-
-  ghex = callPackage ./apps/ghex { };
-
   gnome-boxes = callPackage ./apps/gnome-boxes { };
 
-  gnome-calendar = callPackage ./apps/gnome-calendar { };
-
   gnome-characters = callPackage ./apps/gnome-characters { };
 
   gnome-clocks = callPackage ./apps/gnome-clocks { };
@@ -178,14 +116,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   polari = callPackage ./apps/polari { };
 
-  seahorse = callPackage ./apps/seahorse { };
-
   vinagre = callPackage ./apps/vinagre { };
 
-#### Dev http://ftp.gnome.org/pub/GNOME/devtools/
-
-  devhelp = callPackage ./devtools/devhelp { };
-
 #### Games
 
   aisleriot = callPackage ./games/aisleriot { };
@@ -228,10 +160,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
 #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
 
-  geary = callPackage ./misc/geary { };
-
-  gitg = callPackage ./misc/gitg { };
-
   gnome-applets = callPackage ./misc/gnome-applets { };
 
   gnome-flashback = callPackage ./misc/gnome-flashback { };
@@ -240,27 +168,59 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-panel-with-modules = callPackage ./misc/gnome-panel/wrapper.nix { };
 
-  gnome-tweaks = callPackage ./misc/gnome-tweaks { };
-
-  gpaste = callPackage ./misc/gpaste { };
-
   metacity = callPackage ./misc/metacity { };
 
-  nautilus-python = callPackage ./misc/nautilus-python { };
-
   gtkhtml = callPackage ./misc/gtkhtml { enchant = pkgs.enchant2; };
-
-  pomodoro = callPackage ./misc/pomodoro { };
-
-  gnome-autoar = callPackage ./misc/gnome-autoar { };
-
-  gnome-packagekit = callPackage ./misc/gnome-packagekit { };
 }) // lib.optionalAttrs config.allowAliases {
 #### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
+  libgnome-keyring = lib.warn "The ‘gnome.libgnome-keyring’ was moved to top-level. Please use ‘pkgs.libgnome-keyring’ directly." pkgs.libgnome-keyring; # Added on 2024-06-22.
 
   gedit = throw "The ‘gnome.gedit’ alias was removed. Please use ‘pkgs.gedit’ directly."; # converted to throw on 2023-12-27
   gnome-todo = throw "The ‘gnome.gnome-todo’ alias was removed. Please use ‘pkgs.endeavour’ directly."; # converted to throw on 2023-12-27
 
+  accerciser = lib.warn "The ‘gnome.accerciser’ was moved to top-level. Please use ‘pkgs.accerciser’ directly." pkgs.accerciser; # Added on 2024-06-22.
+  adwaita-icon-theme = lib.warn "The ‘gnome.adwaita-icon-theme’ was moved to top-level. Please use ‘pkgs.adwaita-icon-theme’ directly." pkgs.adwaita-icon-theme; # Added on 2024-06-22.
+  baobab = lib.warn "The ‘gnome.baobab’ was moved to top-level. Please use ‘pkgs.baobab’ directly." pkgs.baobab; # Added on 2024-06-22.
+  cheese = lib.warn "The ‘gnome.cheese’ was moved to top-level. Please use ‘pkgs.cheese’ directly." pkgs.cheese; # Added on 2024-06-22.
+  dconf-editor = lib.warn "The ‘gnome.dconf-editor’ was moved to top-level. Please use ‘pkgs.dconf-editor’ directly." pkgs.dconf-editor; # Added on 2024-06-22.
+  devhelp = lib.warn "The ‘gnome.devhelp’ was moved to top-level. Please use ‘pkgs.devhelp’ directly." pkgs.devhelp; # Added on 2024-06-22.
+  eog = lib.warn "The ‘gnome.eog’ was moved to top-level. Please use ‘pkgs.eog’ directly." pkgs.eog; # Added on 2024-06-22.
+  epiphany = lib.warn "The ‘gnome.epiphany’ was moved to top-level. Please use ‘pkgs.epiphany’ directly." pkgs.epiphany; # Added on 2024-06-22.
+  evince = lib.warn "The ‘gnome.evince’ was moved to top-level. Please use ‘pkgs.evince’ directly." pkgs.evince; # Added on 2024-06-13.
+  evolution-data-server = lib.warn "The ‘gnome.evolution-data-server’ was moved to top-level. Please use ‘pkgs.evolution-data-server’ directly." pkgs.evolution-data-server; # Added on 2024-06-13.
+  file-roller = lib.warn "The ‘gnome.file-roller’ was moved to top-level. Please use ‘pkgs.file-roller’ directly." pkgs.file-roller; # Added on 2024-06-13.
+  geary = lib.warn "The ‘gnome.geary’ was moved to top-level. Please use ‘pkgs.geary’ directly." pkgs.geary; # Added on 2024-06-22.
+  ghex = lib.warn "The ‘gnome.ghex’ was moved to top-level. Please use ‘pkgs.ghex’ directly." pkgs.ghex; # Added on 2024-06-22.
+  gitg = lib.warn "The ‘gnome.gitg’ was moved to top-level. Please use ‘pkgs.gitg’ directly." pkgs.gitg; # Added on 2024-06-22.
+  gnome-autoar = lib.warn "The ‘gnome.gnome-autoar’ was moved to top-level. Please use ‘pkgs.gnome-autoar’ directly." pkgs.gnome-autoar; # Added on 2024-06-13.
+  gnome-common = lib.warn "The ‘gnome.gnome-common’ was moved to top-level. Please use ‘pkgs.gnome-common’ directly." pkgs.gnome-common; # Added on 2024-06-22.
+  gnome-calculator = lib.warn "The ‘gnome.gnome-calculator’ was moved to top-level. Please use ‘pkgs.gnome-calculator’ directly." pkgs.gnome-calculator; # Added on 2024-06-22.
+  gnome-calendar = lib.warn "The ‘gnome.gnome-calendar’ was moved to top-level. Please use ‘pkgs.gnome-calendar’ directly." pkgs.gnome-calendar; # Added on 2024-06-22.
+  gnome-dictionary = lib.warn "The ‘gnome.gnome-dictionary’ was moved to top-level. Please use ‘pkgs.gnome-dictionary’ directly." pkgs.gnome-dictionary; # Added on 2024-06-22.
+  gnome-disk-utility = lib.warn "The ‘gnome.gnome-disk-utility’ was moved to top-level. Please use ‘pkgs.gnome-disk-utility’ directly." pkgs.gnome-disk-utility; # Added on 2024-06-22.
+  gnome-font-viewer = lib.warn "The ‘gnome.gnome-font-viewer’ was moved to top-level. Please use ‘pkgs.gnome-font-viewer’ directly." pkgs.gnome-font-viewer; # Added on 2024-06-22.
+  gnome-keyring = lib.warn "The ‘gnome.gnome-keyring’ was moved to top-level. Please use ‘pkgs.gnome-keyring’ directly." pkgs.gnome-keyring; # Added on 2024-06-22.
+  gnome-packagekit = lib.warn "The ‘gnome.gnome-packagekit’ was moved to top-level. Please use ‘pkgs.gnome-packagekit’ directly." pkgs.gnome-packagekit; # Added on 2024-06-22.
+  gnome-screenshot = lib.warn "The ‘gnome.gnome-screenshot’ was moved to top-level. Please use ‘pkgs.gnome-screenshot’ directly." pkgs.gnome-screenshot; # Added on 2024-06-22.
+  gnome-system-monitor = lib.warn "The ‘gnome.gnome-system-monitor’ was moved to top-level. Please use ‘pkgs.gnome-system-monitor’ directly." pkgs.gnome-system-monitor; # Added on 2024-06-22.
+  gnome-terminal = lib.warn "The ‘gnome.gnome-terminal’ was moved to top-level. Please use ‘pkgs.gnome-terminal’ directly." pkgs.gnome-terminal; # Added on 2024-06-13.
+  gnome-themes-extra = lib.warn "The ‘gnome.gnome-themes-extra’ was moved to top-level. Please use ‘pkgs.gnome-themes-extra’ directly." pkgs.gnome-themes-extra; # Added on 2024-06-22.
+  gnome-tweaks = lib.warn "The ‘gnome.gnome-tweaks’ was moved to top-level. Please use ‘pkgs.gnome-tweaks’ directly." pkgs.gnome-tweaks; # Added on 2024-06-22.
+  gnome-user-share = lib.warn "The ‘gnome.gnome-user-share’ was moved to top-level. Please use ‘pkgs.gnome-user-share’ directly." pkgs.gnome-user-share; # Added on 2024-06-13.
+  gpaste = lib.warn "The ‘gnome.gpaste’ was moved to top-level. Please use ‘pkgs.gpaste’ directly." pkgs.gpaste; # Added on 2024-06-22.
+  gucharmap = lib.warn "The ‘gnome.gucharmap’ was moved to top-level. Please use ‘pkgs.gucharmap’ directly." pkgs.gucharmap; # Added on 2024-06-22.
+  nautilus = lib.warn "The ‘gnome.nautilus’ was moved to top-level. Please use ‘pkgs.nautilus’ directly." pkgs.nautilus; # Added on 2024-06-13.
+  nautilus-python = lib.warn "The ‘gnome.nautilus-python’ was moved to top-level. Please use ‘pkgs.nautilus-python’ directly." pkgs.nautilus-python; # Added on 2024-06-13.
+  pomodoro = lib.warn "The ‘gnome.pomodoro’ was moved to top-level. Please use ‘pkgs.gnome-pomodoro’ directly." pkgs.gnome-pomodoro; # Added on 2024-06-22.
+  rygel = lib.warn "The ‘gnome.rygel’ was moved to top-level. Please use ‘pkgs.rygel’ directly." pkgs.rygel; # Added on 2024-06-22.
+  seahorse = lib.warn "The ‘gnome.seahorse’ was moved to top-level. Please use ‘pkgs.seahorse’ directly." pkgs.seahorse; # Added on 2024-06-22.
+  simple-scan = lib.warn "The ‘gnome.simple-scan’ was moved to top-level. Please use ‘pkgs.simple-scan’ directly." pkgs.simple-scan; # Added on 2024-06-22.
+  sushi = lib.warn "The ‘gnome.sushi’ was moved to top-level. Please use ‘pkgs.sushi’ directly." pkgs.sushi; # Added on 2024-06-22.
+  totem = lib.warn "The ‘gnome.totem’ was moved to top-level. Please use ‘pkgs.totem’ directly." pkgs.totem; # Added on 2024-06-22.
+  yelp = lib.warn "The ‘gnome.yelp’ was moved to top-level. Please use ‘pkgs.yelp’ directly." pkgs.yelp; # Added on 2024-06-22.
+  yelp-xsl = lib.warn "The ‘gnome.yelp-xsl’ was moved to top-level. Please use ‘pkgs.yelp-xsl’ directly." pkgs.yelp-xsl; # Added on 2024-06-22.
+  zenity = lib.warn "The ‘gnome.zenity’ was moved to top-level. Please use ‘pkgs.zenity’ directly." pkgs.zenity; # Added on 2024-06-22.
+
 #### Removals
   anjuta = throw "`anjuta` was removed after not being maintained upstream and losing control of its official domain."; # 2024-01-16
 }
diff --git a/pkgs/desktops/gnome/devtools/devhelp/default.nix b/pkgs/desktops/gnome/devtools/devhelp/default.nix
deleted file mode 100644
index 4a6577adbe256..0000000000000
--- a/pkgs/desktops/gnome/devtools/devhelp/default.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gnome
-, gtk3
-, wrapGAppsHook3
-, glib
-, gobject-introspection
-, gi-docgen
-, webkitgtk_4_1
-, gettext
-, itstool
-, gsettings-desktop-schemas
-, shared-mime-info
-}:
-
-stdenv.mkDerivation rec {
-  pname = "devhelp";
-  version = "43.0";
-
-  outputs = [ "out" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/devhelp/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Y87u/QU5LgIESIHvHs1yQpNVPaVzW378CCstE/6F3QQ=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    itstool
-    wrapGAppsHook3
-    gobject-introspection
-    gi-docgen
-    # post install script
-    glib
-    gtk3
-  ];
-
-  buildInputs = [
-    glib
-    gtk3
-    webkitgtk_4_1
-    gnome.adwaita-icon-theme
-    gsettings-desktop-schemas
-  ];
-
-  mesonFlags = [
-    "-Dgtk_doc=true"
-  ];
-
-  doCheck = true;
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Fix pages being blank
-      # https://gitlab.gnome.org/GNOME/devhelp/issues/14
-      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
-    )
-  '';
-
-  postFixup = ''
-    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
-    moveToOutput share/doc/devhelp-3 "$devdoc"
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "devhelp";
-      attrPath = "gnome.devhelp";
-    };
-  };
-
-  meta = with lib; {
-    description = "API documentation browser for GNOME";
-    mainProgram = "devhelp";
-    homepage = "https://apps.gnome.org/Devhelp/";
-    license = licenses.gpl3Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/extensions/default.nix b/pkgs/desktops/gnome/extensions/default.nix
index 85b4fc5fca001..035531a5f05ef 100644
--- a/pkgs/desktops/gnome/extensions/default.nix
+++ b/pkgs/desktops/gnome/extensions/default.nix
@@ -1,6 +1,5 @@
 { lib
 , callPackage
-, callPackages
 , config
 }:
 let
@@ -72,7 +71,7 @@ in rec {
     # Apply some custom patches for automatically packaged extensions
     (callPackage ./extensionOverrides.nix {})
     # Add all manually packaged extensions
-    (extensions: extensions // (callPackages ./manuallyPackaged.nix {}))
+    (extensions: extensions // (import ./manuallyPackaged.nix { inherit callPackage; }))
     # Map the extension UUIDs to readable names
     (lib.attrValues)
     (mapReadableNames)
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index 52b038ccda919..ca96a38313252 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -3,7 +3,7 @@
 , easyeffects
 , gjs
 , glib
-, gnome
+, nautilus
 , gobject-introspection
 , gsound
 , hddtemp
@@ -107,7 +107,7 @@ super: lib.trivial.pipe super [
         util_linux = util-linux;
         xdg_utils = xdg-utils;
         src = ./extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch;
-        nautilus_gsettings_path = "${glib.getSchemaPath gnome.nautilus}";
+        nautilus_gsettings_path = "${glib.getSchemaPath nautilus}";
       })
     ];
   }))
diff --git a/pkgs/desktops/gnome/games/four-in-a-row/default.nix b/pkgs/desktops/gnome/games/four-in-a-row/default.nix
index a866e3797a300..ed862db922fb4 100644
--- a/pkgs/desktops/gnome/games/four-in-a-row/default.nix
+++ b/pkgs/desktops/gnome/games/four-in-a-row/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook3
+{ lib, stdenv, fetchurl, pkg-config, gnome, adwaita-icon-theme, gtk3, wrapGAppsHook3
 , gettext, meson, gsound, librsvg, itstool, vala
 , python3, ninja, desktop-file-utils }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     pkg-config wrapGAppsHook3 gettext meson itstool vala
     ninja python3 desktop-file-utils
   ];
-  buildInputs = [ gtk3 gsound librsvg gnome.adwaita-icon-theme ];
+  buildInputs = [ gtk3 gsound librsvg adwaita-icon-theme ];
 
   postPatch = ''
     chmod +x build-aux/meson_post_install.py
diff --git a/pkgs/desktops/gnome/games/gnome-klotski/default.nix b/pkgs/desktops/gnome/games/gnome-klotski/default.nix
index 3b976c633e03a..c822d0e80c434 100644
--- a/pkgs/desktops/gnome/games/gnome-klotski/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-klotski/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, vala, gnome, gtk3, wrapGAppsHook3, appstream-glib, desktop-file-utils
+{ lib, stdenv, fetchurl, pkg-config, vala, gnome, adwaita-icon-theme, gtk3, wrapGAppsHook3, appstream-glib, desktop-file-utils
 , glib, librsvg, libxml2, gettext, itstool, libgee, libgnome-games-support
 , meson, ninja, python3
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config vala meson ninja python3 wrapGAppsHook3
     gettext itstool libxml2 appstream-glib desktop-file-utils
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
   ];
   buildInputs = [ glib gtk3 librsvg libgee libgnome-games-support ];
 
diff --git a/pkgs/desktops/gnome/games/gnome-mines/default.nix b/pkgs/desktops/gnome/games/gnome-mines/default.nix
index ee9509309e4c4..364b24121c5dd 100644
--- a/pkgs/desktops/gnome/games/gnome-mines/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-mines/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, vala, pkg-config, gnome, gtk3, wrapGAppsHook3
+{ lib, stdenv, fetchurl, meson, ninja, vala, pkg-config, gnome, adwaita-icon-theme, gtk3, wrapGAppsHook3
 , librsvg, gettext, itstool, python3, libxml2, libgnome-games-support, libgee, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     meson ninja vala pkg-config gettext itstool python3
     libxml2 wrapGAppsHook3 desktop-file-utils
   ];
-  buildInputs = [ gtk3 librsvg gnome.adwaita-icon-theme libgnome-games-support libgee ];
+  buildInputs = [ gtk3 librsvg adwaita-icon-theme libgnome-games-support libgee ];
 
   postPatch = ''
     chmod +x build-aux/meson_post_install.py
diff --git a/pkgs/desktops/gnome/games/gnome-taquin/default.nix b/pkgs/desktops/gnome/games/gnome-taquin/default.nix
index 75f68731cb3ca..4a7a058491c4e 100644
--- a/pkgs/desktops/gnome/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-taquin/default.nix
@@ -4,6 +4,7 @@
 , fetchpatch
 , pkg-config
 , gnome
+, adwaita-icon-theme
 , gtk3
 , wrapGAppsHook3
 , librsvg
@@ -55,7 +56,7 @@ stdenv.mkDerivation rec {
     gtk3
     librsvg
     gsound
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
   ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome/games/gnome-tetravex/default.nix b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix
index 8c86a4c090a1f..628b3bbfe2175 100644
--- a/pkgs/desktops/gnome/games/gnome-tetravex/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix
@@ -4,6 +4,7 @@
 , fetchpatch
 , pkg-config
 , gnome
+, adwaita-icon-theme
 , gtk3
 , wrapGAppsHook3
 , libxml2
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook3
     itstool
     libxml2
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     pkg-config
     gettext
     meson
diff --git a/pkgs/desktops/gnome/games/iagno/default.nix b/pkgs/desktops/gnome/games/iagno/default.nix
index 4dc3e9eabdb72..5d3edfe121701 100644
--- a/pkgs/desktops/gnome/games/iagno/default.nix
+++ b/pkgs/desktops/gnome/games/iagno/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , gtk3
 , gnome
+, adwaita-icon-theme
 , gdk-pixbuf
 , librsvg
 , wrapGAppsHook3
@@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     gdk-pixbuf
     librsvg
     gsound
diff --git a/pkgs/desktops/gnome/games/lightsoff/default.nix b/pkgs/desktops/gnome/games/lightsoff/default.nix
index 1884fe869122e..c11c325194c3f 100644
--- a/pkgs/desktops/gnome/games/lightsoff/default.nix
+++ b/pkgs/desktops/gnome/games/lightsoff/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, vala, pkg-config, gtk3, gnome, gdk-pixbuf, librsvg, wrapGAppsHook3
+{ lib, stdenv, fetchurl, vala, pkg-config, gtk3, gnome, adwaita-icon-theme, gdk-pixbuf, librsvg, wrapGAppsHook3
 , gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib
 , meson, ninja, python3 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     vala pkg-config wrapGAppsHook3 itstool gettext appstream-glib libxml2
     meson ninja python3
   ];
-  buildInputs = [ gtk3 gnome.adwaita-icon-theme gdk-pixbuf librsvg clutter clutter-gtk ];
+  buildInputs = [ gtk3 adwaita-icon-theme gdk-pixbuf librsvg clutter clutter-gtk ];
 
   postPatch = ''
     chmod +x build-aux/meson_post_install.py
diff --git a/pkgs/desktops/gnome/games/quadrapassel/default.nix b/pkgs/desktops/gnome/games/quadrapassel/default.nix
index d867ad4f16a3c..6fd72f4446909 100644
--- a/pkgs/desktops/gnome/games/quadrapassel/default.nix
+++ b/pkgs/desktops/gnome/games/quadrapassel/default.nix
@@ -5,6 +5,7 @@
   pkg-config,
   gtk3,
   gnome,
+  adwaita-icon-theme,
   gdk-pixbuf,
   librsvg,
   gsound,
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
     vala
     desktop-file-utils
     pkg-config
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     libxml2
     itstool
     gettext
diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix
index fac4a1fb57769..1199cbbf6066e 100644
--- a/pkgs/desktops/gnome/games/tali/default.nix
+++ b/pkgs/desktops/gnome/games/tali/default.nix
@@ -5,6 +5,7 @@
   pkg-config,
   gtk3,
   gnome,
+  adwaita-icon-theme,
   gdk-pixbuf,
   librsvg,
   libgnome-games-support,
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
     python3
     desktop-file-utils
     pkg-config
-    gnome.adwaita-icon-theme
+    adwaita-icon-theme
     libxml2
     itstool
     gettext
diff --git a/pkgs/desktops/gnome/misc/geary/default.nix b/pkgs/desktops/gnome/misc/geary/default.nix
deleted file mode 100644
index 461402dda8b3d..0000000000000
--- a/pkgs/desktops/gnome/misc/geary/default.nix
+++ /dev/null
@@ -1,157 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, pkg-config
-, gtk3
-, vala
-, enchant2
-, wrapGAppsHook3
-, meson
-, ninja
-, desktop-file-utils
-, gnome-online-accounts
-, gsettings-desktop-schemas
-, adwaita-icon-theme
-, libpeas
-, libsecret
-, gmime3
-, isocodes
-, icu
-, libxml2
-, gettext
-, sqlite
-, gcr
-, json-glib
-, itstool
-, libgee
-, gnome
-, webkitgtk_4_1
-, python3
-, gnutls
-, cacert
-, xvfb-run
-, glibcLocales
-, dbus
-, shared-mime-info
-, libunwind
-, folks
-, glib-networking
-, gobject-introspection
-, gspell
-, appstream-glib
-, libstemmer
-, libytnef
-, libhandy
-, gsound
-}:
-
-stdenv.mkDerivation rec {
-  pname = "geary";
-  version = "46.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "r60VEwKBfd8Ji15BbnrH8tXupWejuAu5C9PGKv0TuaE=";
-  };
-
-  nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
-    gettext
-    gobject-introspection
-    itstool
-    libxml2
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    adwaita-icon-theme
-    enchant2
-    folks
-    gcr
-    glib-networking
-    gmime3
-    gnome-online-accounts
-    gsettings-desktop-schemas
-    gsound
-    gspell
-    gtk3
-    isocodes
-    icu
-    json-glib
-    libgee
-    libhandy
-    libpeas
-    libsecret
-    libunwind
-    libstemmer
-    libytnef
-    sqlite
-    webkitgtk_4_1
-  ];
-
-  nativeCheckInputs = [
-    dbus
-    gnutls # for certtool
-    cacert # trust store for glib-networking
-    xvfb-run
-    glibcLocales # required by Geary.ImapDb.DatabaseTest/utf8_case_insensitive_collation
-  ];
-
-  mesonFlags = [
-    "-Dprofile=release"
-    "-Dcontractor=enabled" # install the contractor file (Pantheon specific)
-  ];
-
-  # NOTE: Remove `build-auxyaml_to_json.py` when no longer needed, see:
-  # https://gitlab.gnome.org/GNOME/geary/commit/f7f72143e0f00ca5e0e6a798691805c53976ae31#0cc1139e3347f573ae1feee5b73dbc8a8a21fcfa
-  postPatch = ''
-    chmod +x build-aux/git_version.py
-
-    patchShebangs build-aux/git_version.py
-
-    chmod +x desktop/geary-attach
-  '';
-
-  # Some tests time out.
-  doCheck = false;
-
-  checkPhase = ''
-    runHook preCheck
-
-    NO_AT_BRIDGE=1 \
-    GIO_EXTRA_MODULES=$GIO_EXTRA_MODULES:${glib-networking}/lib/gio/modules \
-    HOME=$TMPDIR \
-    XDG_DATA_DIRS=$XDG_DATA_DIRS:${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${shared-mime-info}/share:${folks}/share/gsettings-schemas/${folks.name} \
-    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
-      --config-file=${dbus}/share/dbus-1/session.conf \
-      meson test -v --no-stdsplit
-
-    runHook postCheck
-  '';
-
-  preFixup = ''
-    # Add geary to path for geary-attach
-    gappsWrapperArgs+=(--prefix PATH : "$out/bin")
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/geary";
-    description = "Mail client for GNOME 3";
-    maintainers = teams.gnome.members;
-    license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/gitg/default.nix b/pkgs/desktops/gnome/misc/gitg/default.nix
deleted file mode 100644
index 923f1ccc28bfd..0000000000000
--- a/pkgs/desktops/gnome/misc/gitg/default.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, vala
-, pkg-config
-, gtk3
-, glib
-, gpgme
-, json-glib
-, wrapGAppsHook3
-, libpeas
-, bash
-, gobject-introspection
-, gtksourceview4
-, gsettings-desktop-schemas
-, gnome
-, gspell
-, gvfs
-, shared-mime-info
-, libgee
-, libgit2-glib
-, libhandy
-, libsecret
-, libxml2
-, meson
-, ninja
-, python3
-, libdazzle
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gitg";
-  version = "44";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-NCoxaE2rlnHNNBvT485mWtzuBGDCoIHdxJPNvAMTJTA=";
-  };
-
-  nativeBuildInputs = [
-    gobject-introspection
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    glib
-    gpgme
-    gsettings-desktop-schemas
-    gtk3
-    gtksourceview4
-    gspell
-    gvfs
-    json-glib
-    libdazzle
-    libgee
-    libgit2-glib
-    libhandy
-    libpeas
-    libsecret
-    libxml2
-  ];
-
-  doCheck = true;
-
-  postPatch = ''
-    patchShebangs meson_post_install.py
-
-    substituteInPlace tests/libgitg/test-commit.vala --replace-fail "/bin/bash" "${bash}/bin/bash"
-  '';
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      # Thumbnailers
-      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
-    )
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-    };
-  };
-
-  strictDeps = true;
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/gitg";
-    description = "GNOME GUI client to view git repositories";
-    mainProgram = "gitg";
-    maintainers = with maintainers; [ domenkozar Luflosi ];
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
deleted file mode 100644
index 8d1adac088e88..0000000000000
--- a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gnome
-, gtk3
-, glib
-, gobject-introspection
-, libarchive
-, vala
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-autoar";
-  version = "0.4.4";
-
-  outputs = [ "out" "dev" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "wK++MzvPPLFEGh9XTMjsexuBl3eRRdTt7uKJb9rPw8I=";
-  };
-
-  nativeBuildInputs = [
-    gobject-introspection
-    meson
-    ninja
-    pkg-config
-    vala
-  ];
-
-  buildInputs = [
-    gtk3
-  ];
-
-  propagatedBuildInputs = [
-    libarchive
-    glib
-  ];
-
-  mesonFlags = [
-    "-Dvapi=true"
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-autoar";
-      attrPath = "gnome.gnome-autoar";
-    };
-  };
-
-  meta = with lib; {
-    platforms = platforms.linux;
-    maintainers = teams.gnome.members;
-    license = licenses.lgpl21Plus;
-    description = "Library to integrate compressed files management with GNOME";
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome/misc/gnome-packagekit/default.nix
deleted file mode 100644
index 6e2f9168e54f0..0000000000000
--- a/pkgs/desktops/gnome/misc/gnome-packagekit/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, pkg-config
-, meson
-, ninja
-, gettext
-, gnome
-, packagekit
-, polkit
-, gtk3
-, systemd
-, wrapGAppsHook3
-, desktop-file-utils
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-packagekit";
-  version = "43.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-packagekit/${lib.versions.major version}/gnome-packagekit-${version}.tar.xz";
-    sha256 = "zaRVplKpI7LqL3Axa9D92Clve2Lu8/r9nOUMjmbF8ZU=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    meson
-    ninja
-    gettext
-    wrapGAppsHook3
-    desktop-file-utils
-  ];
-
-  buildInputs = [
-    gtk3
-    packagekit
-    systemd
-    polkit
-  ];
-
-  postPatch = ''
-    patchShebangs meson_post_install.sh
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-packagekit";
-      attrPath = "gnome.gnome-packagekit";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://www.freedesktop.org/software/PackageKit/";
-    platforms = platforms.linux;
-    maintainers = teams.gnome.members;
-    license = licenses.gpl2;
-    description = "Tools for installing software on the GNOME desktop using PackageKit";
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
deleted file mode 100644
index a145e9e2d8e3b..0000000000000
--- a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ lib
-, meson
-, ninja
-, fetchurl
-, desktop-file-utils
-, gdk-pixbuf
-, gettext
-, glib
-, gnome
-, gnome-desktop
-, gobject-introspection
-, gsettings-desktop-schemas
-, gtk4
-, itstool
-, libadwaita
-, libgudev
-, libnotify
-, libxml2
-, pkg-config
-, python3Packages
-, wrapGAppsHook4
-}:
-
-python3Packages.buildPythonApplication rec {
-  pname = "gnome-tweaks";
-  version = "46.1";
-  format = "other";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-LxkqcIX71oQ+z4JXFtnaIeyScgKRSeo18+FZ4Kwwm4A=";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    gobject-introspection
-    itstool
-    libxml2
-    meson
-    ninja
-    pkg-config
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    gdk-pixbuf
-    glib
-    gnome-desktop
-    gnome.gnome-settings-daemon
-    gnome.gnome-shell
-    # Makes it possible to select user themes through the `user-theme` extension
-    gnome.gnome-shell-extensions
-    gnome.mutter
-    gsettings-desktop-schemas
-    gtk4
-    libadwaita
-    libgudev
-    libnotify
-  ];
-
-  pythonPath = with python3Packages; [
-    pygobject3
-  ];
-
-  postPatch = ''
-    patchShebangs meson-postinstall.py
-  '';
-
-  dontWrapGApps = true;
-
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
-  postFixup = ''
-    wrapPythonProgramsIn "$out/libexec" "$out $pythonPath"
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-tweaks";
-    description = "Tool to customize advanced GNOME 3 options";
-    mainProgram = "gnome-tweaks";
-    maintainers = teams.gnome.members;
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/gpaste/default.nix b/pkgs/desktops/gnome/misc/gpaste/default.nix
deleted file mode 100644
index 16da276b64b55..0000000000000
--- a/pkgs/desktops/gnome/misc/gpaste/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, gjs
-, glib
-, gobject-introspection
-, gtk3
-, gtk4
-, gcr_4
-, libadwaita
-, meson
-, ninja
-, pango
-, pkg-config
-, vala
-, desktop-file-utils
-, wrapGAppsHook3
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  version = "45.1";
-  pname = "gpaste";
-
-  src = fetchurl {
-    url = "https://www.imagination-land.org/files/gpaste/GPaste-${finalAttrs.version}.tar.xz";
-    hash = "sha256-yYLoHn3/2xlefBeErnydNfkvtJva8/9f9JHhfschBpQ=";
-  };
-
-  patches = [
-    ./fix-paths.patch
-  ];
-
-  # TODO: switch to substituteAll with placeholder
-  # https://github.com/NixOS/nix/issues/1846
-  postPatch = ''
-    substituteInPlace src/libgpaste/gpaste/gpaste-settings.c \
-      --subst-var-by gschemasCompiled ${glib.makeSchemaPath (placeholder "out") "${finalAttrs.pname}-${finalAttrs.version}"}
-  '';
-
-  nativeBuildInputs = [
-    gobject-introspection
-    meson
-    ninja
-    pkg-config
-    vala
-    desktop-file-utils
-    wrapGAppsHook3
-  ];
-
-  buildInputs = [
-    gjs
-    glib
-    gtk3
-    gtk4
-    gcr_4
-    libadwaita
-    pango
-  ];
-
-  mesonFlags = [
-    "-Dcontrol-center-keybindings-dir=${placeholder "out"}/share/gnome-control-center/keybindings"
-    "-Ddbus-services-dir=${placeholder "out"}/share/dbus-1/services"
-    "-Dsystemd-user-unit-dir=${placeholder "out"}/etc/systemd/user"
-  ];
-
-  postInstall = ''
-    # We do not have central location to install typelibs to,
-    # let’s ensure GNOME Shell can still find them.
-    extensionDir="$out/share/gnome-shell/extensions/GPaste@gnome-shell-extensions.gnome.org"
-    mv "$extensionDir/"{extension,.extension-wrapped}.js
-    mv "$extensionDir/"{prefs,.prefs-wrapped}.js
-    substitute "${./wrapper.js}" "$extensionDir/extension.js" \
-      --subst-var-by originalName "extension" \
-      --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
-    substitute "${./wrapper.js}" "$extensionDir/prefs.js" \
-      --subst-var-by originalName "prefs" \
-      --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/Keruspe/GPaste";
-    description = "Clipboard management system with GNOME integration";
-    mainProgram = "gpaste-client";
-    license = licenses.bsd2;
-    platforms = platforms.linux;
-    maintainers = teams.gnome.members;
-  };
-})
diff --git a/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch b/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch
deleted file mode 100644
index ebebc8a20bd66..0000000000000
--- a/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/libgpaste/gpaste/gpaste-settings.c b/src/libgpaste/gpaste/gpaste-settings.c
-index 830f5e0b..c8df0e11 100644
---- a/src/libgpaste/gpaste/gpaste-settings.c
-+++ b/src/libgpaste/gpaste/gpaste-settings.c
-@@ -1039,7 +1039,10 @@ create_g_settings (void)
-     }
-     else
-     {
--        return g_settings_new (G_PASTE_SETTINGS_NAME);
-+        // library used by introspection requires schemas but we cannot set XDG_DATA_DIRS for the library
-+        g_autoptr (GSettingsSchemaSource) schema_source = g_settings_schema_source_new_from_directory ("@gschemasCompiled@", NULL, FALSE, NULL);
-+        g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, G_PASTE_SETTINGS_NAME, FALSE);
-+        return g_settings_new_full (schema, NULL, NULL);
-     }
- }
- 
diff --git a/pkgs/desktops/gnome/misc/gpaste/wrapper.js b/pkgs/desktops/gnome/misc/gpaste/wrapper.js
deleted file mode 100644
index ea6a9cba6f6fb..0000000000000
--- a/pkgs/desktops/gnome/misc/gpaste/wrapper.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import GIRepository from 'gi://GIRepository';
-
-GIRepository.Repository.prepend_search_path('@typelibDir@');
-
-export default (await import('./.@originalName@-wrapped.js')).default;
diff --git a/pkgs/desktops/gnome/misc/gtkhtml/default.nix b/pkgs/desktops/gnome/misc/gtkhtml/default.nix
index 9eb93bc8bc44a..34dca7091557a 100644
--- a/pkgs/desktops/gnome/misc/gtkhtml/default.nix
+++ b/pkgs/desktops/gnome/misc/gtkhtml/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, gtk3, intltool
-, gnome, enchant, isocodes, gsettings-desktop-schemas }:
+, gnome, adwaita-icon-theme, enchant, isocodes, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   pname = "gtkhtml";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config intltool ];
-  buildInputs = [ gtk3 gnome.adwaita-icon-theme
+  buildInputs = [ gtk3 adwaita-icon-theme
                   gsettings-desktop-schemas ];
 
   propagatedBuildInputs = [ enchant isocodes ];
diff --git a/pkgs/desktops/gnome/misc/nautilus-python/default.nix b/pkgs/desktops/gnome/misc/nautilus-python/default.nix
deleted file mode 100644
index 73767f31219de..0000000000000
--- a/pkgs/desktops/gnome/misc/nautilus-python/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ stdenv
-, lib
-, substituteAll
-, fetchurl
-, meson
-, ninja
-, pkg-config
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_412
-, python3
-, nautilus
-, gnome
-}:
-
-stdenv.mkDerivation rec {
-  pname = "nautilus-python";
-  version = "4.0.1";
-
-  outputs = [ "out" "dev" "doc" "devdoc" ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/nautilus-python/${lib.versions.majorMinor version}/nautilus-python-${version}.tar.xz";
-    hash = "sha256-/EnBBPsyoK0ZWmawE2eEzRnRDYs+jVnV7n9z6PlOko8=";
-  };
-
-  patches = [
-    # Make PyGObject’s gi library available.
-    (substituteAll {
-      src = ./fix-paths.patch;
-      pythonPaths = lib.concatMapStringsSep ", " (pkg: "'${pkg}/${python3.sitePackages}'") [
-        python3.pkgs.pygobject3
-      ];
-    })
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-    meson
-    ninja
-    gtk-doc
-    docbook-xsl-nons
-    docbook_xml_dtd_412
-  ];
-
-  buildInputs = [
-    python3
-    python3.pkgs.pygobject3
-    nautilus
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
-  };
-
-  meta = with lib; {
-    description = "Python bindings for the Nautilus Extension API";
-    homepage = "https://gitlab.gnome.org/GNOME/nautilus-python";
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/nautilus-python/fix-paths.patch b/pkgs/desktops/gnome/misc/nautilus-python/fix-paths.patch
deleted file mode 100644
index ba82937d6c9c5..0000000000000
--- a/pkgs/desktops/gnome/misc/nautilus-python/fix-paths.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/nautilus-python.c b/src/nautilus-python.c
-index 843e3c6..466a513 100644
---- a/src/nautilus-python.c
-+++ b/src/nautilus-python.c
-@@ -184,6 +184,9 @@ nautilus_python_init_python (void) {
-         return FALSE;
-     }
- 
-+    debug("Add PyGObject to path");
-+    PyRun_SimpleString("import site;import functools; functools.reduce(lambda k, p: site.addsitedir(p, k), [@pythonPaths@], site._init_pathinfo())");
-+
-     /* import gobject */
-     debug("init_pygobject");
-     if (!np_init_pygobject()) {
diff --git a/pkgs/desktops/gnome/misc/pomodoro/default.nix b/pkgs/desktops/gnome/misc/pomodoro/default.nix
deleted file mode 100644
index 4261ebaec1efd..0000000000000
--- a/pkgs/desktops/gnome/misc/pomodoro/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, substituteAll
-, meson
-, ninja
-, pkg-config
-, wrapGAppsHook3
-, desktop-file-utils
-, libcanberra
-, gst_all_1
-, vala
-, gtk3
-, gom
-, sqlite
-, libxml2
-, glib
-, gobject-introspection
-, json-glib
-, libpeas
-, gsettings-desktop-schemas
-, gettext
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-pomodoro";
-  version = "0.24.1";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = version;
-    hash = "sha256-Ml3znMz1Q9593rMgfAST8k9QglxMG9ocFD7W8kaFWCw=";
-  };
-
-  patches = [
-    # Our glib setup hooks moves GSettings schemas to a subdirectory to prevent conflicts.
-    # We need to patch the build script so that the extension can find them.
-    (substituteAll {
-      src = ./fix-schema-path.patch;
-      inherit pname version;
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    gettext
-    gobject-introspection
-    libxml2
-    pkg-config
-    vala
-    wrapGAppsHook3
-    desktop-file-utils
-  ];
-
-  buildInputs = [
-    glib
-    gom
-    gsettings-desktop-schemas
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-    gst_all_1.gstreamer
-    gtk3
-    json-glib
-    libcanberra
-    libpeas
-    sqlite
-  ];
-
-  meta = with lib; {
-    homepage = "https://gnomepomodoro.org/";
-    description = "Time management utility for GNOME based on the pomodoro technique";
-    mainProgram = "gnome-pomodoro";
-    longDescription = ''
-      This GNOME utility helps to manage time according to Pomodoro Technique.
-      It intends to improve productivity and focus by taking short breaks.
-    '';
-    maintainers = with maintainers; [ ];
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome/misc/pomodoro/fix-schema-path.patch b/pkgs/desktops/gnome/misc/pomodoro/fix-schema-path.patch
deleted file mode 100644
index 0750d01f86757..0000000000000
--- a/pkgs/desktops/gnome/misc/pomodoro/fix-schema-path.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/data/meson.build b/data/meson.build
-index 5e4ce69..982b3c9 100644
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -31,7 +31,7 @@ i18n.merge_file(
- 
- install_data(
-   'org.gnome.pomodoro.gschema.xml',
--  install_dir: get_option('datadir') / 'glib-2.0' / 'schemas',
-+  install_dir: gschema_dir,
- )
- 
- subdir('icons')
-diff --git a/meson-post-install.sh b/meson-post-install.sh
-index bf4013a..c87fba4 100644
---- a/meson-post-install.sh
-+++ b/meson-post-install.sh
-@@ -7,7 +7,7 @@ datadir="${prefix}/$1"
- # want/need us to do the below
- if [ -z "${DESTDIR}" ]; then
-     echo "Compiling GSchema..."
--    glib-compile-schemas "${datadir}/glib-2.0/schemas"
-+    glib-compile-schemas "${datadir}/gsettings-schemas/@pname@-@version@/glib-2.0/schemas"
- 
-     echo "Updating icon cache..."
-     gtk-update-icon-cache -f -t "${datadir}/icons/hicolor"
-diff --git a/meson.build b/meson.build
-index 09857a1..a07d27c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -40,7 +40,8 @@ add_project_arguments(
- )
- 
- # We are going to use these variables later on for the plugins
--gschema_dir = get_option('prefix') / get_option('datadir') / 'glib-2.0' / 'schemas'
-+nix_package_name = '@pname@' + '-' + '@version@'
-+gschema_dir = get_option('prefix') / get_option('datadir') / 'gsettings-schemas' / nix_package_name / 'glib-2.0' / 'schemas'
- plugin_libdir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'plugins'
- extension_dir = get_option('prefix') / get_option('datadir') / 'gnome-shell' / 'extensions' / 'pomodoro@arun.codito.in'
- 
diff --git a/pkgs/desktops/lomiri/services/history-service/default.nix b/pkgs/desktops/lomiri/services/history-service/default.nix
index 86866db3ce92e..8e386ac5c1a2f 100644
--- a/pkgs/desktops/lomiri/services/history-service/default.nix
+++ b/pkgs/desktops/lomiri/services/history-service/default.nix
@@ -8,7 +8,7 @@
 , dbus
 , dbus-test-runner
 , dconf
-, gnome
+, gnome-keyring
 , libphonenumber
 , libqtdbustest
 , pkg-config
@@ -142,7 +142,7 @@ stdenv.mkDerivation (finalAttrs: {
     dbus
     dbus-test-runner
     dconf
-    gnome.gnome-keyring
+    gnome-keyring
     telepathy-mission-control
     xvfb-run
   ];
diff --git a/pkgs/desktops/lomiri/services/telephony-service/default.nix b/pkgs/desktops/lomiri/services/telephony-service/default.nix
index 15f6ab1679722..652958eeb87ff 100644
--- a/pkgs/desktops/lomiri/services/telephony-service/default.nix
+++ b/pkgs/desktops/lomiri/services/telephony-service/default.nix
@@ -13,7 +13,7 @@
 , dconf
 , gettext
 , glib
-, gnome
+, gnome-keyring
 , history-service
 , libnotify
 , libphonenumber
@@ -114,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeCheckInputs = [
     dbus-test-runner
     dconf
-    gnome.gnome-keyring
+    gnome-keyring
     telepathy-mission-control
     xvfb-run
   ];
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 7006e66d136c6..4baa57b6c8c10 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -11,7 +11,7 @@
 , libXpresent
 , libXres
 , libstartup_notification
-, gnome
+, zenity
 , glib
 , gtk3
 , mate-desktop
@@ -45,14 +45,14 @@ stdenv.mkDerivation rec {
     libXres
     libstartup_notification
     gtk3
-    gnome.zenity
+    zenity
     mate-desktop
     mate-settings-daemon
   ];
 
   postPatch = ''
     substituteInPlace src/core/util.c \
-      --replace-fail 'argvl[i++] = "zenity"' 'argvl[i++] = "${gnome.zenity}/bin/zenity"'
+      --replace-fail 'argvl[i++] = "zenity"' 'argvl[i++] = "${zenity}/bin/zenity"'
   '';
 
   env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 2762c0ce36057..db6edf8df3f04 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -5,7 +5,6 @@
 , gettext
 , itstool
 , glib
-, gnome
 , gtk-layer-shell
 , gtk3
 , libmateweather
@@ -13,6 +12,7 @@
 , librsvg
 , libxml2
 , dconf
+, dconf-editor
 , mate-desktop
 , mate-menus
 , hicolor-icon-theme
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     gtk3
     # See https://github.com/mate-desktop/mate-panel/issues/1402
     # This is propagated for mate_panel_applet_settings_new and applet's wrapGAppsHook3
-    gnome.dconf-editor
+    dconf-editor
   ];
 
   # Needed for Wayland support.
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index 58a4ba65f1acf..26d3f16a523a5 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -98,14 +98,12 @@ lib.makeScope pkgs.newScope (self: with self; {
   elementary-print-shim = callPackage ./desktop/elementary-print-shim { };
 
   elementary-session-settings = callPackage ./desktop/elementary-session-settings {
-    inherit (gnome) gnome-session gnome-keyring;
+    inherit (gnome) gnome-session;
   };
 
   elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { };
 
-  file-roller-contract = callPackage ./desktop/file-roller-contract {
-    inherit (gnome) file-roller;
-  };
+  file-roller-contract = callPackage ./desktop/file-roller-contract { };
 
   gala = callPackage ./desktop/gala { };
 
@@ -236,11 +234,11 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-screenshot-tool = throw "The ‘pantheon.elementary-screenshot-tool’ alias was removed on 2022-02-02, please use ‘pantheon.elementary-screenshot’ directly."; # added 2021-07-21
 
-  evince = pkgs.gnome.evince; # added 2022-03-18
+  evince = pkgs.evince; # added 2022-03-18
 
   extra-elementary-contracts = throw "extra-elementary-contracts has been removed as all contracts have been upstreamed."; # added 2021-12-01
 
-  file-roller = pkgs.gnome.file-roller; # added 2022-03-12
+  file-roller = pkgs.file-roller; # added 2022-03-12
 
   gnome-bluetooth-contract = throw "pantheon.gnome-bluetooth-contract has been removed, abandoned by upstream."; # added 2022-06-30
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index f609bf6cc060c..14c2244a760ad 100644
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -16,7 +16,7 @@
 , xfce4-panel
 , xfconf
 , curl
-, gnome
+, zenity
 , jq
 , xclip
 }:
@@ -54,7 +54,7 @@ mkXfceDerivation {
     # For Imgur upload action
     # https://gitlab.xfce.org/apps/xfce4-screenshooter/-/merge_requests/51
     gappsWrapperArgs+=(
-      --prefix PATH : ${lib.makeBinPath [ curl gnome.zenity jq xclip ]}
+      --prefix PATH : ${lib.makeBinPath [ curl zenity jq xclip ]}
     )
   '';