about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnome-3/core
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-01-11 23:37:02 +0000
committerAlyssa Ross <hi@alyssa.is>2020-01-11 23:41:30 +0000
commit6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch)
tree035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/desktops/gnome-3/core
parentda7500bc026e937ac7fce7b50f67a0e1765737a7 (diff)
parente4134747f5666bcab8680aff67fa3b63384f9a0f (diff)
downloadnixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome-3/core')
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix56
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix137
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix90
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix74
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix33
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix51
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix109
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch67
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf5
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch11
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch14
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix36
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix86
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix45
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch25
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix120
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch132
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch63
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch15
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix83
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix69
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix28
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix33
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix34
56 files changed, 1122 insertions, 535 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
index a7f4a637b178..4900717898fd 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "adwaita-icon-theme";
-  version = "3.32.0";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9";
+    sha256 = "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix
index 4734a0e96b8c..5817d8ff942a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/baobab/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "baobab";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r";
+    sha256 = "01w6m5ylyqs4wslpjn1hg6n6ynwh3rghksak0qs8r9m6dm3dkss6";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index 7f4f84fa5fe1..5934f56274cb 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,24 +1,23 @@
-{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
-, libxml2, gettext, docbook_xsl, hicolor-icon-theme, wrapGAppsHook, gobject-introspection }:
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3, dconf
+, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
 
 let
   pname = "dconf-editor";
-  version = "3.32.0";
+  version = "3.34.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi";
+    sha256 = "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f";
   };
 
   nativeBuildInputs = [
     meson ninja vala libxslt pkgconfig wrapGAppsHook
     gettext docbook_xsl libxml2 gobject-introspection python3
-    hicolor-icon-theme # for setup-hook
   ];
 
-  buildInputs = [ glib gtk3 gnome3.dconf ];
+  buildInputs = [ glib gtk3 dconf ];
 
   postPatch = ''
     chmod +x meson_post_install.py
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix
deleted file mode 100644
index 43f8dd08dbff..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchurl, meson, ninja, python3, vala, libxslt, pkgconfig, glib, bash-completion, dbus, gnome3
-, libxml2, gtk-doc, docbook_xsl, docbook_xml_dtd_42, fetchpatch }:
-
-let
-  pname = "dconf";
-in
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "0.32.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38";
-  };
-
-  patches = [
-    # Fix the build on Darwin
-    # Issue: https://gitlab.gnome.org/GNOME/dconf/issues/47
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/dconf/commit/49f4d916e1151af3975df52c522c69de98ed2fbb.patch";
-      sha256 = "00klkr1jzli9ap0aj6399m1bj2bxxz48pmcj4r16dsy6dfdl6325";
-    })
-  ];
-
-  postPatch = ''
-    chmod +x meson_post_install.py tests/test-dconf.py
-    patchShebangs meson_post_install.py
-    patchShebangs tests/test-dconf.py
-  '';
-
-  outputs = [ "out" "lib" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 gtk-doc docbook_xsl docbook_xml_dtd_42 ];
-  buildInputs = [ glib bash-completion dbus ];
-
-  mesonFlags = [
-    "--sysconfdir=/etc"
-    "-Dgtk_doc=true"
-  ];
-
-  doCheck = !stdenv.isAarch32 && !stdenv.isAarch64 && !stdenv.isDarwin;
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "gnome3.${pname}";
-    };
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/dconf;
-    license = licenses.lgpl21Plus;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = gnome3.maintainers;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix
index 5e4bbf8cce17..067772524622 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/empathy/default.nix
@@ -1,13 +1,54 @@
-{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, gnome3, gdk-pixbuf, python3
-, telepathy-glib, telepathy-farstream, glibcLocales
-, clutter-gtk, clutter-gst, gst_all_1, cogl, gnome-online-accounts
-, gcr, libsecret, folks, libpulseaudio, telepathy-mission-control
-, telepathy-logger, libnotify, clutter, libsoup, gnutls
-, evolution-data-server, yelp-xsl
-, libcanberra-gtk3, p11-kit, farstream, libtool, shared-mime-info
-, wrapGAppsHook, itstool, libxml2, libxslt, icu, libgee, gsettings-desktop-schemas
-, isocodes, enchant, libchamplain, geoclue2, geocode-glib, cheese, libgudev }:
+{ stdenv
+, intltool
+, fetchurl
+, webkitgtk
+, pkgconfig
+, gtk3
+, glib
+, file
+, librsvg
+, gnome3
+, gdk-pixbuf
+, python3
+, telepathy-glib
+, telepathy-farstream
+, clutter-gtk
+, clutter-gst
+, gst_all_1
+, cogl
+, gnome-online-accounts
+, gcr
+, libsecret
+, folks
+, libpulseaudio
+, telepathy-mission-control
+, telepathy-logger
+, libnotify
+, clutter
+, libsoup
+, gnutls
+, evolution-data-server
+, yelp-xsl
+, libcanberra-gtk3
+, p11-kit
+, farstream
+, libtool
+, shared-mime-info
+, wrapGAppsHook
+, itstool
+, libxml2
+, libxslt
+, icu
+, libgee
+, gsettings-desktop-schemas
+, isocodes
+, enchant
+, libchamplain
+, geoclue2
+, geocode-glib
+, cheese
+, libgudev
+}:
 
 stdenv.mkDerivation rec {
   pname = "empathy";
@@ -18,34 +59,76 @@ stdenv.mkDerivation rec {
     sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc";
   };
 
-  propagatedUserEnvPkgs = [
-    gnome-online-accounts shared-mime-info
-  ];
   propagatedBuildInputs = [
-    folks telepathy-logger evolution-data-server telepathy-mission-control
+    folks
+    telepathy-logger
+    evolution-data-server
+    telepathy-mission-control
   ];
+
   nativeBuildInputs = [
-    pkgconfig libtool intltool itstool file wrapGAppsHook
-    libxml2 libxslt yelp-xsl python3 glibcLocales
+    pkgconfig
+    libtool
+    intltool
+    itstool
+    file
+    wrapGAppsHook
+    libxml2
+    libxslt
+    yelp-xsl
+    python3
   ];
+
   buildInputs = [
-    gtk3 glib webkitgtk icu gnome-online-accounts
-    telepathy-glib clutter-gtk clutter-gst cogl
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base
-    gcr libsecret libpulseaudio gdk-pixbuf
-    libnotify clutter libsoup gnutls libgee p11-kit
-    libcanberra-gtk3 telepathy-farstream farstream
-    gnome3.adwaita-icon-theme gsettings-desktop-schemas
+    gtk3
+    glib
+    webkitgtk
+    icu
+    gnome-online-accounts
+    telepathy-glib
+    clutter-gtk
+    clutter-gst
+    cogl
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gcr
+    libsecret
+    libpulseaudio
+    gdk-pixbuf
+    libnotify
+    clutter
+    libsoup
+    gnutls
+    libgee
+    p11-kit
+    libcanberra-gtk3
+    telepathy-farstream
+    farstream
+    gnome3.adwaita-icon-theme
+    gsettings-desktop-schemas
     librsvg
+
     # Spell-checking
-    enchant isocodes
+    enchant
+    isocodes
+
     # Display maps, location awareness, geocode support
-    libchamplain geoclue2 geocode-glib
+    libchamplain
+    geoclue2
+    geocode-glib
+
     # Cheese webcam support, camera monitoring
-    cheese libgudev
+    cheese
+    libgudev
   ];
 
-  LC_ALL = "en_US.UTF-8";
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    )
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
index 8bb727a6fc53..80ef1f4659f1 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "eog";
-  version = "3.32.2";
+  version = "3.34.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy";
+    sha256 = "1lx96nn8q61ajk2m5454s9b5v5wyn7jbz2sf3k1irv8waiq0aavg";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobject-introspection python3 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix
index c52162ce7f1d..46f0f4191dff 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -1,32 +1,90 @@
-{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk3, glib, icu
-, wrapGAppsHook, gnome3, libxml2, libxslt, itstool
-, webkitgtk, libsoup, glib-networking, libsecret, gnome-desktop, libnotify, p11-kit
-, sqlite, gcr, isocodes, desktop-file-utils, python3, nettle
-, gdk-pixbuf, gst_all_1, json-glib, libdazzle, libhandy }:
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, pkgconfig
+, gtk3
+, glib
+, icu
+, wrapGAppsHook
+, gnome3
+, libxml2
+, libxslt
+, itstool
+, webkitgtk
+, libsoup
+, glib-networking
+, libsecret
+, gnome-desktop
+, libnotify
+, p11-kit
+, sqlite
+, gcr
+, isocodes
+, desktop-file-utils
+, python3
+, nettle
+, gdk-pixbuf
+, gst_all_1
+, json-glib
+, libdazzle
+, libhandy
+}:
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "3.32.4";
+  version = "3.34.3.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "15d9s295yr6m9pbwh344c4akm7rgn19y4g1xkyn7gbq1hdbjia69";
+    sha256 = "0vga9bqcv792ivnlw6pbfz17zn0nh6wq01rp60c4px08l7xpkr00";
   };
 
   # Tests need an X display
-  mesonFlags = [ "-Dunit_tests=disabled" ];
+  mesonFlags = [
+    "-Dunit_tests=disabled"
+  ];
 
   nativeBuildInputs = [
-    meson ninja libxslt pkgconfig itstool gettext wrapGAppsHook desktop-file-utils python3
+    desktop-file-utils
+    gettext
+    itstool
+    libxslt
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    gtk3 glib webkitgtk libsoup libxml2 libsecret gnome-desktop libnotify
-    sqlite isocodes p11-kit icu libhandy
-    gdk-pixbuf gnome3.adwaita-icon-theme gcr
-    glib-networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
-    gst_all_1.gst-libav json-glib libdazzle nettle
+    gcr
+    gdk-pixbuf
+    glib
+    glib-networking
+    gnome-desktop
+    gnome3.adwaita-icon-theme
+    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
+    gtk3
+    icu
+    isocodes
+    json-glib
+    libdazzle
+    libhandy
+    libnotify
+    libsecret
+    libsoup
+    libxml2
+    nettle
+    p11-kit
+    sqlite
+    webkitgtk
   ];
 
   postPatch = ''
@@ -36,7 +94,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "epiphany";
+      packageName = pname;
     };
   };
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
index 9313ca8990c9..bab84eeb78ce 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,6 +1,5 @@
-{ fetchFromGitLab
-, stdenv
-, fetchpatch
+{ stdenv
+, fetchurl
 , meson
 , ninja
 , pkgconfig
@@ -34,6 +33,9 @@
 , texlive
 , t1lib
 , gst_all_1
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
 , supportMultimedia ? true # PDF multimedia
 , libgxps
 , supportXPS ? true # Open XML Paper Specification via libgxps
@@ -41,24 +43,14 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "3.32.0";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = pname;
-    rev = version;
-    sha256 = "1klq8j70q8r8hyqv1wi6jcx8g76yh46bh8614y82zzggn4cx6y3r";
-  };
+  version = "3.34.2";
 
+  outputs = [ "out" "dev" "devdoc" ];
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-11459.patch";
-      url = "https://gitlab.gnome.org/GNOME/evince/commit/3e38d5ad724a042eebadcba8c2d57b0f48b7a8c7.patch";
-      sha256 = "1ds6iwr2r9i86nwrly8cx7p1kbvf1gljjplcffa67znxqmwx4n74";
-    })
-  ];
+  src = fetchurl {
+    url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w";
+  };
 
   postPatch = ''
     chmod +x meson_post_install.py
@@ -66,39 +58,42 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
+    appstream
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+    gettext
+    gobject-introspection
+    gtk-doc
+    itstool
     meson
     ninja
     pkgconfig
-    gobject-introspection
-    gettext
-    itstool
-    yelp-tools
-    appstream
-    wrapGAppsHook
     python3
+    wrapGAppsHook
+    yelp-tools
   ];
 
   buildInputs = [
-    glib
-    gtk3
-    pango
+    adwaita-icon-theme
     atk
+    dbus # only needed to find the service directory
+    djvulibre
     gdk-pixbuf
-    libxml2
-    gsettings-desktop-schemas
-    poppler
     ghostscriptX
-    djvulibre
-    libspectre
+    glib
+    gnome-desktop
+    gsettings-desktop-schemas
+    gspell
+    gtk3
     libarchive
-    libsecret
     librsvg
-    adwaita-icon-theme
-    gspell
-    gnome-desktop
-    dbus # only needed to find the service directory
-    texlive.bin.core # kpathsea for DVI support
+    libsecret
+    libspectre
+    libxml2
+    pango
+    poppler
     t1lib
+    texlive.bin.core # kpathsea for DVI support
   ] ++ stdenv.lib.optional supportXPS libgxps
     ++ stdenv.lib.optionals supportMultimedia (with gst_all_1; [
       gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]);
@@ -106,7 +101,6 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dnautilus=false"
     "-Dps=enabled"
-    "-Dgtk_doc=false"
   ];
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index 0048b02581a7..6c293cb55b9d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.32.4";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3";
+    sha256 = "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix
index a4d2fd2be5a5..ba660a64418c 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,15 +1,29 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
-, accountsservice, libX11, gnome3, systemd, autoreconfHook
+, accountsservice, libX11, gnome3, systemd, autoreconfHook, dconf
 , gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth
-, librsvg, coreutils, xwayland }:
+, librsvg, coreutils, xwayland, nixos-icons, fetchpatch }:
+
+let
+
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/4f041870efa1a6f0799ef4b32bb7be2cafee7a74/logo/nixos.svg";
+    sha256 = "0b0dj408c1wxmzy6k0pjwc4bzwq286f1334s3cqqwdwjshxskshk";
+  };
+
+  override = substituteAll {
+    src = ./org.gnome.login-screen.gschema.override;
+    inherit icon;
+  };
+
+in
 
 stdenv.mkDerivation rec {
   pname = "gdm";
-  version = "3.32.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4";
+    sha256 = "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8";
   };
 
   # Only needed to make it build
@@ -17,17 +31,19 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
   '';
 
+  initialVT = "7";
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-plymouth=yes"
     "--enable-gdm-xsession"
-    "--with-initial-vt=7"
+    "--with-initial-vt=${initialVT}"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--with-udevdir=$(out)/lib/udev"
   ];
 
-  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ];
+  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool dconf ];
   buildInputs = [
     glib accountsservice systemd
     gobject-introspection libX11 gtk3
@@ -65,6 +81,11 @@ stdenv.mkDerivation rec {
     "dbusconfdir=$(out)/etc/dbus-1/system.d"
   ];
 
+  preInstall = ''
+    schema_dir=${glib.makeSchemaPath "$out" "${pname}-${version}"}
+    install -D ${override} $schema_dir/org.gnome.login-screen.gschema.override
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gdm";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override
new file mode 100644
index 000000000000..8c17f494b0f2
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override
@@ -0,0 +1,2 @@
+[org.gnome.login-screen]
+logo='@icon@'
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix
deleted file mode 100644
index 303377b8631a..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobject-introspection
-, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk-pixbuf
-, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "gjs";
-  version = "1.56.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gjs"; attrPath = "gnome3.gjs"; };
-  };
-
-  outputs = [ "out" "installedTests" ];
-
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ libxml2 gobject-introspection gtk3 glib pango readline dbus ];
-
-  propagatedBuildInputs = [ spidermonkey_60 ];
-
-  configureFlags = [
-    "--enable-installed-tests"
-  ];
-
-  postPatch = ''
-    for f in installed-tests/*.test.in; do
-      substituteInPlace "$f" --subst-var-by pkglibexecdir "$installedTests/libexec/gjs"
-    done
-  '';
-
-  postInstall = ''
-    sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
-
-    moveToOutput "share/installed-tests" "$installedTests"
-    moveToOutput "libexec/gjs/installed-tests" "$installedTests"
-
-    wrapProgram "$installedTests/libexec/gjs/installed-tests/minijasmine" \
-      --prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gtk3 atk pango.out gdk-pixbuf ]}:$installedTests/libexec/gjs/installed-tests"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "JavaScript bindings for GNOME";
-    maintainers = gnome3.maintainers;
-    platforms = platforms.linux;
-    license = licenses.lgpl2Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
index e4c772cb1d40..4b91b3219bed 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-backgrounds";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz";
+    sha256 = "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
index 817c8324c6b2..b52161f90ae1 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
@@ -6,14 +6,14 @@ let
   pname = "gnome-bluetooth";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "3.32.1";
+  version = "3.34.0";
 
   # TODO: split out "lib"
   outputs = [ "out" "dev" "devdoc" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4";
+    sha256 = "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
index df43371a4971..cabe7c9ca74b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
@@ -1,14 +1,14 @@
 { stdenv, meson, ninja, vala, gettext, itstool, fetchurl, pkgconfig, libxml2
 , gtk3, glib, gtksourceview4, wrapGAppsHook, gobject-introspection, python3
-, gnome3, mpfr, gmp, libsoup, libmpc, gsettings-desktop-schemas }:
+, gnome3, mpfr, gmp, libsoup, libmpc, gsettings-desktop-schemas, libgee }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-calculator";
-  version = "3.32.2";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41";
+    sha256 = "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd";
   };
 
   nativeBuildInputs = [
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3 glib libxml2 gtksourceview4 mpfr gmp
-    gnome3.adwaita-icon-theme
+    gnome3.adwaita-icon-theme libgee
     gsettings-desktop-schemas libsoup libmpc
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
index bcc8871bcf14..200d038d0fbf 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2, hicolor-icon-theme }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2 }:
 
 let
   pname = "gnome-color-manager";
@@ -13,8 +13,6 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja pkgconfig gettext itstool desktop-file-utils
-    # setup-hook
-    hicolor-icon-theme
   ];
 
   buildInputs = [ glib gtk3 libexif libtiff colord colord-gtk libcanberra-gtk3 lcms2 vte exiv2 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index 75a15a41f97b..d2375b5341bf 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
@@ -5,14 +5,14 @@
 , vala, meson, ninja, libhandy, gsettings-desktop-schemas }:
 
 let
-  version = "3.32.1";
+  version = "3.34.1";
 in stdenv.mkDerivation rec {
   pname = "gnome-contacts";
   inherit version;
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy";
+    sha256 = "1jqw5yrypvjxzgg70vjbryylwx06amg6sg85mqi14a97xbccg0qa";
   };
 
   propagatedUserEnvPkgs = [ evolution-data-server ];
@@ -33,15 +33,6 @@ in stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # Fixes build with libhandy >= 0.0.10
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-contacts/commit/c5eee38cd2556403a640a0a4c11d36cbf9a5a798.patch";
-      sha256 = "0s2cl7z6b0x3ky4y28yyxc9x5zp4r3vqmvbhz5m2fm6830fyjg13";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-contacts/commit/1f1500ca01098ffda6392f5ec9ce3a29a48a84b1.patch";
-      sha256 = "082zaaj2l5cgr2qy145x8yknja87r0vpigrhidal40041kd5nldg";
-    })
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index 04730f2370f5..d23469583038 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -67,11 +67,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "3.32.2";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs";
+    sha256 = "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 9d798c2811bd..6e7776367478 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
+{ stdenv, fetchurl, fetchpatch, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
 , gettext, libxml2, xkeyboard_config, isocodes, meson, wayland
 , libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "3.32.2";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9";
+    sha256 = "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0";
   };
 
   nativeBuildInputs = [
@@ -30,6 +30,14 @@ stdenv.mkDerivation rec {
       bubblewrap_bin = "${bubblewrap}/bin/bwrap";
       inherit (builtins) storeDir;
     })
+
+    # honor $XKB_CONFIG_ROOT
+    # addresses #76590: services.xserver.extraLayouts aren't honored by GNOME3
+    # NOTE: should be merged upstream in 3.36.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-desktop/commit/450446b5353e8231edded4d5b5db90a67a9fa9b7.diff";
+      sha256 = "07y989x7mbgn3rsm2qfdi8qkkc8i60k28hw87l744nlkydn78kq5";
+    })
   ];
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index d6d9f9272528..86739bb0f45a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -1,15 +1,15 @@
 { stdenv, gettext, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
 , meson, ninja, gtk3, glib, wrapGAppsHook, python3, libnotify
 , itstool, gnome3, libxml2, gsettings-desktop-schemas
-, libcanberra-gtk3, libxslt, docbook_xsl, libpwquality }:
+, libcanberra-gtk3, libxslt, docbook_xsl, libpwquality, systemd }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-disk-utility";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg";
+    sha256 = "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y";
   };
 
   nativeBuildInputs = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3 glib libsecret libpwquality libnotify libdvdread libcanberra-gtk3
-    udisks2 gnome3.adwaita-icon-theme
+    udisks2 gnome3.adwaita-icon-theme systemd
     gnome3.gnome-settings-daemon gsettings-desktop-schemas
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
index 976829acd4c6..0589dfe72854 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-font-viewer";
-  version = "3.32.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-font-viewer/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "10b150sa3971i5lfnk0jkkzlril97lz09sshwsbkabc8b7kv1qa3";
+    sha256 = "12xrsqwmvid7hksiw4zhj4jd1qwxn8w0czskbq4yqfprwn1havxa";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
new file mode 100644
index 000000000000..4423755f71ce
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -0,0 +1,109 @@
+{ stdenv
+, fetchurl
+, substituteAll
+, gettext
+, meson
+, ninja
+, pkgconfig
+, wrapGAppsHook
+, gnome3
+, accountsservice
+, fontconfig
+, gdm
+, geoclue2
+, geocode-glib
+, glib
+, gnome-desktop
+, gnome-getting-started-docs
+, gnome-online-accounts
+, gtk3
+, libgweather
+, json-glib
+, krb5
+, libpwquality
+, librest
+, libsecret
+, networkmanager
+, pango
+, polkit
+, webkitgtk
+, systemd
+, networkmanagerapplet
+, tzdata
+, yelp
+, libgnomekbd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-initial-setup";
+  version = "3.34.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1dc87mcvr7vdhfx4q0c44q37lf7ls2qvnc34dm66802qssrcxy9k";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkgconfig
+    systemd
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    accountsservice
+    fontconfig
+    gdm
+    geoclue2
+    geocode-glib
+    glib
+    gnome-desktop
+    gnome-getting-started-docs
+    gnome-online-accounts
+    gtk3
+    json-glib
+    krb5
+    libgweather
+    libpwquality
+    librest
+    libsecret
+    networkmanager
+    pango
+    polkit
+    webkitgtk
+    networkmanagerapplet
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit tzdata libgnomekbd;
+      yelp = "${yelp}/bin/yelp"; # gnome-welcome-tour
+    })
+  ];
+
+  mesonFlags = [
+    "-Dregion-page=true"
+    "-Dcheese=disabled"
+    "-Dsoftware-sources=disabled"
+    "-Dibus=disabled"
+    "-Dvendor-conf-file=${./vendor.conf}"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple, easy, and safe way to prepare a new system";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-initial-setup";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch
new file mode 100644
index 000000000000..94e14f688b3c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch
@@ -0,0 +1,67 @@
+diff --git a/data/gnome-welcome-tour b/data/gnome-welcome-tour
+index c479296..3dd629c 100755
+--- a/data/gnome-welcome-tour
++++ b/data/gnome-welcome-tour
+@@ -3,7 +3,7 @@
+ cfgdir=${XDG_CONFIG_DIR:-$HOME/.config}
+ 
+ # Don't do anything if yelp isn't installed
+-yelp_path=$(which yelp 2>/dev/null)
++yelp_path=@yelp@
+ if test -z "${yelp_path}"; then
+     rm -f $cfgdir/run-welcome-tour
+     exit
+@@ -17,5 +17,5 @@ geometry=(1024, 709)
+ EOF
+ fi
+ 
+-yelp help:gnome-help/getting-started
++$yelp_path help:gnome-help/getting-started
+ rm -f $cfgdir/run-welcome-tour
+diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+index 1c34ef7..a1e7f93 100644
+--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+@@ -177,9 +177,9 @@ preview_cb (GtkLabel       *label,
+ 		return TRUE;
+ 
+ 	if (variant[0])
+-		commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
++		commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
+ 	else
+-		commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout);
++		commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout);
+ 	g_spawn_command_line_async (commandline, NULL);
+ 	g_free (commandline);
+ 
+@@ -829,7 +829,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass)
+                 g_param_spec_string ("showing-extra", "", "", "",
+                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ 
+-	signals[CHANGED] = 
++	signals[CHANGED] =
+ 		g_signal_new ("changed",
+ 			      G_TYPE_FROM_CLASS (object_class),
+ 			      G_SIGNAL_RUN_FIRST,
+diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h
+index 93905b3..e7ee785 100644
+--- a/gnome-initial-setup/pages/timezone/tz.h
++++ b/gnome-initial-setup/pages/timezone/tz.h
+@@ -4,7 +4,7 @@
+  * Copyright (C) 2000-2001 Ximian, Inc.
+  *
+  * Authors: Hans Petter Jansson <hpj@ximian.com>
+- * 
++ *
+  * Largely based on Michael Fulbright's work on Anaconda.
+  *
+  * This program is free software; you can redistribute it and/or modify
+@@ -28,7 +28,7 @@
+ #include <glib.h>
+ 
+ #ifndef __sun
+-#  define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
++#  define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
+ #else
+ #  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
+ #endif
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf
new file mode 100644
index 000000000000..a06b37e100ed
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf
@@ -0,0 +1,5 @@
+# Disable pages not right for NixOS
+# For example user accounts should be preconfigured
+# and we can't modify system time with systemd.
+[pages]
+skip=account;software;password;timezone;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 7817936bfda6..fa960087f9bd 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-keyring";
-  version = "3.31.91";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-keyring/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1fjylqw4xp0rqsylq4gbxzw1sql2sy55h1mnz1pprrxb9py0mnd4";
+    sha256 = "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
index 93da1f8abec9..b21e3f6f68a7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-online-miners";
-  version = "3.30.0";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-online-miners/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c";
+    sha256 = "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 33acfd245cf5..34ff87932247 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-screenshot";
-  version = "3.32.0";
+  version = "3.34.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b";
+    sha256 = "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index f13ad9f47aa6..459512017c5d 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-session";
-  version = "3.32.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v";
+    sha256 = "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb";
   };
 
   patches = [
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
       packageName = "gnome-session";
       attrPath = "gnome3.gnome-session";
     };
+    providedSessions = [ "gnome" "gnome-xorg" ];
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
index fe4feaf70857..2399c656016a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
@@ -1,6 +1,6 @@
 --- a/gnome-session/gnome-session.in
 +++ b/gnome-session/gnome-session.in
-@@ -3,11 +3,11 @@
+@@ -3,11 +3,13 @@
  if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
     [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
     [  -n "$SHELL" ] &&
@@ -12,6 +12,8 @@
 +   ! (echo "$SHELL" | @grep@ -q "nologin"); then
    if [ "$1" != '-l' ]; then
 -    exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
++    # Make sure the shell actually sets up the environment
++    unset __NIXOS_SET_ENVIRONMENT_DONE
 +    exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'"
    else
      shift
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index b9f33ce73a8a..c388c4f7211b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -27,6 +27,7 @@
 , libwacom
 , libxslt
 , libxml2
+, modemmanager
 , networkmanager
 , gnome-desktop
 , geocode-glib
@@ -35,15 +36,16 @@
 , python3
 , tzdata
 , nss
+, gcr
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-settings-daemon";
-  version = "3.32.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks";
+    sha256 = "1vfpgbdxkhh9xwvb3ja174jk3gpzj4n3jzcy9ygbjlvy45zfdflz";
   };
 
   patches = [
@@ -71,6 +73,7 @@ stdenv.mkDerivation rec {
     gtk3
     glib
     gsettings-desktop-schemas
+    modemmanager
     networkmanager
     libnotify
     libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
@@ -89,17 +92,16 @@ stdenv.mkDerivation rec {
     systemd
     libgudev
     libwacom
+    gcr
   ];
 
   mesonFlags = [
     "-Dudev_dir=${placeholder "out"}/lib/udev"
   ];
 
-  NIX_CFLAGS_COMPILE = [
-    # Default for release buildtype but passed manually because
-    # we're using plain
-    "-DG_DISABLE_CAST_CHECKS"
-  ];
+  # Default for release buildtype but passed manually because
+  # we're using plain
+  NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
 
   # So the polkit policy can reference /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper
   postFixup = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
index 272656fae78c..2229302cab7c 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
@@ -13,14 +13,3 @@
  
  typedef struct _TzDB TzDB;
  typedef struct _TzLocation TzLocation;
---- a/plugins/mouse/gsd-mouse-manager.c
-+++ b/plugins/mouse/gsd-mouse-manager.c
-@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
-         gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
-
-         if (run_daemon || manager->priv->mousetweaks_daemon_running)
--                comm = g_strdup_printf ("mousetweaks %s",
-+                comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
-                                         run_daemon ? "" : "-s");
-         else
-                 return;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
index 3d37040828c5..44c9e3eff44f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_52, glib
+{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_60, glib
 , gnome3, gnome-menus, substituteAll }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "3.32.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2";
+    sha256 = "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1";
   };
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-shell-extensions";
-      attrPath = "gnome3.gnome-shell-extensions";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
   ];
 
   doCheck = true;
-  # 52 is required for tests
-  # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.30.1/meson.build#L25
-  checkInputs = [ spidermonkey_52 ];
+  # 60 is required for tests
+  # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23
+  checkInputs = [ spidermonkey_60 ];
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext glib ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index a1d8f2c599a8..c4fec93079a0 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -2,10 +2,11 @@
 , python3, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
 , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
 , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
-, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr, caribou
+, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr
 , accountsservice, gdk-pixbuf, gdm, upower, ibus, networkmanagerapplet, libgnomekbd, gnome-desktop
 , gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3
-, sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon }:
+, sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon
+, gnome-autoar, asciidoc-full }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
@@ -14,21 +15,21 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "3.32.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5";
+    sha256 = "12mxavjf83d96qd5m8k0z2jnpi1587i25al5w9xpv965hvrvwx14";
   };
 
   LANG = "en_US.UTF-8";
 
   nativeBuildInputs = [
     meson ninja pkgconfig gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales
-    sassc desktop-file-utils libxslt.bin python3
+    sassc desktop-file-utils libxslt.bin python3 asciidoc-full
   ];
   buildInputs = [
-    systemd caribou
+    systemd
     gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice
     libcroco libsecret libsoup polkit gdk-pixbuf librsvg
     clutter networkmanager libstartup_notification telepathy-glib
@@ -39,15 +40,11 @@ in stdenv.mkDerivation rec {
     at-spi2-core upower ibus gnome-desktop telepathy-logger gnome-settings-daemon
     gst_all_1.gst-plugins-good # recording
     gobject-introspection
+    gnome-autoar
 
     # not declared at build time, but typelib is needed at runtime
     libgweather networkmanagerapplet
   ];
-  propagatedUserEnvPkgs = [
-    # Needed to support on-screen keyboard used with touch screen devices
-    # see https://github.com/NixOS/nixpkgs/issues/25968
-    caribou
-  ];
 
   patches = [
     (fetchpatch {
@@ -58,6 +55,7 @@ in stdenv.mkDerivation rec {
     (substituteAll {
       src = ./fix-paths.patch;
       inherit libgnomekbd unzip;
+      gsettings = "${glib.bin}/bin/gsettings";
     })
   ];
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
index 3207af110885..7b93475619b2 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
@@ -11,12 +11,20 @@
                                            null);
 --- a/js/ui/status/keyboard.js
 +++ b/js/ui/status/keyboard.js
-@@ -1059,7 +1059,7 @@ class InputSourceIndicator extends PanelMenu.Button {
-         let description = xkbLayout;
+@@ -1062,6 +1062,6 @@ class InputSourceIndicator extends PanelMenu.Button {
          if (xkbVariant.length > 0)
-             description = description + '\t' + xkbVariant;
+             description = `${description}\t${xkbVariant}`;
  
 -        Util.spawn(['gkbd-keyboard-display', '-l', description]);
 +        Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]);
      }
  });
+--- a/data/gnome-shell-disable-extensions.service
++++ b/data/gnome-shell-disable-extensions.service
+@@ -10,5 +10,5 @@ Requisite=gnome-session-stable.timer
+ [Service]
+ Type=simple
+ # Disable extensions
+-ExecStart=gsettings set org.gnome.shell disable-user-extensions true
++ExecStart=@gsettings@ set org.gnome.shell disable-user-extensions true
+ Restart=no
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 12081bbae5b0..051f0e4b432f 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
 , glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd
-, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts, hicolor-icon-theme
+, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts
 , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }:
 
 let
@@ -11,11 +11,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "3.32.4";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0g30wdrpypj23npvx85wqh1i4a8bbg00ainz7wmsvry21hcny4d4";
+    sha256 = "1zhi6zkphq0wfm9z2d1rp1ym8x52c7as4r8h2nrcd34mmv02xnm7";
   };
 
   patches = [
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42 docbook_xml_dtd_43
     valgrind-light docbook_xsl gtk-doc desktop-file-utils gobject-introspection
-    hicolor-icon-theme # for setup-hook
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 75d4b117e778..31f125e9720e 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus
 , gtk3, gsettings-desktop-schemas, vte, intltool, which, libuuid, vala
-, desktop-file-utils, itstool, wrapGAppsHook, hicolor-icon-theme }:
+, desktop-file-utils, itstool, wrapGAppsHook, glib, pcre2 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-terminal";
-  version = "3.32.2";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km";
+    sha256 = "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv";
   };
 
   buildInputs = [
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig intltool itstool which libxml2
-    vala desktop-file-utils wrapGAppsHook
-    hicolor-icon-theme # for setup-hook
+    vala desktop-file-utils wrapGAppsHook pcre2
   ];
 
   # Silly ./configure, it looks for dbus file from gnome-shell in the
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
deleted file mode 100644
index 7915e71a73c0..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, itstool, libxml2, intltool }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-user-docs";
-  version = "3.32.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-user-docs"; attrPath = "gnome3.gnome-user-docs"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gnome3.yelp itstool libxml2 intltool ];
-
-  meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-help/;
-    description = "User and system administration help for the GNOME desktop";
-    maintainers = gnome3.maintainers;
-    license = licenses.cc-by-30;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
index 2a425acb067d..6207dd42a61a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
@@ -1,6 +1,9 @@
 { stdenv
 , gettext
+, meson
+, ninja
 , fetchurl
+, fetchpatch
 , apacheHttpd
 , nautilus
 , pkgconfig
@@ -14,36 +17,55 @@
 , mod_dnssd
 , gnome3
 , libcanberra-gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-share";
-  version = "3.32.0.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "16w6n0cjyzp8vln3zspvab8jhjprpvs88xc9x7bvigg0wry74945";
+    sha256 = "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x";
   };
 
+  patches = [
+    # fix gio-unix-2.0 lookup
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/gnome-user-share/commit/8772980d4732c15505b15dccff2ca3c97e96d49d.patch;
+      sha256 = "03clzhrx72pq1cbmg2y24hvw4i1xsvrg9ip113fi5bc3w4gcji7p";
+    })
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   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
   '';
 
-  configureFlags = [
-    "--with-httpd=${apacheHttpd.out}/bin/httpd"
-    "--with-modules-path=${apacheHttpd.dev}/modules"
-    "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
-    "--with-nautilusdir=${placeholder "out"}/lib/nautilus/extensions-3.0"
+  mesonFlags = [
+    "-Dhttpd=${apacheHttpd.out}/bin/httpd"
+    "-Dmodules_path=${apacheHttpd.dev}/modules"
+    "-Dsystemduserunitdir=${placeholder "out"}/etc/systemd/user"
+    # In 3.34.0 it defaults to false but it is silently ignored and always installed.
+    # Let’s add it anyway in case they decide to make build respect the option in the future.
+    "-Dnautilus_extension=true"
   ];
 
   nativeBuildInputs = [
     pkgconfig
+    meson
+    ninja
     gettext
     itstool
     libxml2
     wrapGAppsHook
+    python3
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index 6c291c1874f8..ce5e073ac064 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -1,11 +1,48 @@
-{ stdenv, intltool, fetchFromGitLab, pkgconfig, gtk3, adwaita-icon-theme
-, glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool
-, wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools
-, docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas
-, callPackage, unzip, gobject-introspection }:
+{ stdenv
+, intltool
+, fetchFromGitLab
+, fetchpatch
+, pkgconfig
+, gtk3
+, adwaita-icon-theme
+, glib
+, desktop-file-utils
+, gtk-doc
+, autoconf
+, automake
+, libtool
+, wrapGAppsHook
+, gnome3
+, itstool
+, libxml2
+, yelp-tools
+, docbook_xsl
+, docbook_xml_dtd_412
+, gsettings-desktop-schemas
+, callPackage
+, unzip
+, unicode-character-database
+, unihan-database
+, runCommand
+, symlinkJoin
+, gobject-introspection
+}:
 
 let
-  unicode-data = callPackage ./unicode-data.nix {};
+  # 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 rec {
   pname = "gucharmap";
   version = "12.0.1";
@@ -20,16 +57,41 @@ in stdenv.mkDerivation rec {
     sha256 = "0si3ymyfzc5v7ly0dmcs3qgw2wp8cyasycq5hmcr8frl09lr6gkw";
   };
 
+  patches = [
+    # fix build with Unicode 12.1
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/gucharmap/raw/de079ad494a15f662416257fca2f2b8db757f4ea/debian/patches/update-to-unicode-12.1.patch";
+      sha256 = "093gqsxfpp3s0b88p1dgkskr4ng3hv8irmxc60l3fdrkl8am00xh";
+    })
+  ];
+
   nativeBuildInputs = [
-    pkgconfig wrapGAppsHook unzip intltool itstool
-    autoconf automake libtool gtk-doc docbook_xsl docbook_xml_dtd_412
-    yelp-tools libxml2 desktop-file-utils gobject-introspection
+    pkgconfig
+    wrapGAppsHook
+    unzip
+    intltool
+    itstool
+    autoconf
+    automake
+    libtool
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+    yelp-tools
+    libxml2
+    desktop-file-utils
+    gobject-introspection
   ];
 
-  buildInputs = [ gtk3 glib gsettings-desktop-schemas adwaita-icon-theme ];
+  buildInputs = [
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    adwaita-icon-theme
+  ];
 
   configureFlags = [
-    "--with-unicode-data=${unicode-data}"
+    "--with-unicode-data=${ucd}/share/unicode"
     "--enable-gtk-doc"
   ];
 
@@ -51,7 +113,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GNOME Character Map, based on the Unicode Character Database";
-    homepage = https://wiki.gnome.org/Apps/Gucharmap;
+    homepage = "https://wiki.gnome.org/Apps/Gucharmap";
     license = licenses.gpl3;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
deleted file mode 100644
index 56104aff4840..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ fetchurl, stdenv, gnome3 }:
-stdenv.mkDerivation rec {
-  pname = "unicode-data";
-  version = "12.0.0";
-  srcs = [
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Blocks.txt";
-      sha256 = "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/DerivedAge.txt";
-      sha256 = "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/NamesList.txt";
-      sha256 = "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Scripts.txt";
-      sha256 = "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/UnicodeData.txt";
-      sha256 = "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Unihan.zip";
-      sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
-    })
-  ];
-  phases = "installPhase";
-  installPhase = with stdenv.lib; ''
-    mkdir $out
-    for f in $srcs;do
-      cp $f $out/$(stripHash $f)
-    done
-  '';
-  meta = with stdenv.lib; {
-    homepage = http://www.unicode.org/ucd/;
-    description = "Unicode Character Database";
-    maintainers = gnome3.maintainers;
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
new file mode 100644
index 000000000000..2df70ff9646a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
@@ -0,0 +1,25 @@
+From 71acfd5258b4d12323fc51dda48e83830e62e696 Mon Sep 17 00:00:00 2001
+From: worldofpeace <worldofpeace@protonmail.ch>
+Date: Mon, 16 Sep 2019 11:18:27 -0400
+Subject: [PATCH] build: use get_pkgconfig_variable for sysprof dbusdir
+
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 182f7f5f5..43060865b 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -710,7 +710,7 @@ if have_profiler
+     'backends/meta-profiler.h',
+   ]
+ 
+-  dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
++  dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('prefix'), 'share', 'dbus-1', 'interfaces')
+   sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
+ 
+   dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
+-- 
+2.22.1
+
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix
index cc00fc5ece44..85208163415b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/3.28.nix
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
     })
     # See patch commit message
     ./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
+    # Fix build with libglvnd provided headers
+    ./libglvnd-328.patch
   ];
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
index eab0b131ea93..642a825d5396 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,67 +1,127 @@
-{ fetchurl, fetchpatch, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo
-, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
-, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
-, gsettings-desktop-schemas, glib, gtk3, gnome-desktop
-, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson
+{ fetchurl
+, fetchpatch
+, substituteAll
+, stdenv
+, pkgconfig
+, gnome3
+, gettext
+, gobject-introspection
+, upower
+, cairo
+, pango
+, cogl
+, json-glib
+, libstartup_notification
+, zenity
+, libcanberra-gtk3
+, ninja
+, xkeyboard_config
+, libxkbfile
+, libxkbcommon
+, libXtst
+, libinput
+, gsettings-desktop-schemas
+, glib
+, gtk3
+, gnome-desktop
+, geocode-glib
+, pipewire
+, libgudev
+, libwacom
+, xwayland
+, meson
 , gnome-settings-daemon
 , xorgserver
 , python3
 , wrapGAppsHook
+, sysprof
+, desktop-file-utils
+, libcap_ng
+, egl-wayland
 }:
 
 stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "3.32.2";
+  version = "3.34.3";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva";
+    sha256 = "12aaxmclg3aw7qkk3pzpw8f5vrk0cxwprdrjnx9bjpf31gfpvxfd";
   };
 
   mesonFlags = [
-    "-Dxwayland-path=${xwayland}/bin/Xwayland"
+    "-Degl_device=true"
     "-Dinstalled_tests=false" # TODO: enable these
+    "-Dwayland_eglstream=true"
+    "-Dxwayland-path=${xwayland}/bin/Xwayland"
   ];
 
   propagatedBuildInputs = [
     # required for pkgconfig to detect mutter-clutter
+    json-glib
     libXtst
+    libcap_ng
   ];
 
   nativeBuildInputs = [
-    meson
-    pkgconfig
+    desktop-file-utils
     gettext
+    meson
     ninja
+    pkgconfig
     python3
-    # for cvt command
-    xorgserver
     wrapGAppsHook
+    xorgserver # for cvt command
   ];
 
   buildInputs = [
-    glib gobject-introspection gtk3 gsettings-desktop-schemas upower
-    gnome-desktop cairo pango cogl clutter zenity libstartup_notification
-    geocode-glib libinput libgudev libwacom
-    libcanberra-gtk3 zenity xkeyboard_config libxkbfile
-    libxkbcommon pipewire xwayland
+    cairo
+    cogl
+    egl-wayland
+    geocode-glib
+    glib
+    gnome-desktop
     gnome-settings-daemon
+    gobject-introspection
+    gsettings-desktop-schemas
+    gtk3
+    libcanberra-gtk3
+    libgudev
+    libinput
+    libstartup_notification
+    libwacom
+    libxkbcommon
+    libxkbfile
+    pango
+    pipewire
+    sysprof
+    upower
+    xkeyboard_config
+    xwayland
+    zenity
+    zenity
   ];
 
   patches = [
+    # Fix build with libglvnd provided headers
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
+      sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
+    })
+
+    # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
+    # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
+    ./drop-inheritable.patch
+
+    # TODO: submit upstream
+    ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
+
     (substituteAll {
       src = ./fix-paths.patch;
       inherit zenity;
     })
-    # Fix a segmentation fault in dri_flush_front_buffer() upon
-    # suspend/resume. This change should be removed when Mutter
-    # is updated to 3.34.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/mutter/commit/8307c0f7ab60760de53f764e6636893733543be8.diff";
-      sha256 = "1hzfva71xdqvvnx5smjsrjlgyrmc7dj94mpylkak0gwda5si0h2n";
-    })
   ];
 
   postPatch = ''
@@ -72,18 +132,18 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "mutter";
-      attrPath = "gnome3.mutter";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    maintainers = gnome3.maintainers;
+    description = "A window manager for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/mutter";
     license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch
new file mode 100644
index 000000000000..574ed5725612
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch
@@ -0,0 +1,132 @@
+From e9c772e265b2293af031c79f4bbc99b5847dfe3c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= <torhedinbronner@gmail.com>
+Date: Sat, 19 Oct 2019 13:26:05 +0200
+Subject: [PATCH] drop inheritable
+
+Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01
+
+We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell.
+
+---
+ config.h.meson    |  3 +++
+ meson.build       |  5 +++++
+ meson_options.txt |  6 ++++++
+ src/core/main.c   | 11 +++++++++++
+ src/meson.build   |  1 +
+ 5 files changed, 26 insertions(+)
+
+diff --git a/config.h.meson b/config.h.meson
+index 0bab71848..202fb7ed1 100644
+--- a/config.h.meson
++++ b/config.h.meson
+@@ -58,6 +58,9 @@
+ /* Xwayland applications allowed to issue keyboard grabs */
+ #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES
+ 
++/* Defined if libcap-ng is available */
++#mesondefine HAVE_LIBCAPNG
++
+ /* XKB base prefix */
+ #mesondefine XKB_BASE
+ 
+diff --git a/meson.build b/meson.build
+index 3322bd3b1..01c8020fa 100644
+--- a/meson.build
++++ b/meson.build
+@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7'
+ libcanberra_req = '>= 0.26'
+ libwacom_req = '>= 0.13'
+ atk_req = '>= 2.5.3'
++libcapng_req = '>= 0.7.9'
+ 
+ # optional version requirements
+ udev_req = '>= 228'
+@@ -125,6 +126,7 @@ xau_dep = dependency('xau')
+ ice_dep = dependency('ice')
+ atk_dep = dependency('atk', version: atk_req)
+ libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
++libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
+ 
+ # For now always require X11 support
+ have_x11 = true
+@@ -256,6 +258,7 @@ have_core_tests = false
+ have_cogl_tests = false
+ have_clutter_tests = false
+ have_installed_tests = false
++have_libcapng = libcapng_dep.found()
+ 
+ if have_tests
+   have_core_tests = get_option('core_tests')
+@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom)
+ cdata.set('HAVE_SM', have_sm)
+ cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification)
+ cdata.set('HAVE_INTROSPECTION', have_introspection)
++cdata.set('HAVE_LIBCAPNG', have_libcapng)
+ cdata.set('HAVE_PROFILER', have_profiler)
+ 
+ xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
+@@ -443,6 +447,7 @@ output = [
+   '        Startup notification..... ' + have_startup_notification.to_string(),
+   '        Introspection............ ' + have_introspection.to_string(),
+   '        Profiler................. ' + have_profiler.to_string(),
++  '        libcap-ng................ ' + have_libcapng.to_string(),
+   '',
+   '    Tests:',
+   '',
+diff --git a/meson_options.txt b/meson_options.txt
+index 73aa7adde..8bfaacd9a 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules',
+   value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
+   description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland'
+ )
++
++option('libcapng',
++  type: 'feature',
++  value: 'auto',
++  description: 'Enable libcap-ng support'
++)
+diff --git a/src/core/main.c b/src/core/main.c
+index 7f4f666d2..b27968f13 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -66,6 +66,10 @@
+ #include <girepository.h>
+ #endif
+ 
++#ifdef HAVE_LIBCAPNG
++#include <cap-ng.h>
++#endif
++
+ #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
+ #include <systemd/sd-login.h>
+ #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
+@@ -673,6 +677,12 @@ meta_run (void)
+   if (!meta_display_open ())
+     meta_exit (META_EXIT_ERROR);
+ 
++#ifdef HAVE_LIBCAPNG
++  capng_clear(CAPNG_SELECT_BOTH);
++  capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
++  capng_apply(CAPNG_SELECT_BOTH);
++#endif
++
+   g_main_loop_run (meta_main_loop);
+ 
+   meta_finalize ();
+diff --git a/src/meson.build b/src/meson.build
+index 90d80734f..a9fffa2c2 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -18,6 +18,7 @@ mutter_pkg_deps = [
+   glib_dep,
+   gsettings_desktop_schemas_dep,
+   gtk3_dep,
++  libcapng_dep,
+   pango_dep,
+ ]
+ 
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
new file mode 100644
index 000000000000..96e275598288
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/libglvnd-328.patch
@@ -0,0 +1,63 @@
+diff --git a/cogl/configure.ac b/cogl/configure.ac
+index 3be282f..d338cd1 100644
+--- a/cogl/configure.ac
++++ b/cogl/configure.ac
+@@ -490,6 +490,11 @@ AS_IF([test "x$enable_gles1" = "xyes"],
+ #include <EGL/eglext.h>"],
+                              [],
+                              [$COGL_EGL_INCLUDES])
++            AC_CHECK_HEADERS([EGL/eglmesaext.h],
++                             [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDE
++#include <EGL/eglmesaext.h>"],
++                             [],
++                             [$COGL_EGL_INCLUDES])
+ 
+             # Check for a GLES 1.x Common Profile library with/without EGL.
+             #
+@@ -759,7 +764,9 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
+           )
+ 
+         COGL_EGL_INCLUDES="#include <EGL/egl.h>
+-#include <EGL/eglext.h>"
++#include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
++"
+         AC_SUBST([COGL_EGL_INCLUDES])
+       ])
+ 
+diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
+index 8705e7d..db0b74f 100644
+--- a/src/backends/meta-egl-ext.h
++++ b/src/backends/meta-egl-ext.h
+@@ -29,6 +29,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ /*
+  * This is a little different to the tests shipped with EGL implementations,
+diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
+index 755ec49..bd253c9 100644
+--- a/src/backends/meta-egl.c
++++ b/src/backends/meta-egl.c
+@@ -31,6 +31,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <gio/gio.h>
+ #include <glib.h>
+ #include <glib-object.h>
+diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
+index 060c7cd..2fef264 100644
+--- a/src/backends/meta-egl.h
++++ b/src/backends/meta-egl.h
+@@ -27,6 +27,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <glib-object.h>
+ 
+ #define META_EGL_ERROR meta_egl_error_quark ()
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
deleted file mode 100644
index 37358c8432c5..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
+++ /dev/null
@@ -1,15 +0,0 @@
----   a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
-+++   a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
-@@ -536,9 +536,9 @@ add_bwrap (GPtrArray   *array,
-   g_return_val_if_fail (script->s_infile != NULL, FALSE);
- 
-   add_args (array,
--	    "bwrap",
--	    "--ro-bind", "/usr", "/usr",
--	    "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache",
-+	    "@bubblewrap_bin@",
-+	    "--ro-bind", "@storeDir@", "@storeDir@",
-+	    "--ro-bind", "/run/current-system", "/run/current-system",
- 	    NULL);
- 
-   /* These directories might be symlinks into /usr/... */
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 14551fb7d0c3..e55bf19f5288 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,33 +1,77 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2
-, desktop-file-utils, python3, wrapGAppsHook , gtk3, gnome3, gnome-autoar
-, glib-networking, shared-mime-info, libnotify, libexif, libseccomp , exempi
-, librsvg, tracker, tracker-miners, gexiv2, libselinux, gdk-pixbuf
-, substituteAll, bubblewrap, gst_all_1, gsettings-desktop-schemas
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, libxml2
+, desktop-file-utils
+, python3
+, wrapGAppsHook
+, gtk3
+, gnome3
+, gnome-autoar
+, glib-networking
+, shared-mime-info
+, libnotify
+, libexif
+, libseccomp
+, exempi
+, librsvg
+, tracker
+, tracker-miners
+, gexiv2
+, libselinux
+, gdk-pixbuf
+, substituteAll
+, gnome-desktop
+, gst_all_1
+, gsettings-desktop-schemas
+, gobject-introspection
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "nautilus";
-  version = "3.32.3";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "3.34.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook
     desktop-file-utils
+    gettext
+    gobject-introspection
+    libxml2
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    glib-networking shared-mime-info libexif gtk3 exempi libnotify libselinux
-    tracker tracker-miners gexiv2 libseccomp bubblewrap gst_all_1.gst-plugins-base
-    gnome3.adwaita-icon-theme gsettings-desktop-schemas
+    exempi
+    gexiv2
+    glib-networking
+    gnome-desktop
+    gnome3.adwaita-icon-theme
+    gsettings-desktop-schemas
+    gst_all_1.gst-plugins-base
+    gtk3
+    libexif
+    libnotify
+    libseccomp
+    libselinux
+    shared-mime-info
+    tracker
+    tracker-miners
   ];
 
-  propagatedBuildInputs = [ gnome-autoar ];
+  propagatedBuildInputs = [
+    gnome-autoar
+  ];
 
   preFixup = ''
     gappsWrapperArgs+=(
@@ -44,13 +88,6 @@ in stdenv.mkDerivation rec {
 
   patches = [
     ./extension_dir.patch
-    # 3.30 now generates it's own thummbnails,
-    # and no longer depends on `gnome-desktop`
-    (substituteAll {
-      src = ./bubblewrap-paths.patch;
-      bubblewrap_bin = "${bubblewrap}/bin/bwrap";
-      inherit (builtins) storeDir;
-    })
   ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix
index c38e677a4217..415974d0c2b7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/rygel/default.nix
@@ -28,14 +28,14 @@
 
 stdenv.mkDerivation rec {
   pname = "rygel";
-  version = "0.38.1";
+  version = "0.38.3";
 
   # TODO: split out lib
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1w8bi2rw91qyfny1zxhy32k4qn62hdjl2m38f75cp7wv6494d7w0";
+    sha256 = "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index de56b14d46fd..8d737b22a7ac 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "3.32.2.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xqb642bsd2hddsm4bd199vyq8jcipdlxm0br3mjlc5vjcxgkxyp";
+    sha256 = "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix
index 86675f21f06a..2d6d398fb459 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/sushi/default.nix
@@ -1,27 +1,74 @@
-{ stdenv, fetchurl, pkgconfig, meson, gettext, gobject-introspection, glib
-, clutter-gtk, clutter-gst, gnome3, gtksourceview, gjs
-, webkitgtk, libmusicbrainz5, icu, wrapGAppsHook, gst_all_1
-, gdk-pixbuf, librsvg, gtk3, harfbuzz, ninja }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, meson
+, gettext
+, gobject-introspection
+, glib
+, clutter-gtk
+, clutter-gst
+, gnome3
+, gtksourceview4
+, gjs
+, webkitgtk
+, libmusicbrainz5
+, icu
+, wrapGAppsHook
+, gst_all_1
+, gdk-pixbuf
+, librsvg
+, gtk3
+, harfbuzz
+, ninja
+, epoxy
+}:
 
 stdenv.mkDerivation rec {
   pname = "sushi";
-  version = "3.32.1";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/sushi/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj";
+    sha256 = "1zcr8wi5bgvvpb5ha1v96aiaz4vqqrsn6cvvalwzah6am85k78m8";
   };
 
   nativeBuildInputs = [
-    pkgconfig meson ninja gettext gobject-introspection wrapGAppsHook
+    pkgconfig
+    meson
+    ninja
+    gettext
+    gobject-introspection
+    wrapGAppsHook
   ];
   buildInputs = [
-    glib gtk3 gnome3.evince icu harfbuzz
-    clutter-gtk clutter-gst gjs gtksourceview gdk-pixbuf
-    librsvg libmusicbrainz5 webkitgtk
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    glib
+    gtk3
+    gnome3.evince
+    icu
+    harfbuzz
+    clutter-gtk
+    clutter-gst
+    gjs
+    gtksourceview4
+    gdk-pixbuf
+    librsvg
+    libmusicbrainz5
+    webkitgtk
+    epoxy
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
   ];
 
+  # 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 = gnome3.updateScript {
       packageName = "sushi";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix
index a5388f2eae19..50e30d2717ee 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "totem";
-  version = "3.32.1";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/totem/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v";
+    sha256 = "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b";
   };
 
   doCheck = true;
@@ -31,14 +31,6 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  mesonFlags = [
-    "-Dwith-nautilusdir=${placeholder "out"}/lib/nautilus/extensions-3.0"
-    # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021
-    # https://bugzilla.gnome.org/show_bug.cgi?id=784236
-    # https://github.com/mesonbuild/meson/issues/1994
-    "-Denable-vala=no"
-  ];
-
   checkInputs = [ xvfb_run ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
index e18f4de68d6c..abfe8b2e0392 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
@@ -82,10 +82,10 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = "vino";
-      attrPath = "gnome3.vino";
-    };
+    # updateScript = gnome3.updateScript {
+    #   packageName = "vino";
+    #   attrPath = "gnome3.vino";
+    # };
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
deleted file mode 100644
index 43863bf7f856..000000000000
--- a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  pname = "yelp-tools";
-  version = "3.32.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/yelp-tools/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "yelp-tools"; attrPath = "gnome3.yelp-tools"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxml2 libxslt itstool gnome3.yelp-xsl ];
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
-    description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
-    maintainers = with maintainers; [ domenkozar ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index fc5b0268df70..34f6accdd5ff 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -1,23 +1,38 @@
-{ stdenv, intltool, fetchurl, pkgconfig
-, itstool, libxml2, libxslt, gnome3 }:
+{ stdenv
+, gettext
+, fetchurl
+, pkgconfig
+, itstool
+, libxml2
+, libxslt
+, gnome3
+}:
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "3.32.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya";
+    sha256 = "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "yelp-xsl"; attrPath = "gnome3.yelp-xsl"; };
-  };
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    itstool
+    libxml2
+    libxslt
+  ];
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool itstool libxml2 libxslt ];
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Yelp;
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
index 7e326dd1657d..438c71c4ad30 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp";
-  version = "3.32.2";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f";
+    sha256 = "0ifhgdxff2xx2damaj72gpjln5k36grg2chvi4335mv3b5y55mp3";
   };
 
   nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix
index 5023ffce6b96..16ef06d8d9df 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/zenity/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, libxslt, gnome3, gtk3
-, gnome-doc-utils, intltool, libX11, which, itstool, wrapGAppsHook }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, libxml2
+, gnome3
+, gtk3
+, yelp-tools
+, gettext
+, libX11
+, itstool
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "zenity";
@@ -10,13 +20,19 @@ stdenv.mkDerivation rec {
     sha256 = "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7";
   };
 
-  preBuild = ''
-    mkdir -p $out/include
-  '';
+  nativeBuildInputs = [
+    pkgconfig
+    gettext
+    yelp-tools
+    itstool
+    libxml2
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ gtk3 libxml2 libxslt libX11 itstool ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome-doc-utils which wrapGAppsHook ];
+  buildInputs = [
+    gtk3
+    libX11
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -26,6 +42,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "Tool to display dialogs from the commandline and shell scripts";
+    homepage = "https://wiki.gnome.org/Projects/Zenity";
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
   };