about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-27 16:00:58 +0000
committerAlyssa Ross <hi@alyssa.is>2021-09-27 16:00:58 +0000
commitc504e5d19d940926b3ddcf62c983d66f49f3cbb2 (patch)
treeec955e58bcac2cb93b9f8c10786b23f61d40cd7e /nixpkgs/pkgs/desktops
parent72789cefce7b17419815f600fbd18238d89afcc9 (diff)
parent1737f98af6667560e3e4f930312f9b5002649d04 (diff)
downloadnixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.tar
nixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.tar.gz
nixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.tar.bz2
nixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.tar.lz
nixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.tar.xz
nixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.tar.zst
nixlib-c504e5d19d940926b3ddcf62c983d66f49f3cbb2.zip
Merge commit '1737f98af6667560e3e4f930312f9b5002649d04'
Conflicts:
	nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
	nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
	nixpkgs/pkgs/development/node-packages/default.nix
	nixpkgs/pkgs/development/python-modules/priority/deadline.patch
Diffstat (limited to 'nixpkgs/pkgs/desktops')
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/file-roller/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/epiphany/dark-style.patch76
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch12
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix135
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch (renamed from nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch)0
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch74
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch135
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch33
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch58
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch32
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch102
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch27
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/default.nix (renamed from nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/default.nix)96
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patch (renamed from nixpkgs/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch)0
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch27
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/yelp-xsl/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/games/tali/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/atril/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/engrampa/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/eom/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmateweather/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/marco/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-applets/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-calc/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-common/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-media/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-menus/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-panel/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-themes/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-utils/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/mozo/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/pluma/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/python-caja/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch234
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch162
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix19
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch35
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch55
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix (renamed from nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix)10
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix84
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix39
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch36
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch58
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix37
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix43
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix19
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix72
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/default.nix41
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch309
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix27
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/fix-session-crash-when-taking-screenshots.patch50
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch11
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix70
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix25
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix22
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix19
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix19
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix24
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/granite/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix66
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix163
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch84
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch26
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix19
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/srcs.nix428
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix4
164 files changed, 2226 insertions, 1914 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/file-roller/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/file-roller/default.nix
index 6af1994fb060..a26428652007 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/file-roller/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/file-roller/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation rec {
     patchShebangs data/set-mime-type-entry.py
   '';
 
-  postFixup = ''
+  preFixup = ''
     # Workaround because of https://gitlab.gnome.org/GNOME/file-roller/issues/40
-    wrapProgram "$out/bin/file-roller" \
+    gappsWrapperArgs+=(
       --prefix PATH : ${lib.makeBinPath [ unzip ]}
+    )
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome/core/epiphany/dark-style.patch b/nixpkgs/pkgs/desktops/gnome/core/epiphany/dark-style.patch
new file mode 100644
index 000000000000..56ac5c1e5b2c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/core/epiphany/dark-style.patch
@@ -0,0 +1,76 @@
+diff --git a/meson.build b/meson.build
+index de9cbfa850..647f617605 100644
+--- a/meson.build
++++ b/meson.build
+@@ -92,6 +92,7 @@ iso_codes_dep = dependency('iso-codes', version: '>= 0.35')
+ json_glib_dep = dependency('json-glib-1.0', version: '>= 1.6')
+ libarchive_dep = dependency('libarchive')
+ libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.1')
++libgranite_dep = dependency('granite', version: '>= 6.0.0')
+ libhandy_dep = dependency('libhandy-1', version: '>= 1.1.0')
+ libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0')
+ libsoup_dep = dependency('libsoup-2.4', version: '>= 2.48.0')
+diff --git a/src/ephy-shell.c b/src/ephy-shell.c
+index 650531da86..b9d1355e86 100644
+--- a/src/ephy-shell.c
++++ b/src/ephy-shell.c
+@@ -50,6 +50,7 @@
+ 
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
++#include <granite.h>
+ #include <handy.h>
+ 
+ struct _EphyShell {
+@@ -483,6 +484,20 @@ run_in_background_set_mapping (const GValue       *value,
+   return g_variant_new_boolean (g_variant_get_boolean (var));
+ }
+ 
++static void
++ephy_shell_set_prefers_color_scheme (EphyShell *shell)
++{
++    GtkSettings* gtk_settings = gtk_settings_get_default ();
++    GraniteSettings* granite_settings = granite_settings_get_default ();
++
++    g_object_set (
++        gtk_settings,
++        "gtk-application-prefer-dark-theme",
++        granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK,
++        NULL
++    );
++}
++
+ static void
+ ephy_shell_startup (GApplication *application)
+ {
+@@ -490,11 +505,18 @@ ephy_shell_startup (GApplication *application)
+   EphyShell *shell = EPHY_SHELL (application);
+   EphyEmbedShellMode mode;
+   GAction *action;
++  GraniteSettings* granite_settings = granite_settings_get_default ();
+ 
+   G_APPLICATION_CLASS (ephy_shell_parent_class)->startup (application);
+ 
+   hdy_init ();
+ 
++  ephy_shell_set_prefers_color_scheme (shell);
++
++  g_signal_connect (granite_settings, "notify::prefers-color-scheme",
++    G_CALLBACK (ephy_shell_set_prefers_color_scheme), shell
++  );
++
+   /* If we are under Pantheon set the icon-theme and cursor-theme accordingly. */
+   if (is_desktop_pantheon ()) {
+     GtkSettings *settings = gtk_settings_get_default ();
+diff --git a/src/meson.build b/src/meson.build
+index 5bf3eb92ec..d17b1b6d93 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -74,6 +74,7 @@ libephymain_deps = [
+   gdk_dep,
+   gvdb_dep,
+   libarchive_dep,
++  libgranite_dep,
+   libhandy_dep
+ ]
+ 
diff --git a/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix b/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
index 73c7a7aa1135..6f673d632267 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -9,6 +9,7 @@
 , icu
 , wrapGAppsHook
 , gnome
+, pantheon
 , libportal
 , libxml2
 , libxslt
@@ -33,6 +34,7 @@
 , libdazzle
 , libhandy
 , buildPackages
+, withPantheon ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -44,6 +46,12 @@ stdenv.mkDerivation rec {
     sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ=";
   };
 
+  patches = lib.optionals withPantheon [
+    # https://github.com/elementary/browser
+    ./dark-style.patch
+    ./navigation-buttons.patch
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     gettext
@@ -87,7 +95,7 @@ stdenv.mkDerivation rec {
     p11-kit
     sqlite
     webkitgtk
-  ];
+  ] ++ lib.optional withPantheon pantheon.granite;
 
   # Tests need an X display
   mesonFlags = [
@@ -108,7 +116,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Apps/Epiphany";
     description = "WebKit based web browser for GNOME";
-    maintainers = teams.gnome.members;
+    maintainers = teams.gnome.members ++ teams.pantheon.members;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch b/nixpkgs/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch
new file mode 100644
index 000000000000..b7b3b620535f
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch
@@ -0,0 +1,12 @@
+diff --git a/src/resources/gtk/action-bar-start.ui b/src/resources/gtk/action-bar-start.ui
+index e604b9601f..2bfe244d53 100644
+--- a/src/resources/gtk/action-bar-start.ui
++++ b/src/resources/gtk/action-bar-start.ui
+@@ -7,7 +7,6 @@
+         <property name="visible">True</property>
+         <property name="orientation">horizontal</property>
+         <style>
+-          <class name="linked"/>
+           <class name="navigation-box"/>
+         </style>
+         <child>
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index f507ef0e4bb6..b6aedeeb6464 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
@@ -35,11 +35,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-initial-setup";
-  version = "40.3";
+  version = "40.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "5QP9HUiFL112qr9iLR7ymWs4TYjaMf0WoQ1RPwmpDdc=";
+    sha256 = "QSplhO5upN+WN8QimT9Or4FYTSkZD16JOvmnhxy5Axs=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
new file mode 100644
index 000000000000..de48b72faca4
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
@@ -0,0 +1,135 @@
+{ lib, stdenv
+, fetchpatch
+, substituteAll
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gnome
+, perl
+, gettext
+, gtk3
+, glib
+, libnotify
+, libgnomekbd
+, lcms2
+, libpulseaudio
+, alsa-lib
+, libcanberra-gtk3
+, upower
+, colord
+, libgweather
+, polkit
+, gsettings-desktop-schemas
+, geoclue2
+, systemd
+, libgudev
+, libwacom
+, libxslt
+, libxml2
+, modemmanager
+, networkmanager
+, gnome-desktop
+, geocode-glib
+, docbook_xsl
+, wrapGAppsHook
+, python3
+, tzdata
+, nss
+, gcr
+, gnome-session-ctl
+, pantheon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-settings-daemon";
+  version = "3.38.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "136p3prdqvc0lvrcqs4h7crpnfqnimqklpzjivq5w4g1rhbdbhrj";
+  };
+
+  patches = [
+    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch";
+      sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI=";
+    })
+
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit tzdata;
+    })
+
+    # Adjust to libgweather changes.
+    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
+      sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    perl
+    gettext
+    libxml2
+    libxslt
+    docbook_xsl
+    wrapGAppsHook
+    python3
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    modemmanager
+    networkmanager
+    libnotify
+    libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
+    gnome-desktop
+    lcms2
+    libpulseaudio
+    alsa-lib
+    libcanberra-gtk3
+    upower
+    colord
+    libgweather
+    nss
+    polkit
+    geocode-glib
+    geoclue2
+    systemd
+    libgudev
+    libwacom
+    gcr
+  ];
+
+  mesonFlags = [
+    "-Dudev_dir=${placeholder "out"}/lib/udev"
+    "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl"
+  ];
+
+  # Default for release buildtype but passed manually because
+  # we're using plain
+  NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
+
+  postPatch = ''
+    for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
+      chmod +x $f
+      patchShebangs $f
+    done
+  '';
+
+  meta = with lib; {
+    description = "GNOME Settings Daemon";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/";
+    license = licenses.gpl2Plus;
+    maintainers = teams.pantheon.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch
index 2229302cab7c..2229302cab7c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch
deleted file mode 100644
index 3691c034d1ee..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001
-Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Sun, 20 Oct 2019 12:04:31 +0200
-Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h
-
-From: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-The eglext.h shipped by libglvnd does not include the Mesa extensions,
-unlike the header shipped in Mesa.
-
-Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
-
-(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90)
----
- cogl/cogl/meson.build       | 2 +-
- src/backends/meta-egl-ext.h | 1 +
- src/backends/meta-egl.c     | 1 +
- src/backends/meta-egl.h     | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
-index 1057ef9..9a64294 100644
---- a/cogl/cogl/meson.build
-+++ b/cogl/cogl/meson.build
-@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
- built_headers += [cogl_gl_header_h]
- 
- if have_egl
--  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
-+  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
- else
-   cogl_egl_includes_string = ''
- endif
-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 6554be9..fdeff4f 100644
---- a/src/backends/meta-egl.c
-+++ b/src/backends/meta-egl.c
-@@ -27,6 +27,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 f2a8164..4591e7d 100644
---- a/src/backends/meta-egl.h
-+++ b/src/backends/meta-egl.h
-@@ -28,6 +28,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 ()
-
-base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch
deleted file mode 100644
index 28f89ac7c0c6..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001
-Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch>
-In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Sat, 19 Oct 2019 13:26:05 +0200
-Subject: [PATCH 2/7] drop inheritable
-
-From: Tor Hedin Brønner <torhedinbronner@gmail.com>
-
-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   | 10 ++++++++++
- src/meson.build   |  1 +
- 5 files changed, 25 insertions(+)
-
-diff --git a/config.h.meson b/config.h.meson
-index 0bab718..202fb7e 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 29d495b..86970df 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 73aa7ad..8bfaacd 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 3935f35..ecf3cb2 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 90d8073..a9fffa2 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,
- ]
- 
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch
deleted file mode 100644
index 9f78a324d9da..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001
-Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch>
-In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Sun,  5 Apr 2020 23:06:03 -0400
-Subject: [PATCH 3/7] Fix glitches in gala
-
-From: worldofpeace <worldofpeace@protonmail.ch>
-
-This fixes issues for users of mutter like in gala[0].
-
-Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
-[0]: https://github.com/elementary/gala/issues/605
----
- clutter/clutter/clutter-actor.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
-index ecf9a59..07b8b71 100644
---- a/clutter/clutter/clutter-actor.c
-+++ b/clutter/clutter/clutter-actor.c
-@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
-   if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
-     {
-       priv->paint_volume_valid = TRUE;
--      priv->needs_paint_volume_update = FALSE;
-+      //priv->needs_paint_volume_update = FALSE;
-       return &priv->paint_volume;
-     }
-   else
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch
deleted file mode 100644
index cd98d3950415..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001
-Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch>
-In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Wed, 30 Oct 2019 15:23:24 -0700
-Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof
-
-From: Christian Hergert <chergert@redhat.com>
-
-This tracks the changes to gdbus-codegen in terms of how GUnixFDList is
-done to use the UnixFD annotation.
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/908
-(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c)
----
- src/backends/meta-profiler.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c
-index 10d433a..0d62701 100644
---- a/src/backends/meta-profiler.c
-+++ b/src/backends/meta-profiler.c
-@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler,
- static gboolean
- handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
-               GDBusMethodInvocation    *invocation,
-+              GUnixFDList              *fd_list,
-               GVariant                 *options,
-               GVariant                 *fd_variant)
- {
-   MetaProfiler *profiler = META_PROFILER (dbus_profiler);
-   GMainContext *main_context = g_main_context_default ();
--  GDBusMessage *message;
--  GUnixFDList *fd_list;
-   const char *group_name;
-   int position;
-   int fd = -1;
-@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
- 
-   g_variant_get (fd_variant, "h", &position);
- 
--  message = g_dbus_method_invocation_get_message (invocation);
--  fd_list = g_dbus_message_get_unix_fd_list (message);
-   if (fd_list)
-     fd = g_unix_fd_list_get (fd_list, position, NULL);
- 
-@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
- 
-   g_debug ("Profiler running");
- 
--  meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation);
-+  meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL);
-   return TRUE;
- }
- 
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch
deleted file mode 100644
index 138970ddda0a..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001
-Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch>
-In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Wed, 29 Jan 2020 11:02:33 +0100
-Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h
-
-From: Corentin Noël <corentin@elementary.io>
-
-This is required because MetaDisplayCorner is only defined in display.h
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025
-(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12)
----
- src/meta/meta-workspace-manager.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h
-index 0390c44..92cd681 100644
---- a/src/meta/meta-workspace-manager.h
-+++ b/src/meta/meta-workspace-manager.h
-@@ -26,6 +26,7 @@
- #include <glib-object.h>
- 
- #include <meta/common.h>
-+#include <meta/display.h>
- #include <meta/prefs.h>
- #include <meta/types.h>
- 
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch
deleted file mode 100644
index 6d88f0f5e766..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001
-Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch>
-In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Sat,  4 Jul 2020 12:01:28 -0700
-Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4
-
-From: Christian Hergert <chergert@redhat.com>
-
-GLib will now be linking against sysprof-capture-4.a. To support that,
-sysprof had to remove the GLib dependency from sysprof-capture-4 which
-had the side-effect of breaking ABi.
-
-This bumps the dependency and includes a fallback to compile just the
-libsysprof-capture-4.a using a subproject wrap.
-
-https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352
-(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692)
----
- meson.build              | 20 ++++++++++++++++++--
- src/meson.build          |  8 ++++++--
- subprojects/sysprof.wrap |  4 ++++
- 3 files changed, 28 insertions(+), 4 deletions(-)
- create mode 100644 subprojects/sysprof.wrap
-
-diff --git a/meson.build b/meson.build
-index 86970df..3dc0098 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1,6 +1,6 @@
- project('mutter', 'c',
-   version: '3.34.6',
--  meson_version: '>= 0.50.0',
-+  meson_version: '>= 0.51.0',
-   license: 'GPLv2+'
- )
- 
-@@ -52,6 +52,9 @@ gbm_req = '>= 10.3'
- # screen cast version requirements
- libpipewire_req = '>= 0.2.5'
- 
-+# profiler requirements
-+sysprof_req = '>= 3.37.2'
-+
- gnome = import('gnome')
- pkg = import('pkgconfig')
- i18n  = import('i18n')
-@@ -275,7 +278,20 @@ endif
- 
- have_profiler = get_option('profiler')
- if have_profiler
--  sysprof_dep = dependency('sysprof-capture-3')
-+  # libsysprof-capture support
-+  sysprof_dep = dependency('sysprof-capture-4',
-+    required: true,
-+    default_options: [
-+      'enable_examples=false',
-+      'enable_gtk=false',
-+      'enable_tests=false',
-+      'enable_tools=false',
-+      'libsysprof=false',
-+      'with_sysprofd=none',
-+      'help=false',
-+    ],
-+    fallback: ['sysprof', 'libsysprof_capture_dep'],
-+  )
- endif
- 
- required_functions = [
-diff --git a/src/meson.build b/src/meson.build
-index a9fffa2..a91baa1 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -711,9 +711,13 @@ if have_profiler
-     'backends/meta-profiler.h',
-   ]
- 
--  dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
--  sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
-+  if sysprof_dep.type_name() == 'pkgconfig'
-+    sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces')
-+  else
-+    sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src')
-+  endif
- 
-+  sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
-   dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
-       sysprof3_dbus_file,
-       interface_prefix: 'org.gnome.',
-diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap
-new file mode 100644
-index 0000000..c8f5883
---- /dev/null
-+++ b/subprojects/sysprof.wrap
-@@ -0,0 +1,4 @@
-+[wrap-git]
-+directory=sysprof
-+url=https://gitlab.gnome.org/GNOME/sysprof.git
-+revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch
deleted file mode 100644
index 8376fc649b5f..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001
-Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch>
-In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
-From: WORLDofPEACE <worldofpeace@protonmail.ch>
-Date: Fri, 25 Sep 2020 20:48:33 -0400
-Subject: [PATCH 7/7] fix paths
-
----
- src/core/util.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/util.c b/src/core/util.c
-index 79bcfdc..87ce549 100644
---- a/src/core/util.c
-+++ b/src/core/util.c
-@@ -623,7 +623,7 @@ meta_show_dialog (const char *type,
- 
-   args = g_ptr_array_new ();
- 
--  append_argument (args, "zenity");
-+  append_argument (args, "@zenity@/bin/zenity");
-   append_argument (args, type);
- 
-   if (display)
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/default.nix b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/default.nix
index 42f07d45e62f..3c2d30b813ba 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.34/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/default.nix
@@ -1,35 +1,35 @@
 { fetchurl
-, fetchpatch
 , substituteAll
-, lib, stdenv
+, runCommand
+, lib
+, stdenv
 , pkg-config
 , gnome
-, pantheon
 , gettext
 , gobject-introspection
-, upower
 , cairo
 , pango
-, cogl
 , json-glib
 , libstartup_notification
 , zenity
-, libcanberra-gtk3
+, libcanberra
 , ninja
 , xkeyboard_config
 , libxkbfile
+, libXdamage
 , libxkbcommon
 , libXtst
 , libinput
+, libdrm
 , gsettings-desktop-schemas
 , glib
 , gtk3
 , gnome-desktop
-, geocode-glib
-, pipewire_0_2
+, pipewire
 , libgudev
 , libwacom
 , xwayland
+, mesa
 , meson
 , gnome-settings-daemon
 , xorgserver
@@ -39,23 +39,47 @@
 , desktop-file-utils
 , libcap_ng
 , egl-wayland
+, graphene
+, wayland-protocols
+, pantheon
 }:
 
-stdenv.mkDerivation rec {
+let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "3.34.6";
+  version = "3.38.6";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY=";
+    sha256 = "0mxln9azl4krmknq2vmhd15lgpa2q7gh7whiv14nsqbr9iaxmg2x";
   };
 
+  patches = [
+    # 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
+
+    # Fixes issues for users of mutter like in gala.
+    # https://github.com/elementary/gala/issues/605
+    # https://gitlab.gnome.org/GNOME/mutter/issues/536
+    ./fix-glitches-in-gala.patch
+
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit zenity;
+    })
+  ];
+
   mesonFlags = [
     "-Degl_device=true"
     "-Dinstalled_tests=false" # TODO: enable these
     "-Dwayland_eglstream=true"
+    "-Dprofiler=true"
+    "-Dxwayland_path=${xwayland}/bin/Xwayland"
+    # This should be auto detected, but it looks like it manages a false
+    # positive.
+    "-Dxwayland_initfd=disabled"
   ];
 
   propagatedBuildInputs = [
@@ -63,11 +87,13 @@ stdenv.mkDerivation rec {
     json-glib
     libXtst
     libcap_ng
+    graphene
   ];
 
   nativeBuildInputs = [
     desktop-file-utils
     gettext
+    mesa # needed for gbm
     meson
     ninja
     pkg-config
@@ -78,42 +104,28 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cairo
-    cogl
     egl-wayland
-    geocode-glib
     glib
     gnome-desktop
     gnome-settings-daemon
     gobject-introspection
     gsettings-desktop-schemas
     gtk3
-    libcanberra-gtk3
+    libcanberra
+    libdrm
     libgudev
     libinput
     libstartup_notification
     libwacom
     libxkbcommon
     libxkbfile
+    libXdamage
     pango
-    pipewire_0_2 # TODO: backport pipewire 0.3 support
+    pipewire
     sysprof
-    upower
     xkeyboard_config
     xwayland
-    zenity
-  ];
-
-  patches = [
-    ./0001-EGL-Include-EGL-eglmesaext.h.patch
-    ./0002-drop-inheritable.patch
-    ./0003-Fix-glitches-in-gala.patch
-    ./0004-profiler-track-changes-in-GLib-and-Sysprof.patch
-    ./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch
-    ./0006-build-bump-ABI-to-sysprof-capture-4.patch
-    (substituteAll {
-      src = ./0007-fix-paths.patch;
-      inherit zenity;
-    })
+    wayland-protocols
   ];
 
   postPatch = ''
@@ -124,11 +136,29 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
 
+  # Install udev files into our own tree.
+  PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
+
+  passthru = {
+    libdir = "${self}/lib/mutter-7";
+
+    tests = {
+      libdirExists = runCommand "mutter-libdir-exists" {} ''
+        if [[ ! -d ${self.libdir} ]]; then
+          echo "passthru.libdir should contain a directory, “${self.libdir}” is not one."
+          exit 1
+        fi
+        touch $out
+      '';
+    };
+  };
+
   meta = with lib; {
     description = "A window manager for GNOME";
     homepage = "https://gitlab.gnome.org/GNOME/mutter";
-    license = licenses.gpl2;
-    maintainers = pantheon.maintainers;
+    license = licenses.gpl2Plus;
+    maintainers = teams.pantheon.members;
     platforms = platforms.linux;
   };
-}
+};
+in self
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patch
index 7374e1b86935..7374e1b86935 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patch
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch
new file mode 100644
index 000000000000..973768239792
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch
@@ -0,0 +1,27 @@
+From a58ace29db48f98ad59f4f309d49b458c68a6eec Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Wed, 28 Jul 2021 22:08:11 +0800
+Subject: [PATCH] Fix glitches in gala
+
+Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
+
+This fixes issues for users of mutter like in gala[0].
+
+Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
+[0]: https://github.com/elementary/gala/issues/605
+---
+ clutter/clutter/clutter-actor.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
+index febfb31918..71906000c0 100644
+--- a/clutter/clutter/clutter-actor.c
++++ b/clutter/clutter/clutter-actor.c
+@@ -15926,7 +15926,6 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
+   if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
+     {
+       priv->paint_volume_valid = TRUE;
+-      priv->needs_paint_volume_update = FALSE;
+       return &priv->paint_volume;
+     }
+   else
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch
new file mode 100644
index 000000000000..6ac0a431f61f
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/core/util.c b/src/core/util.c
+index 57b73747d..f424cc81c 100644
+--- a/src/core/util.c
++++ b/src/core/util.c
+@@ -636,7 +636,7 @@ meta_show_dialog (const char *type,
+ 
+   args = g_ptr_array_new ();
+ 
+-  append_argument (args, "zenity");
++  append_argument (args, "@zenity@/bin/zenity");
+   append_argument (args, type);
+ 
+   if (display)
diff --git a/nixpkgs/pkgs/desktops/gnome/core/yelp-xsl/default.nix b/nixpkgs/pkgs/desktops/gnome/core/yelp-xsl/default.nix
index 7c9b4eb839c0..32f3fbd61538 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/yelp-xsl/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "40.0";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Nh7NTTP8zbO7CKaH9g5cPpCdLp47Ai2ETgSYINDPYrA=";
+    sha256 = "sha256-kZxVL4RqrsdB/lHVr0FrRpvNslx37/w7WhWktLf/gU4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/default.nix b/nixpkgs/pkgs/desktops/gnome/default.nix
index 979ddafc10f0..a3f0107c288b 100644
--- a/nixpkgs/pkgs/desktops/gnome/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/default.nix
@@ -88,6 +88,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { };
 
+  # Using 3.38 to match Mutter used in Pantheon
+  gnome-settings-daemon338 = callPackage ./core/gnome-settings-daemon/3.38 { };
+
   gnome-software = callPackage ./core/gnome-software { };
 
   gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
@@ -106,9 +109,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   mutter = callPackage ./core/mutter { };
 
-  # Needed for elementary's gala and greeter until 3.36 support has more bugfixes
-  # https://github.com/elementary/gala/issues/763
-  mutter334 = callPackage ./core/mutter/3.34 { };
+  # Needed for elementary's gala and greeter until support for higher versions is provided
+  mutter338 = callPackage ./core/mutter/3.38 { };
 
   nautilus = callPackage ./core/nautilus { };
 
@@ -355,7 +357,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   maintainers = lib.teams.gnome.members;
 
-  mutter328 = throw "Removed as Pantheon is upgraded to mutter334.";
+  mutter328 = throw "Removed as Pantheon is upgraded to mutter338.";
+
+  mutter334 = throw "Removed as Pantheon is upgraded to mutter338.";
 
   gnome-getting-started-docs = throw "Removed in favour of gnome-tour.";
 
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix
index 2720026357d2..68898fa42b0e 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/arcmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-arcmenu";
-  version = "12";
+  version = "14";
 
   src = fetchFromGitLab {
     owner = "arcmenu";
     repo = "ArcMenu";
     rev = "v${version}";
-    sha256 = "sha256-R1OUDf/YMyMlxwXM9rNsrasPumHEoYhJK0evnYGeIkA=";
+    sha256 = "sha256-Iobu5eNWSvAiTRe6wyx/0PgUtB9QIC9KdH0M1xhsM1I=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
index 9399561e6784..a818d8c115c3 100644
--- a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tali";
-  version = "40.2";
+  version = "40.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "9SHsnW1SKA/Pfi1IerbVqIw54yx6n5XrqwKdUsAj4Cs=";
+    sha256 = "neLxCreZjHprLKYvs3nBgby8HtYqp6gkG8VVHVF4/iE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
index 5913ec7a0d03..60e6ca3d4e82 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -51,10 +51,6 @@ mkDerivation rec {
     xorg.xf86inputlibinput.dev
   ];
 
-  postPatch = ''
-    sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt
-  '';
-
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/desktops/mate/atril/default.nix b/nixpkgs/pkgs/desktops/mate/atril/default.nix
index 81c5bdcd78ec..c88e3a72ea45 100644
--- a/nixpkgs/pkgs/desktops/mate/atril/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/atril/default.nix
@@ -75,6 +75,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
index 27bf56cf5160..0d347b39f108 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/caja-dropbox";
     license = with licenses; [ gpl3Plus cc-by-nd-30 ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
index 0b21f2721dba..4cec39774892 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/caja/default.nix b/nixpkgs/pkgs/desktops/mate/caja/default.nix
index 65d6e1a21ebc..ce9861f1762e 100644
--- a/nixpkgs/pkgs/desktops/mate/caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
index b9627dae02ca..7fde8fb1958d 100644
--- a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/eom/default.nix b/nixpkgs/pkgs/desktops/mate/eom/default.nix
index 7947247bf1c6..9862c3059d21 100644
--- a/nixpkgs/pkgs/desktops/mate/eom/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/eom/default.nix
@@ -34,11 +34,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  meta = with lib; {
     description = "An image viewing and cataloging program for the MATE desktop";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
index 967e223f2b0e..d7969f55efce 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/libmatekbd";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
index 2824c958de2f..2ef34f2ea67d 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/libmatemixer";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
index b325de3b3c02..3d99b0ccd82e 100644
--- a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/libmateweather";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/marco/default.nix b/nixpkgs/pkgs/desktops/mate/marco/default.nix
index e7e6547284db..597538a9f8a1 100644
--- a/nixpkgs/pkgs/desktops/mate/marco/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/marco/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/marco";
     license = [ licenses.gpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
index f06db0adc1be..30b51e9ed5bd 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
index 3fa6f37b2a1f..9384d49e2a3d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus cc-by-sa-40 ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
index 4344e970758c..b26347f73397 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = [ licenses.gpl2Plus ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
index 159fb75426ab..c3d2910e8696 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
@@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  meta = with lib; {
     description = "Common files for development of MATE packages";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
index 9c1186a692ea..e95f3696e288 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
@@ -57,6 +57,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-control-center";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
index 19ad26656f21..e4928ac748b5 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index 7dc4423fb6b2..69f780f6083f 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
index 0e4fc7f0c30d..001b6e418792 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -29,11 +29,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  meta = with lib; {
     description = "Icon themes from MATE";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.romildo ];
+    license = licenses.lgpl3Plus;
+    platforms = platforms.linux;
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
index 3cf2ac9b4c34..08985608cd61 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; [ gpl3Plus lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
index c4e9a9d5b0c2..839e1dc20341 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo maintainers.chpatrick ];
+    maintainers = teams.mate.members ++ (with maintainers; [ chpatrick ]);
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
index 33f437446532..09c251f4083e 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-menus";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
index f4908906ff95..f9c4737bab1c 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl3Only lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
index 8bc730032f6e..a66f8de43462 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-notification-daemon";
     license = with licenses; [ gpl2Plus gpl3Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
index d0e54bab5850..8da5f8939231 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-panel";
     license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
index 8ec813ce833d..9b1d77d78240 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = [ licenses.gpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
index c7b6690d2e3c..72f9ba93a437 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus fdl11Plus ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ romildo chpatrick ];
+    maintainers = teams.mate.members ++ (with maintainers; [ chpatrick ]);
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
index b87ec4b68d08..f33c47cbf0a2 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     systemd
     mate.mate-desktop
     mate.mate-menus
+    mate.mate-panel
   ];
 
   configureFlags = [ "--without-console-kit" ];
@@ -40,6 +41,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
index 7e77f898051d..6faceee002e9 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     description = "MATE panel applet for hardware sensors";
     license = with licenses; [ gpl2Plus ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
index 152ecf572d78..1c51e2f6ae89 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-session-manager";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 3ece77dc08c4..ff46b339b2fc 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-settings-daemon";
     license = with licenses; [ gpl2Plus gpl3Plus lgpl2Plus mit ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
index d94695ac80a4..9b4a510b7286 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = [ licenses.gpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
index ed7ba49c18fe..19fa5697f969 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
index 6a1be82c8a6d..21c7b23537ec 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ lgpl21Plus lgpl3Only gpl3Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix b/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
index 830cf092f80e..5aebd6aef43a 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
@@ -86,6 +86,6 @@ python3Packages.buildPythonApplication rec {
     changelog = "https://github.com/ubuntu-mate/mate-tweak/releases/tag/${version}";
     license = [ licenses.gpl2Plus ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ luc65r ];
+    maintainers = teams.mate.members ++ (with maintainers; [ luc65r ]);
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
index 8a5aadb936db..ecbe2e667aad 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus fdl12 ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
index 9907552f3c07..3e0062c7a793 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/mate-user-share";
     license = with licenses; [ gpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
index 6801368dc43c..48e662f54f71 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mozo/default.nix b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
index 037989083bc3..3a02b03ceb76 100644
--- a/nixpkgs/pkgs/desktops/mate/mozo/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
@@ -27,6 +27,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/mate-desktop/mozo";
     license = with licenses; [ lgpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/pluma/default.nix b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
index 9eb0f9283be7..53b0251229ac 100644
--- a/nixpkgs/pkgs/desktops/mate/pluma/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     homepage = "https://mate-desktop.org";
     license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
index ccee7b046887..452a7943d664 100644
--- a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mate-desktop/python-caja";
     license = [ licenses.gpl2Plus ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.mate.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
index 556b67aeafe8..86580bd4c30f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -30,15 +30,24 @@
 
 stdenv.mkDerivation rec {
   pname = "appcenter";
-  version = "3.6.0";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0kwqgilhyrj2nbvw5y34nzch5h9jnrg1a1n333qdsx4ax6yrxh4j";
+    sha256 = "07lkdpnjj9pxbq8h794qjiidvnysvzx0132w98r1wg9k7ca170bj";
   };
 
+  patches = [
+    # Try to remove other backends to make flatpak backend work.
+    # https://github.com/NixOS/nixpkgs/issues/70214
+    ./flatpak-only.patch
+    # The homepage banner does not show up on first run,
+    # has issues with app icon and mouse scrolling.
+    ./drop-homepage-banner.patch
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -76,7 +85,6 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Dhomepage=false"
     "-Dpayments=false"
     "-Dcurated=false"
   ];
@@ -91,6 +99,6 @@ stdenv.mkDerivation rec {
     description = "An open, pay-what-you-want app store for indie developers, designed for elementary OS";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch
new file mode 100644
index 000000000000..3e7aa3efc126
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch
@@ -0,0 +1,234 @@
+From b1e09653d755ca6ffd03a1e3e67750e6bcc2bc6f Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Wed, 22 Sep 2021 11:54:48 +0800
+Subject: [PATCH 2/2] Drop homepage banner
+
+---
+ src/Views/Homepage.vala | 181 +---------------------------------------
+ 1 file changed, 1 insertion(+), 180 deletions(-)
+
+diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala
+index 576fc02c..80a1d221 100644
+--- a/src/Views/Homepage.vala
++++ b/src/Views/Homepage.vala
+@@ -31,67 +31,12 @@ public class AppCenter.Homepage : AbstractView {
+     public bool viewing_package { get; private set; default = false; }
+ 
+     public AppStream.Category currently_viewed_category;
+-    private Hdy.Carousel banner_carousel;
+-    private Gtk.Revealer banner_revealer;
+-    private Gtk.FlowBox recently_updated_carousel;
+-    private Gtk.Revealer recently_updated_revealer;
+-
+-    private uint banner_timeout_id;
+ 
+     construct {
+-        banner_carousel = new Hdy.Carousel () {
+-            allow_long_swipes = true
+-        };
+-
+-        var banner_event_box = new Gtk.EventBox ();
+-        banner_event_box.events |= Gdk.EventMask.ENTER_NOTIFY_MASK;
+-        banner_event_box.events |= Gdk.EventMask.LEAVE_NOTIFY_MASK;
+-        banner_event_box.add (banner_carousel);
+-
+-        var banner_dots = new Hdy.CarouselIndicatorDots () {
+-            carousel = banner_carousel
+-        };
+-
+-        var banner_grid = new Gtk.Grid () {
+-            orientation = Gtk.Orientation.VERTICAL
+-        };
+-        banner_grid.add (banner_event_box);
+-        banner_grid.add (banner_dots);
+-
+-        banner_revealer = new Gtk.Revealer ();
+-        banner_revealer.add (banner_grid);
+-
+-        var recently_updated_label = new Granite.HeaderLabel (_("Recently Updated")) {
+-            margin_start = 12
+-        };
+-
+-        recently_updated_carousel = new Gtk.FlowBox () {
+-            activate_on_single_click = true,
+-            column_spacing = 12,
+-            row_spacing = 12,
+-            homogeneous = true,
+-            max_children_per_line = 5,
+-            min_children_per_line = 3
+-        };
+-
+-        var recently_updated_grid = new Gtk.Grid () {
+-            margin_end = 12,
+-            margin_start = 12
+-        };
+-        recently_updated_grid.attach (recently_updated_label, 0, 0);
+-        recently_updated_grid.attach (recently_updated_carousel, 0, 1);
+-
+-        recently_updated_revealer = new Gtk.Revealer ();
+-        recently_updated_revealer.add (recently_updated_grid );
+-
+-        var categories_label = new Granite.HeaderLabel (_("Categories")) {
+-            margin_start = 24,
+-            margin_top = 24
+-        };
+-
+         category_flow = new Widgets.CategoryFlowBox () {
+             margin_start = 12,
+             margin_end =12,
++            margin_top = 12,
+             valign = Gtk.Align.START
+         };
+ 
+@@ -99,9 +44,6 @@ public class AppCenter.Homepage : AbstractView {
+             column_spacing = 24,
+             orientation = Gtk.Orientation.VERTICAL
+         };
+-        grid.add (banner_revealer);
+-        grid.add (recently_updated_revealer);
+-        grid.add (categories_label);
+         grid.add (category_flow);
+ 
+         scrolled_window = new Gtk.ScrolledWindow (null, null) {
+@@ -111,19 +53,6 @@ public class AppCenter.Homepage : AbstractView {
+ 
+         add (scrolled_window);
+ 
+-        var local_package = App.local_package;
+-        if (local_package != null) {
+-            var banner = new Widgets.Banner (local_package);
+-
+-            banner_carousel.prepend (banner);
+-
+-            banner.clicked.connect (() => {
+-                show_package (local_package);
+-            });
+-        }
+-
+-        load_banners_and_carousels.begin ();
+-
+         category_flow.child_activated.connect ((child) => {
+             var item = child as Widgets.CategoryItem;
+             if (item != null) {
+@@ -159,94 +88,8 @@ public class AppCenter.Homepage : AbstractView {
+                         }
+                     }
+                 }
+-
+-                return GLib.Source.REMOVE;
+             });
+         });
+-
+-        banner_event_box.enter_notify_event.connect (() => {
+-            banner_timeout_stop ();
+-        });
+-
+-        banner_event_box.leave_notify_event.connect (() => {
+-            banner_timeout_start ();
+-        });
+-
+-        recently_updated_carousel.child_activated.connect ((child) => {
+-            var package_row_grid = (AppCenter.Widgets.ListPackageRowGrid) child.get_child ();
+-
+-            show_package (package_row_grid.package);
+-        });
+-    }
+-
+-    private async void load_banners_and_carousels () {
+-        unowned var fp_client = AppCenterCore.FlatpakBackend.get_default ();
+-        var packages_by_release_date = fp_client.get_featured_packages_by_release_date ();
+-        var packages_in_banner = new Gee.LinkedList<AppCenterCore.Package> ();
+-
+-        int package_count = 0;
+-        foreach (var package in packages_by_release_date) {
+-            if (package_count >= MAX_PACKAGES_IN_BANNER) {
+-                break;
+-            }
+-
+-            var installed = false;
+-            foreach (var origin_package in package.origin_packages) {
+-                try {
+-                    if (yield origin_package.backend.is_package_installed (origin_package)) {
+-                        installed = true;
+-                        break;
+-                    }
+-                } catch (Error e) {
+-                    continue;
+-                }
+-            }
+-
+-            if (!installed) {
+-                packages_in_banner.add (package);
+-                package_count++;
+-            }
+-        }
+-
+-        foreach (var package in packages_in_banner) {
+-            var banner = new Widgets.Banner (package);
+-            banner.clicked.connect (() => {
+-                show_package (package);
+-            });
+-
+-            banner_carousel.add (banner);
+-        }
+-
+-        banner_carousel.show_all ();
+-        banner_revealer.reveal_child = true;
+-        banner_timeout_start ();
+-
+-        foreach (var package in packages_by_release_date) {
+-            if (recently_updated_carousel.get_children ().length () >= MAX_PACKAGES_IN_CAROUSEL) {
+-                break;
+-            }
+-
+-            var installed = false;
+-            foreach (var origin_package in package.origin_packages) {
+-                try {
+-                    if (yield origin_package.backend.is_package_installed (origin_package)) {
+-                        installed = true;
+-                        break;
+-                    }
+-                } catch (Error e) {
+-                    continue;
+-                }
+-            }
+-
+-            if (!installed && !(package in packages_in_banner) && !package.is_explicit) {
+-                var package_row = new AppCenter.Widgets.ListPackageRowGrid (package);
+-                recently_updated_carousel.add (package_row);
+-            }
+-        }
+-        recently_updated_carousel.show_all ();
+-        recently_updated_revealer.reveal_child = recently_updated_carousel.get_children ().length () > 0;
+-
+-        page_loaded ();
+     }
+ 
+     public override void show_package (
+@@ -307,26 +150,4 @@ public class AppCenter.Homepage : AbstractView {
+         var apps = client.get_applications_for_category (category);
+         app_list_view.add_packages (apps);
+     }
+-
+-    private void banner_timeout_start () {
+-        banner_timeout_id = Timeout.add (MILLISECONDS_BETWEEN_BANNER_ITEMS, () => {
+-            var new_index = (uint) banner_carousel.position + 1;
+-            var max_index = banner_carousel.n_pages - 1; // 0-based index
+-
+-            if (banner_carousel.position >= max_index) {
+-                new_index = 0;
+-            }
+-
+-            banner_carousel.switch_child (new_index, Granite.TRANSITION_DURATION_OPEN);
+-
+-            return Source.CONTINUE;
+-        });
+-    }
+-
+-    private void banner_timeout_stop () {
+-        if (banner_timeout_id != 0) {
+-            Source.remove (banner_timeout_id);
+-            banner_timeout_id = 0;
+-        }
+-    }
+ }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch
new file mode 100644
index 000000000000..aa8cde89616a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch
@@ -0,0 +1,162 @@
+From 5d3f20b49a89b55e39339a0f90ae7f846356b0e1 Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Wed, 22 Sep 2021 11:54:24 +0800
+Subject: [PATCH 1/2] Drop PackageKitBackend and UbuntuDriversBackend
+
+---
+ src/Application.vala            | 14 ---------
+ src/Core/BackendAggregator.vala |  2 --
+ src/Core/UpdateManager.vala     | 56 ---------------------------------
+ src/MainWindow.vala             | 17 ----------
+ 4 files changed, 89 deletions(-)
+
+diff --git a/src/Application.vala b/src/Application.vala
+index 65fae5aa..9d42b14f 100644
+--- a/src/Application.vala
++++ b/src/Application.vala
+@@ -167,10 +167,6 @@ public class AppCenter.App : Gtk.Application {
+ 
+         var client = AppCenterCore.Client.get_default ();
+ 
+-        if (fake_update_packages != null) {
+-            AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages;
+-        }
+-
+         if (silent) {
+             NetworkMonitor.get_default ().network_changed.connect ((available) => {
+                 schedule_cache_update (!available);
+@@ -183,16 +179,6 @@ public class AppCenter.App : Gtk.Application {
+             return;
+         }
+ 
+-        if (local_path != null) {
+-            var file = File.new_for_commandline_arg (local_path);
+-
+-            try {
+-                local_package = AppCenterCore.PackageKitBackend.get_default ().add_local_component_file (file);
+-            } catch (Error e) {
+-                warning ("Failed to load local AppStream XML file: %s", e.message);
+-            }
+-        }
+-
+         if (main_window == null) {
+             main_window = new MainWindow (this);
+ 
+diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala
+index 2f8bdedf..b705ca87 100644
+--- a/src/Core/BackendAggregator.vala
++++ b/src/Core/BackendAggregator.vala
+@@ -26,8 +26,6 @@ public class AppCenterCore.BackendAggregator : Backend, Object {
+ 
+     construct {
+         backends = new Gee.ArrayList<unowned Backend> ();
+-        backends.add (PackageKitBackend.get_default ());
+-        backends.add (UbuntuDriversBackend.get_default ());
+         backends.add (FlatpakBackend.get_default ());
+ 
+         unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default ();
+diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala
+index 29fa397a..ce42dd57 100644
+--- a/src/Core/UpdateManager.vala
++++ b/src/Core/UpdateManager.vala
+@@ -53,42 +53,9 @@ public class AppCenterCore.UpdateManager : Object {
+             installed_package.update_state ();
+         }
+ 
+-        Pk.Results pk_updates;
+-        unowned PackageKitBackend client = PackageKitBackend.get_default ();
+-        try {
+-            pk_updates = yield client.get_updates (cancellable);
+-        } catch (Error e) {
+-            warning ("Unable to get updates from PackageKit backend: %s", e.message);
+-            return 0;
+-        }
+-
+         uint os_count = 0;
+         string os_desc = "";
+ 
+-        var package_array = pk_updates.get_package_array ();
+-        debug ("PackageKit backend reports %d updates", package_array.length);
+-
+-        package_array.foreach ((pk_package) => {
+-            var pkg_name = pk_package.get_name ();
+-            var appcenter_package = client.lookup_package_by_id (pkg_name);
+-            if (appcenter_package != null) {
+-                debug ("Added %s to app updates", pkg_name);
+-                apps_with_updates.add (appcenter_package);
+-                appcenter_package.latest_version = pk_package.get_version ();
+-            } else {
+-                debug ("Added %s to OS updates", pkg_name);
+-                os_count++;
+-                unowned string pkg_summary = pk_package.get_summary ();
+-                unowned string pkg_version = pk_package.get_version ();
+-                os_desc += Markup.printf_escaped (
+-                    "<li>%s\n\t%s\n\t%s</li>\n",
+-                    pkg_name,
+-                    pkg_summary,
+-                    _("Version: %s").printf (pkg_version)
+-                );
+-            }
+-        });
+-
+         os_updates.component.set_pkgnames ({});
+         os_updates.change_information.clear_update_info ();
+ 
+@@ -160,29 +127,6 @@ public class AppCenterCore.UpdateManager : Object {
+             count += 1;
+         }
+ 
+-        pk_updates.get_details_array ().foreach ((pk_detail) => {
+-            var pk_package = new Pk.Package ();
+-            try {
+-                pk_package.set_id (pk_detail.get_package_id ());
+-                var pkg_name = pk_package.get_name ();
+-                var appcenter_package = client.lookup_package_by_id (pkg_name);
+-                    if (appcenter_package != null) {
+-                        appcenter_package.change_information.updatable_packages.@set (client, pk_package.get_id ());
+-                        appcenter_package.change_information.size += pk_detail.size;
+-                        appcenter_package.update_state ();
+-                    } else {
+-                        var pkgnames = os_updates.component.pkgnames;
+-                        pkgnames += pkg_name;
+-                        os_updates.component.pkgnames = pkgnames;
+-
+-                        os_updates.change_information.updatable_packages.@set (client, pk_package.get_id ());
+-                        os_updates.change_information.size += pk_detail.size;
+-                    }
+-            } catch (Error e) {
+-                critical (e.message);
+-            }
+-        });
+-
+         os_updates.update_state ();
+         return count;
+     }
+diff --git a/src/MainWindow.vala b/src/MainWindow.vala
+index a32ce47b..b9f8594a 100644
+--- a/src/MainWindow.vala
++++ b/src/MainWindow.vala
+@@ -292,23 +292,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow {
+     }
+ 
+     public override bool delete_event (Gdk.EventAny event) {
+-        unowned AppCenterCore.PackageKitBackend client = AppCenterCore.PackageKitBackend.get_default ();
+-        if (client.working) {
+-            if (task_finished_connection != 0U) {
+-                client.disconnect (task_finished_connection);
+-            }
+-
+-            hide ();
+-            task_finished_connection = client.notify["working"].connect (() => {
+-                if (!visible && !client.working) {
+-                    destroy ();
+-                }
+-            });
+-
+-            AppCenterCore.Client.get_default ().cancel_updates (false); //Timeouts keep running
+-            return true;
+-        }
+-
+         return false;
+     }
+ 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index 8b02af57d42d..7fbaa32dc39f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -12,6 +13,7 @@
 , python3
 , granite
 , libgee
+, libhandy
 , elementary-icon-theme
 , appstream
 , wrapGAppsHook
@@ -19,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "1.6.2";
+  version = "1.7.0";
 
   repoName = "calculator";
 
@@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-kOQr94PAfLPv4LjY2WDdTtlbf3/tYf+NUESZ94+L41M=";
+    sha256 = "1kl2iximcmbk8inklb2xav7dp08lp5pn9xxa59327zw13gdy8fkf";
   };
 
   passthru = {
@@ -53,6 +55,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
   ];
 
   postPatch = ''
@@ -65,6 +68,6 @@ stdenv.mkDerivation rec {
     description = "Calculator app designed for elementary OS";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index cf0d0d812fe1..549493966c13 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -10,6 +10,7 @@
 , gtk3
 , granite
 , libgee
+, libhandy
 , geoclue2
 , libchamplain
 , clutter
@@ -27,7 +28,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "5.1.1";
+  version = "6.0.2";
 
   repoName = "calendar";
 
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "18npf4zzf2dywr1zkr6fqzcbb70297yvdp5wxw7zyam1xwa86v07";
+    sha256 = "16xp8gfgpyz9xpjsxm6jlk4skkknj65g0q4x0qvw9sg9f1p6a514";
   };
 
   passthru = {
@@ -66,6 +67,7 @@ stdenv.mkDerivation rec {
     gtk3
     libchamplain
     libgee
+    libhandy
     libical
     libnotify
     libgdata # required by some dependency transitively
@@ -81,6 +83,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/calendar";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
index 9a48d38ad8cb..432e5fdf00e7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
@@ -13,6 +13,7 @@
 , gtk3
 , granite
 , libgee
+, libhandy
 , gst_all_1
 , libcanberra
 , clutter-gtk
@@ -24,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-camera";
-  version = "1.0.6";
+  version = "6.0.0";
 
   repoName = "camera";
 
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-asl5NdSuLItXebxvqGlSEjwWhdButmka12YQAYkQT44=";
+    sha256 = "1z5c6pkc7psglxwzby5idsdxvplpi28ckjxrwdngnr22knfdcgag";
   };
 
   passthru = {
@@ -61,11 +62,12 @@ stdenv.mkDerivation rec {
     granite
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
+    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
     gst_all_1.gstreamer
     gtk3
     libcanberra
     libgee
+    libhandy
   ];
 
   postPatch = ''
@@ -76,8 +78,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Camera app designed for elementary OS";
     homepage = "https://github.com/elementary/camera";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 50a32420de09..8516133b18d8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
     sha256 = "1w1m52mq3zr9alkxk1c0s4ncscka1km5ppd0r6zm86qan9cjwq0f";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/code/pull/1090
+    (fetchpatch {
+      url = "https://github.com/elementary/code/commit/88dc40d7bbcc2288ada6673eb8f4fab345d97882.patch";
+      sha256 = "16y20bvslcm390irlib759703lvf7w6rz4xzaiazjj1r1njwinvv";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -53,10 +63,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-
-    # polkit is needed for ITS rules
-    polkit
-
+    polkit # needed for ITS rules
     python3
     vala
     wrapGAppsHook
@@ -100,6 +107,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/code";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
index 797f62cf8e2f..4de65108c564 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , vala
 , atk
 , cairo
@@ -24,11 +23,12 @@
 , pantheon
 , meson
 , ninja
+, granite
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-dock";
-  version = "unstable-2020-06-11";
+  version = "unstable-2021-07-16";
 
   outputs = [ "out" "dev" ];
 
@@ -37,18 +37,10 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "elementary";
     repo = repoName;
-    rev = "0a389ee58939d8c91c340df4e5340fc4b23d0b80";
-    sha256 = "01vinik73s0vmk56samgf49zr2bl4wjv44x15sz2cmh744llckja";
+    rev = "05fd6fccdf1a769f6737a0d7e57e092825348660";
+    sha256 = "0lqqq5cx0kk8y7qyjx7z2k3v1kw2xxzns968ianarcji19wzcns4";
   };
 
-  patches = [
-    # Fix double includedir path in plank.pc
-    (fetchpatch {
-      url = "https://github.com/elementary/dock/commit/3bc368e2c4fafcd5b8baca2711c773b0e2441c7c.patch";
-      sha256 = "0gg35phi1cg7ixljc388i0h70w323r1gqzjhanccnsbjpqsgvs3k";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     meson
@@ -67,6 +59,7 @@ stdenv.mkDerivation rec {
     glib
     gnome-menus
     dconf
+    granite
     gtk3
     libX11
     libXfixes
@@ -82,6 +75,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/dock";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers;
+    maintainers = with maintainers; [ davidak ] ++ teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
index 2e20314d480a..e65e45809c45 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -21,7 +22,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-feedback";
-  version = "6.0.0";
+  version = "6.1.0";
 
   repoName = "feedback";
 
@@ -29,9 +30,18 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1fh9a0nfvbrxamki9avm9by760csj2nqy4ya7wzbnqbrrvjwd3fv";
+    sha256 = "02wydbpa5qaa4xmmh4m7rbj4djbrn2i44zjakj5i6mzwjlj6sv5n";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/feedback/pull/48
+    (fetchpatch {
+      url = "https://github.com/elementary/feedback/commit/080005153977a86d10099eff6a5b3e68f7b12847.patch";
+      sha256 = "01710i90qsaqsrjs92ahwwj198bdrrif6mnw29l9har2rncfkfk2";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -69,6 +79,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/feedback";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch
deleted file mode 100644
index 9bcedac3f035..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f51974c9736c3e28755245d15729578214652343 Mon Sep 17 00:00:00 2001
-Message-Id: <f51974c9736c3e28755245d15729578214652343.1599178185.git-series.worldofpeace@protonmail.ch>
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Thu,  3 Sep 2020 20:08:15 -0400
-Subject: [PATCH] filechooser-module: hardcode gsettings for nixos
-
----
- filechooser-module/FileChooserDialog.vala | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala
-index a70fe10..08fde2c 100644
---- a/filechooser-module/FileChooserDialog.vala
-+++ b/filechooser-module/FileChooserDialog.vala
-@@ -60,10 +60,14 @@ public class CustomFileChooserDialog : Object {
-         /* If not local only during creation, strange bug occurs on fresh installs */
-         chooser_dialog.local_only = true;
- 
--        var files_preferences = new Settings ("io.elementary.files.preferences");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false);
-+        SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
-+
-+        var files_preferences = new Settings.full (preferences_schema, null, null);
-         is_single_click = files_preferences.get_boolean ("single-click");
- 
--        var chooser_settings = new Settings ("io.elementary.files.file-chooser");
-+        var chooser_settings = new Settings.full (chooser_schema, null, null);
- 
-         assign_container_box ();
-         remove_gtk_widgets ();
-
-base-commit: 57cb89b64fd2d5c08f4aaf23e8c74bfaa5d0384f
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 99fd2a6555f5..dcdd1bb9acec 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -13,9 +13,9 @@
 , gtk3
 , glib
 , libgee
+, libhandy
 , granite
 , libnotify
-, libunity
 , pango
 , elementary-dock
 , bamf
@@ -27,11 +27,12 @@
 , libcloudproviders
 , libgit2-glib
 , wrapGAppsHook
+, systemd
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-files";
-  version = "4.5.0";
+  version = "6.0.2";
 
   repoName = "files";
 
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-wtQW1poX791DAlSFdVV9psnCfBDeVXI2fDZ2GcvvNn8=";
+    sha256 = "1i514r3adypmcwinmv4c1kybims16xi4i3akx0yy04dib92hbk7c";
   };
 
   passthru = {
@@ -73,30 +74,31 @@ stdenv.mkDerivation rec {
     libdbusmenu-gtk3
     libgee
     libgit2-glib
+    libhandy
     libnotify
-    libunity
     pango
     sqlite
+    systemd
     zeitgeist
   ];
 
   patches = [
-    ./0001-filechooser-module-hardcode-gsettings-for-nixos.patch
+    ./filechooser-portal-hardcode-gsettings-for-nixos.patch
   ];
 
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
 
-    substituteInPlace filechooser-module/FileChooserDialog.vala \
+    substituteInPlace filechooser-portal/LegacyFileChooserDialog.vala \
       --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
   '';
 
   meta = with lib; {
     description = "File browser designed for elementary OS";
     homepage = "https://github.com/elementary/files";
-    license = licenses.lgpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch
new file mode 100644
index 000000000000..b04208cc8b86
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch
@@ -0,0 +1,24 @@
+From 726ab4c0ab01273cb2197e4c151a5b69ff0954b6 Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Fri, 16 Jul 2021 18:24:58 +0800
+Subject: [PATCH] filechooser-portal: hardcode gsettings for nixos
+
+---
+ filechooser-portal/LegacyFileChooserDialog.vala | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/filechooser-portal/LegacyFileChooserDialog.vala b/filechooser-portal/LegacyFileChooserDialog.vala
+index 330718f..f383bb1 100644
+--- a/filechooser-portal/LegacyFileChooserDialog.vala
++++ b/filechooser-portal/LegacyFileChooserDialog.vala
+@@ -60,7 +60,9 @@ public class Files.LegacyFileChooserDialog : Object {
+         /* If not local only during creation, strange bug occurs on fresh installs */
+         chooser_dialog.local_only = true;
+ 
+-        var chooser_settings = new Settings ("io.elementary.files.file-chooser");
++        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
++        SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
++        var chooser_settings = new Settings.full (chooser_schema, null, null);
+ 
+         action_area = (Gtk.ButtonBox) chooser_dialog.get_action_area ();
+ 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
index c990ecb24d6b..6d0b752c1d1d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -25,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-mail";
-  version = "6.0.0";
+  version = "6.1.1";
 
   repoName = "mail";
 
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "07iiipl0nsp63g5bn1y2hg6bmgj6i9cxqcfpd7q3vmldnkijvaxs";
+    sha256 = "15ai0x9236pjx76m0756nyc1by78v0lg1dgdiifk868krdvipzzx";
   };
 
   passthru = {
@@ -42,6 +43,12 @@ stdenv.mkDerivation rec {
     };
   };
 
+  patches = [
+    # The app stuck when loading gravatar, temporarily reverts part
+    # of https://github.com/elementary/mail/pull/600 to fix this
+    ./revert-fix-warning.patch
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
@@ -77,6 +84,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/mail";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers ++ [ maintainers.ethancedwards8 ];
+    maintainers = with maintainers; [ ethancedwards8 ] ++ teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch
new file mode 100644
index 000000000000..85534aaf4c60
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch
@@ -0,0 +1,55 @@
+From 9e61e9493e78b83b9599886561ee596c096030ed Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Thu, 29 Jul 2021 13:57:21 +0800
+Subject: [PATCH] Partly revert "Fix Warnings in Vala Code (#600)"
+
+This partly reverts commit 9477c24201d3c9c3c7bcc650e0290daa0ee1ab21.
+---
+ src/MessageList/MessageListItem.vala | 27 ++++++++++++++++++++++++++-
+ 1 file changed, 26 insertions(+), 1 deletion(-)
+
+diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala
+index 96b61027..a7ef8f9e 100644
+--- a/src/MessageList/MessageListItem.vala
++++ b/src/MessageList/MessageListItem.vala
+@@ -290,7 +290,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
+         expanded = false;
+         show_all ();
+ 
+-        avatar.set_loadable_icon (new GravatarIcon (parsed_address, get_style_context ().get_scale ()));
++        download_gravatar.begin (parsed_address, avatar.size);
+ 
+         /* Override default handler to stop event propagation. Otherwise clicking the menu will
+            expand or collapse the MessageListItem. */
+@@ -348,6 +348,31 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
+         });
+     }
+ 
++    private async void download_gravatar (string address, int size) {
++        if (avatars[address] == null) {
++            var uri = "https://secure.gravatar.com/avatar/%s?d=404&s=%d".printf (
++                Checksum.compute_for_string (ChecksumType.MD5, address.strip ().down ()),
++                size * get_style_context ().get_scale ()
++            );
++
++            var server_file = File.new_for_uri (uri);
++            var path = Path.build_filename (Environment.get_tmp_dir (), server_file.get_basename ());
++            var local_file = File.new_for_path (path);
++
++            try {
++                yield server_file.copy_async (local_file, FileCopyFlags.OVERWRITE, Priority.DEFAULT, null);
++                avatars[address] = new Gdk.Pixbuf.from_file_at_scale (path, size, size, true);
++            } catch (Error e) {
++                debug ("Unable to fetch gravatar: %s", e.message);
++                return;
++            }
++        }
++
++        avatar.set_image_load_func (() => {
++            return avatars[address];
++        });
++    }
++
+     private void add_inline_composer (ComposerWidget.Type composer_type) {
+         var message_list_box = (MessageListBox) get_parent ();
+         message_list_box.add_inline_composer.begin (composer_type, this);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
index fe6c3f187fe3..300e7919dced 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -31,7 +32,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-music";
-  version = "5.1.0";
+  version = "5.1.1";
 
   repoName = "music";
 
@@ -39,9 +40,18 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "13v7rii9ardyd661s6d4hvvs4ig44v7s3qd1bx7imaigr72gg58b";
+    sha256 = "1wqsn4ss9acg0scaqpg514ll2dj3bl71wly4mm79qkinhy30yv9n";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/music/pull/648
+    (fetchpatch {
+      url = "https://github.com/elementary/music/commit/aea97103d59afd213467403a48788e476e47c4c3.patch";
+      sha256 = "1ayj8l6lb19hhl9bhsdfbq7jgchfmpjx0qkljnld90czcksn95yx";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -84,7 +94,7 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Dplugins=lastfm,audioplayer,cdrom,ipod"
+    "-Dplugins=audioplayer,cdrom,ipod"
   ];
 
   postPatch = ''
@@ -95,8 +105,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Music player and library designed for elementary OS";
     homepage = "https://github.com/elementary/music";
-    license = licenses.lgpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index bced420dbc0a..61ec86dec44e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -5,7 +5,7 @@
 , meson
 , ninja
 , pkg-config
-, vala
+, vala_0_52
 , desktop-file-utils
 , gtk3
 , libaccounts-glib
@@ -28,14 +28,13 @@
 , webkitgtk
 , libwebp
 , appstream
-, libunity
 , wrapGAppsHook
 , elementary-icon-theme
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-photos";
-  version = "2.7.1";
+  version = "2.7.2";
 
   repoName = "photos";
 
@@ -43,7 +42,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1dql14k43rv3in451amiwv4z71hz3ailx67hd8gw1ka3yw12128p";
+    sha256 = "1zq9zfsc987vvrzadw9xqi3rlbi4jv2s82axkgy7ijm3ibi58ddc";
   };
 
   passthru = {
@@ -59,7 +58,9 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    vala
+    # Does not build with vala 0.54
+    # https://github.com/elementary/photos/issues/638
+    vala_0_52
     wrapGAppsHook
   ];
 
@@ -84,7 +85,6 @@ stdenv.mkDerivation rec {
     libraw
     librest
     libsoup
-    libunity
     libwebp
     scour
     sqlite
@@ -105,6 +105,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/photos";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
index 048aa4ab129e..4eb574d69f26 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
@@ -11,14 +11,15 @@
 , gtk3
 , granite
 , libgee
+, libhandy
 , libcanberra
 , elementary-icon-theme
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
-  pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
-  version = "1.7.1";
+  pname = "elementary-screenshot";
+  version = "6.0.0";
 
   repoName = "screenshot";
 
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-qo55fzp0ieYF5I5uxnCQY066mege06InHL3B3ahYMZ0=";
+    sha256 = "1fvsl9zdkv7bgx3jpy7pr9lflm4ckr3swdby379mdxn2x6kxji0x";
   };
 
   passthru = {
@@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
     gtk3
     libcanberra
     libgee
+    libhandy
   ];
 
   postPatch = ''
@@ -63,6 +65,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/screenshot";
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix
new file mode 100644
index 000000000000..bec0556a377d
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix
@@ -0,0 +1,84 @@
+{ lib, stdenv
+, fetchFromGitHub
+, nix-update-script
+, pantheon
+, appstream
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, python3
+, vala
+, wrapGAppsHook
+, clutter-gtk
+, elementary-icon-theme
+, evolution-data-server
+, granite
+, geoclue2
+, geocode-glib
+, gtk3
+, libchamplain
+, libgdata
+, libgee
+, libhandy
+, libical
+}:
+
+stdenv.mkDerivation rec {
+  pname = "elementary-tasks";
+  version = "6.0.3";
+
+  repoName = "tasks";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = version;
+    sha256 = "0a6zgf7di4jyl764pn78wbanm0i5vrkk5ks3cfsvi3baprf3j9d5";
+  };
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    appstream
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    clutter-gtk
+    elementary-icon-theme
+    evolution-data-server
+    granite
+    geoclue2
+    geocode-glib
+    gtk3
+    libchamplain
+    libgdata
+    libgee
+    libhandy
+    libical
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/elementary/tasks";
+    description = "Synced tasks and reminders on elementary OS";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = teams.pantheon.members;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index 6e6beba50cec..cd0e39628023 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -35,6 +35,15 @@ stdenv.mkDerivation rec {
     sha256 = "08akr4sv4jy9kd4s26kib6j7i8hc3vs0sp71fifv7ww4mi9cm6jc";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/terminal/pull/611
+    (fetchpatch {
+      url = "https://github.com/elementary/terminal/commit/4f6f2d9f58642ed904240c247cc0a0846baecb6b.patch";
+      sha256 = "04pbd72migxw8i949v3bmw8kfi5nr02rjcwfrx3b6xkiic9825sv";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -81,6 +90,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/terminal";
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index 95df9a613a82..0c06e7b24439 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
     sha256 = "04nl9kn33dysvsg0n5qx1z8qgrifkgfwsm7gh1l308v3n8c69lh7";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/videos/pull/233
+    (fetchpatch {
+      url = "https://github.com/elementary/videos/commit/19ba2a9148be09ea521d2e9ac29dede6b9c6fa07.patch";
+      sha256 = "0ffp7ana98846xi7vxrzfg6dbs4yy28x2i4ky85mqs1gj6fjqin5";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -72,6 +82,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/videos";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
index c3ba1717801d..df152afc1a0c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/sideload/default.nix
@@ -10,6 +10,7 @@
 , granite
 , gtk3
 , libgee
+, libhandy
 , meson
 , ninja
 , pantheon
@@ -22,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sideload";
-  version = "1.1.1";
+  version = "6.0.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eI/j6+lok9axRHV5DCsFY1fDCV+X5zBR7X8rK6odjFY=";
+    sha256 = "0abpcawmmv5mgzk2i5n9rlairmjr2v9rg9b8c9g7xa085s496bi9";
   };
 
   passthru = {
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
     libxml2
   ];
 
@@ -69,6 +71,6 @@ stdenv.mkDerivation rec {
     description = "Flatpak installer, designed for elementary OS";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
index 06f097e81af5..949f1ecc3d0b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv
 , substituteAll
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , meson
@@ -11,18 +12,19 @@
 , granite
 , gtk3
 , switchboard
+, wingpanel-indicator-a11y
 , onboard
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-a11y";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-3PaOIadlEdYvfNZJaoAQVDKdSTfUdn+snCa8tHmDFD0=";
+    sha256 = "0dc5jv335j443rg08cb7p8wvmcg36wrf1vlcfg9r20cksdis9v4l";
   };
 
   patches = [
@@ -30,6 +32,12 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit onboard;
     })
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-a11y/pull/79
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-a11y/commit/08db4b696128a6bf809da3403a818834fcd62b02.patch";
+      sha256 = "1s13ak23bdxgcb74wdz3ql192bla5qhabdicqyjv1rp32plhkbg5";
+    })
   ];
 
   passthru = {
@@ -50,13 +58,14 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     switchboard
+    wingpanel-indicator-a11y
   ];
 
   meta = with lib; {
     description = "Switchboard Universal Access Plug";
     homepage = "https://github.com/elementary/switchboard-plug-a11y";
-    license = licenses.lgpl3Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index adba2ec08017..c1144dd4ecd6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pantheon
 , substituteAll
@@ -9,22 +8,24 @@
 , pkg-config
 , vala
 , libgee
+, libgtop
+, libhandy
 , granite
 , gtk3
 , switchboard
-, pciutils
-, elementary-feedback
+, fwupd
+, appstream
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-about";
-  version = "2.6.3";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wis6wNEOOjPLUCT9vRRhMxbKHR2Y2nZArKogSF/FQv8=";
+    sha256 = "0c075ac7iqz4hqbp2ph0cwyhiq0jn6c1g1jjfhygjbssv3vvd268";
   };
 
   passthru = {
@@ -41,32 +42,20 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    appstream
+    fwupd
     granite
     gtk3
     libgee
+    libgtop
+    libhandy
     switchboard
   ];
 
   patches = [
-    # Get OS Info from GLib.Environment
-    # https://github.com/elementary/switchboard-plug-about/pull/128
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-about/commit/5ed29988e3a895b2df66e5529df0f12a94d5517c.patch";
-      sha256 = "1ipDxnpDZjpSEzZdtOeNe5U+QOXiB5M+hC3yDAsl/rQ=";
-    })
-
-    # Use Pretty Name
-    # https://github.com/elementary/switchboard-plug-about/pull/134
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-about/commit/653d131dc8fac10ae7523f2bf6b179ffffa9c0fd.patch";
-      sha256 = "AsM49Dc9/yn2tG6fqjfedeOlDXUu+iEoyNUmNYLH+zE=";
-    })
-
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit pciutils;
-      elementary_feedback = elementary-feedback;
-    })
+    # The NixOS logo is not centered in the circular background and path
+    # to the background is hardcoded, we will drop the background.
+    ./remove-logo-background.patch
   ];
 
   meta = with lib; {
@@ -74,7 +63,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard-plug-about";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch
deleted file mode 100644
index d458689a3253..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/Plug.vala b/src/Plug.vala
-index c32efcbe..0cdaeaca 100644
---- a/src/Plug.vala
-+++ b/src/Plug.vala
-@@ -178,7 +178,7 @@ public class About.Plug : Switchboard.Plug {
- 
-         var bug_button = new Gtk.Button.with_label (_("Report a Problem"));
-         bug_button.clicked.connect (() => {
--            var appinfo = new GLib.DesktopAppInfo ("io.elementary.feedback.desktop");
-+            var appinfo = new GLib.DesktopAppInfo ("@elementary_feedback@/bin/io.elementary.feedback.desktop");
-             if (appinfo != null) {
-                 try {
-                     appinfo.launch (null, null);
-diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala
-index f8113634..3794bad8 100644
---- a/src/Views/HardwareView.vala
-+++ b/src/Views/HardwareView.vala
-@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid {
- 
-         // Graphics
-         try {
--            Process.spawn_command_line_sync ("lspci", out graphics);
-+            Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics);
- 
-             if ("VGA" in graphics) { //VGA-keyword indicates graphics-line
-                 string[] lines = graphics.split("\n");
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch
new file mode 100644
index 000000000000..bc7805a22c47
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch
@@ -0,0 +1,36 @@
+diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
+index fdb92e7..87bb3a4 100644
+--- a/src/Views/OperatingSystemView.vala
++++ b/src/Views/OperatingSystemView.vala
+@@ -39,21 +39,6 @@ public class About.OperatingSystemView : Gtk.Grid {
+             logo_icon_name = "distributor-logo";
+         }
+ 
+-        var logo = new Hdy.Avatar (128, "", false) {
+-            // In case the wallpaper can't be loaded, we don't want an icon or text
+-            icon_name = "invalid-icon-name",
+-            // We need this for the shadow to not get clipped by Gtk.Overlay
+-            margin = 6
+-        };
+-        logo.set_image_load_func ((size) => {
+-            try {
+-                return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true);
+-            } catch (Error e) {
+-                critical (e.message);
+-            }
+-        });
+-        logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+-
+         var icon = new Gtk.Image () {
+             icon_name = logo_icon_name + "-symbolic",
+             // 128 minus 3px padding on each side
+@@ -65,8 +50,7 @@ public class About.OperatingSystemView : Gtk.Grid {
+         icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ 
+         var logo_overlay = new Gtk.Overlay ();
+-        logo_overlay.add (logo);
+-        logo_overlay.add_overlay (icon);
++        logo_overlay.add (icon);
+ 
+         // Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we
+         // want more granular control over text formatting
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index 66596fa2ff1b..3b3cbf64ef85 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , meson
@@ -10,19 +11,29 @@
 , granite
 , gtk3
 , switchboard
+, flatpak
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-applications";
-  version = "2.1.7";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-uiu19XyogNR0LX/2IIZM6B1JKAfqDMOHniQ29EAa9XM=";
+    sha256 = "0hgvmrgg6g2sjb3sda7kzfcd3zgngd5w982drl6ll44k1mh16gsj";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-applications/pull/163
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-applications/commit/25db490654ab41694be7b7ba19218376f42fbb8d.patch";
+      sha256 = "16y8zcwnnjsh72ifpyqcdb9f5ajdj0iy8kb5sj6v77c1cxdhrv29";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -37,6 +48,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    flatpak
     granite
     gtk3
     libgee
@@ -46,8 +58,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Applications Plug";
     homepage = "https://github.com/elementary/switchboard-plug-applications";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
index dea3c0306a32..2238125fe2f6 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , meson
@@ -15,15 +16,24 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-bluetooth";
-  version = "2.3.2";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-avu9Hya3C9g8kGl3D9bLwuZBkNPdwyvLspuBWgvpXU8=";
+    sha256 = "0n9fhi9g0ww341bjk6lpc5ppnl7qj9b3d63j9a7iqnap57bgks9y";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-bluetooth/pull/182
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-bluetooth/commit/031dd5660b4bcb0bb4e82ebe6d8bcdaa1791c385.patch";
+      sha256 = "1g01ad6md7pqp1fx00avbra8yfnr8ipg8y6zhfg35fgjakj4aags";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -50,7 +60,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard-plug-bluetooth";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
index 2337ef241198..b4518ea1e440 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , meson
@@ -17,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-datetime";
-  version = "2.1.9";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qgsU3NXqH7ryUah7rEnUrsbecV4AsOo4QfgTcWc5bc4=";
+    sha256 = "10rqhxsqbl1xnz5n84d7m39c3vb71k153989xvyc55djia1wjx96";
   };
 
   passthru = {
@@ -32,6 +33,19 @@ stdenv.mkDerivation rec {
     };
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      tzdata = tzdata;
+    })
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-datetime/pull/100
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-datetime/commit/a90639ed4f185f50d4ae448cd9503203dc24b3f4.patch";
+      sha256 = "0dz0s02ccnds62dqil44k652pc5icka2rfhcx0a5bj1wi5sifnp7";
+    })
+  ];
+
   nativeBuildInputs = [
     libxml2
     meson
@@ -52,6 +66,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard-plug-datetime";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch
new file mode 100644
index 000000000000..784ea9daa0b7
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch
@@ -0,0 +1,15 @@
+diff --git a/src/Parser.vala b/src/Parser.vala
+index 7c7b82d..2c3a061 100644
+--- a/src/Parser.vala
++++ b/src/Parser.vala
+@@ -28,9 +28,9 @@ public class DateTime.Parser : GLib.Object {
+         return parser;
+     }
+     private Parser () {
+-        var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
++        var file = File.new_for_path ("@tzdata@/share/zoneinfo/zone.tab");
+         if (!file.query_exists ()) {
+-            critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
++            critical ("@tzdata@/share/zoneinfo/zone.tab doesn't exist !");
+             return;
+         }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 055a40989631..0fbb1eb81e7c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.2.2";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-mjmvuSipCRGg/HSa1n1eLyVU1gERNT2ciqgz/0KqX0Y=";
+    sha256 = "1dqd34v124y71nnk0l617a53x652m0sb7b58465imr6ppyhx4vsv";
   };
 
   passthru = {
@@ -46,8 +46,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Displays Plug";
     homepage = "https://github.com/elementary/switchboard-plug-display";
-    license = licenses.lgpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch
index 42900c380627..550aefbb1f10 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch
@@ -1,19 +1,21 @@
-From 4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633 Mon Sep 17 00:00:00 2001
-Message-Id: <4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633.1599180249.git-series.worldofpeace@protonmail.ch>
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Thu,  3 Sep 2020 20:43:25 -0400
+From f23363ad2fa402d59b41ffe2c13a46462c6d2194 Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Fri, 16 Jul 2021 23:28:56 +0800
 Subject: [PATCH] Remove Install Unlisted Engines function
 
 https://github.com/elementary/switchboard-plug-keyboard/issues/324
+
+Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
+
 ---
- src/Dialogs/InstallEngineDialog.vala           | 140 +------------------
- src/Dialogs/ProgressDialog.vala                |  82 +----------
- src/InputMethod/Installer/InstallList.vala     |  73 +---------
- src/InputMethod/Installer/UbuntuInstaller.vala | 142 +------------------
- src/InputMethod/Installer/aptd-client.vala     |  93 +------------
- src/Widgets/InputMethod/AddEnginesPopover.vala |  12 +--
- src/Widgets/InputMethod/LanguagesRow.vala      |  43 +-----
- src/meson.build                                |   6 +-
+ src/Dialogs/InstallEngineDialog.vala          | 140 -----------------
+ src/Dialogs/ProgressDialog.vala               |  82 ----------
+ src/InputMethod/Installer/InstallList.vala    |  73 ---------
+ .../Installer/UbuntuInstaller.vala            | 142 ------------------
+ src/InputMethod/Installer/aptd-client.vala    |  93 ------------
+ .../InputMethod/AddEnginesPopover.vala        |  12 --
+ src/Widgets/InputMethod/LanguagesRow.vala     |  43 ------
+ src/meson.build                               |   6 -
  8 files changed, 591 deletions(-)
  delete mode 100644 src/Dialogs/InstallEngineDialog.vala
  delete mode 100644 src/Dialogs/ProgressDialog.vala
@@ -170,7 +172,7 @@ index ffba3a8..0000000
 -}
 diff --git a/src/Dialogs/ProgressDialog.vala b/src/Dialogs/ProgressDialog.vala
 deleted file mode 100644
-index f110aca..0000000
+index 868f167..0000000
 --- a/src/Dialogs/ProgressDialog.vala
 +++ /dev/null
 @@ -1,82 +0,0 @@
@@ -191,7 +193,7 @@ index f110aca..0000000
 -* with this program. If not, see http://www.gnu.org/licenses/.
 -*/
 -
--public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Gtk.Dialog {
+-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Granite.Dialog {
 -    public int progress {
 -        set {
 -            if (value >= 100) {
@@ -583,10 +585,10 @@ index ee5c3f5..0000000
 -    }
 -}
 diff --git a/src/Widgets/InputMethod/AddEnginesPopover.vala b/src/Widgets/InputMethod/AddEnginesPopover.vala
-index 46e005d..6b56c6b 100644
+index 110bc1d..8a03ca8 100644
 --- a/src/Widgets/InputMethod/AddEnginesPopover.vala
 +++ b/src/Widgets/InputMethod/AddEnginesPopover.vala
-@@ -49,8 +49,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
+@@ -43,8 +43,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
          };
          scrolled.add (listbox);
  
@@ -595,7 +597,7 @@ index 46e005d..6b56c6b 100644
          var cancel_button = new Gtk.Button.with_label (_("Cancel"));
  
          var add_button = new Gtk.Button.with_label (_("Add Engine"));
-@@ -61,10 +59,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
+@@ -55,10 +53,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
              margin = 12,
              spacing = 6
          };
@@ -606,7 +608,7 @@ index 46e005d..6b56c6b 100644
  
          var grid = new Gtk.Grid ();
          grid.attach (search_entry, 0, 0);
-@@ -92,14 +88,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
+@@ -88,14 +84,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
              listbox.invalidate_filter ();
          });
  
@@ -671,20 +673,20 @@ index dc064ae..0000000
 -    }
 -}
 diff --git a/src/meson.build b/src/meson.build
-index 28f07c1..a515419 100644
+index 77a51d0..26711c5 100644
 --- a/src/meson.build
 +++ b/src/meson.build
-@@ -16,7 +16,6 @@ plug_files = files(
-     'Widgets/Shortcuts/CustomTree.vala',
+@@ -17,7 +17,6 @@ plug_files = files(
      'Widgets/Layout/Display.vala',
-     'Widgets/Layout/AddLayoutPopover.vala',
+     'Widgets/Layout/AdvancedSettingsPanel.vala',
+     'Widgets/Layout/AdvancedSettingsGrid.vala',
 -    'Widgets/InputMethod/LanguagesRow.vala',
      'Widgets/InputMethod/EnginesRow.vala',
      'Widgets/InputMethod/AddEnginesPopover.vala',
      'Views/Shortcuts.vala',
-@@ -36,11 +35,6 @@ plug_files = files(
-     'Layout/AdvancedSettingsGrid.vala',
-     'InputMethod/Utils.vala',
+@@ -33,11 +32,6 @@ plug_files = files(
+     'InputSources/SourceSettings.vala',
+     'InputSources/InputSource.vala',
      'InputMethod/AddEnginesList.vala',
 -    'InputMethod/Installer/UbuntuInstaller.vala',
 -    'InputMethod/Installer/InstallList.vala',
@@ -692,9 +694,5 @@ index 28f07c1..a515419 100644
 -    'Dialogs/ProgressDialog.vala',
 -    'Dialogs/InstallEngineDialog.vala',
      'Dialogs/ConflictDialog.vala',
+     'Dialogs/AddLayoutDialog.vala'
  )
- 
-
-base-commit: 9d9eddeb7da8450a309496c25066f4f78a9d4070
--- 
-git-series 0.9.1
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
index 06bdce19f45c..c3860ba22789 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
@@ -2,7 +2,6 @@
 , fetchFromGitHub
 , nix-update-script
 , pantheon
-, fetchpatch
 , substituteAll
 , meson
 , ninja
@@ -11,27 +10,31 @@
 , libgee
 , granite
 , gtk3
+, libhandy
 , libxml2
 , libgnomekbd
 , libxklavier
-, xorg
 , ibus
 , switchboard
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-keyboard";
-  version = "2.4.1";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iuv5NZ7v+rXyFsKB/PvGa/7hm9MIV8E6JnTzEGROlhM=";
+    sha256 = "1p1l7dx5v1zzz89hhhkm6n3ls7ig4cf2prh1099f1c054qiy9b0y";
   };
 
   patches = [
     ./0001-Remove-Install-Unlisted-Engines-function.patch
+    (substituteAll {
+      src = ./fix-paths.patch;
+      ibus = ibus;
+    })
   ];
 
   passthru = {
@@ -54,6 +57,7 @@ stdenv.mkDerivation rec {
     ibus
     libgee
     libgnomekbd
+    libhandy
     libxklavier
     switchboard
   ];
@@ -63,6 +67,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard-plug-keyboard";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch
new file mode 100644
index 000000000000..bb21712a5bc4
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Views/InputMethod.vala b/src/Views/InputMethod.vala
+index 6d79fdc..de4276e 100644
+--- a/src/Views/InputMethod.vala
++++ b/src/Views/InputMethod.vala
+@@ -325,7 +325,7 @@ public class Pantheon.Keyboard.InputMethodPage.Page : Gtk.Grid {
+     private void spawn_ibus_daemon () {
+         bool is_spawn_succeeded = false;
+         try {
+-            is_spawn_succeeded = Process.spawn_sync ("/", { "ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null);
++            is_spawn_succeeded = Process.spawn_sync ("/", { "@ibus@/bin/ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null);
+         } catch (GLib.SpawnError e) {
+             warning (e.message);
+             set_visible_view (e.message);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index 67eeee584a69..0368314e7b4f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -1,28 +1,32 @@
 { lib, stdenv
 , fetchFromGitHub
 , nix-update-script
+, substituteAll
 , pantheon
 , meson
 , ninja
 , pkg-config
 , vala
 , libgee
+, libxml2
 , granite
 , gtk3
 , switchboard
-, elementary-settings-daemon
+, gnome-settings-daemon
 , glib
+, gala # needed for gestures support
+, touchegg
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.4.2";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WJ/GRhZsSwC31HEIjHHWBy9/Skqbwor0tNVTedue3kk=";
+    sha256 = "0nqgbpk1knvbj5xa078i0ka6lzqmaaa873gwj3mhjr5q2gzkw7y5";
   };
 
   passthru = {
@@ -39,19 +43,29 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    gala
     glib
     granite
     gtk3
     libgee
-    elementary-settings-daemon
+    libxml2
+    gnome-settings-daemon
     switchboard
+    touchegg
+  ];
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      touchegg = touchegg;
+    })
   ];
 
   meta = with lib; {
     description = "Switchboard Mouse & Touchpad Plug";
     homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch
new file mode 100644
index 000000000000..e0c63bac8322
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Utils/ToucheggSettings.vala b/src/Utils/ToucheggSettings.vala
+index 1d621b9c..73c89714 100644
+--- a/src/Utils/ToucheggSettings.vala
++++ b/src/Utils/ToucheggSettings.vala
+@@ -36,7 +36,7 @@ public class MouseTouchpad.ToucheggSettings : GLib.Object {
+     private const string MAXIMIZE_4_XPATH = "//application[@name=\"All\"]/gesture[@fingers=\"4\"]/action[@type=\"MAXIMIZE_RESTORE_WINDOW\"]/..";
+ 
+     public ToucheggSettings () {
+-        system_config_path = Path.build_filename (GLib.Path.DIR_SEPARATOR_S, "usr", "share", "touchegg", "touchegg.conf");
++        system_config_path = Path.build_filename ("@touchegg@", "share", "touchegg", "touchegg.conf");
+         user_config_dir_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg");
+         user_config_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg", "touchegg.conf");
+     }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index fce9402e131f..7ccfb265e9e9 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-network";
-  version = "2.3.2";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PYgewxBblhOfOJQSeRaq8xD7qZ3083EvgUjpi92FqyI=";
+    sha256 = "0nqihsbrpjw4nx1c50g854bqybniw38adi78vzg8nyl6ikj2r0z4";
   };
 
   passthru = {
@@ -60,8 +60,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Networking Plug";
     homepage = "https://github.com/elementary/switchboard-plug-network";
-    license = licenses.lgpl21Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
index 8c750710aed9..42cddfd2d67f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
@@ -16,15 +16,24 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-notifications";
-  version = "2.1.7";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MBCSQ+4l0mpS2OTDRJ7+91qo0SWm5nJNYO7SZaSoVQk=";
+    sha256 = "0zzhgs8m1y7ab31hbn7v8g8k7rx51gqajl243zmysn86lfqk8iay";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-notifications/pull/83
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-notifications/commit/2e0320aab62b6932e8ef5f941d02e244de381957.patch";
+      sha256 = "0rcamasq837grck0i2yx6psggzrhv7p7m3mra5l0k9zsjxgar92v";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -51,6 +60,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard-plug-notifications";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
index ef12cb38e1b9..9aa9d7e6780a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
@@ -1,33 +1,36 @@
 { lib, stdenv
 , fetchFromGitHub
 , nix-update-script
-, fetchpatch
 , pantheon
 , meson
 , ninja
 , pkg-config
-, vala_0_46
+, vala
 , libgee
 , granite
 , gtk3
 , libaccounts-glib
+, libgdata
+, libhandy
 , libsignon-glib
 , json-glib
 , librest
 , webkitgtk
 , libsoup
+, sqlite
 , switchboard
+, evolution-data-server
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-onlineaccounts";
-  version = "2.0.1";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CVYKcRty5bBEMNyoY51JAJQy6uh+U+7IvS6V/1GMCA4=";
+    sha256 = "1lp3i31jzp21n43d1mh4d4i8zgim3q3j4inw4hmyimyql2s83cc3";
   };
 
   passthru = {
@@ -40,47 +43,35 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    vala_0_46
+    vala
   ];
 
   buildInputs = [
+    evolution-data-server
     granite
     gtk3
     json-glib
     libaccounts-glib
+    libgdata
     libgee
+    libhandy
     libsignon-glib
     libsoup
     librest
+    sqlite # needed for camel-1.2
     switchboard
     webkitgtk
   ];
 
-  patches = [
-    # Fix build with latest vala
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/5fa2882f765076d20c6ef4886198a34a05159f8a.patch";
-      sha256 = "1szryyy7shdmbvx9yhpi0bhzaayg7hl6pq2c456j1qf9kfv0m4hf";
-    })
-
-    # fix build with vala 0.48.9
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/b1853b7427102b8dd94774e1e2cc455f50902263.patch";
-      sha256 = "J3C71GyEHEZWSghGXlwXPHFJRhrvx6i0yvi8NIDb4WE=";
-    })
-  ];
-
   PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers";
   PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services";
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
 
   meta = with lib; {
     description = "Switchboard Online Accounts Plug";
     homepage = "https://github.com/elementary/switchboard-plug-onlineaccounts";
-    license = licenses.lgpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
index 97668d35471a..69242e8132f1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -1,18 +1,48 @@
-{ lib, stdenv, fetchFromGitHub, nix-update-script, pantheon, meson, ninja, pkg-config, vala, glib
-, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop
-, gala, wingpanel, elementary-dock, switchboard, gettext, bamf, fetchpatch }:
+{ lib, stdenv
+, fetchFromGitHub
+, fetchpatch
+, nix-update-script
+, pantheon
+, meson
+, ninja
+, pkg-config
+, vala
+, glib
+, libgee
+, granite
+, gexiv2
+, gnome-settings-daemon
+, elementary-settings-daemon
+, gtk3
+, gnome-desktop
+, gala
+, wingpanel
+, elementary-dock
+, switchboard
+, gettext
+, bamf
+}:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-pantheon-shell";
-  version = "2.8.4";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CHl+4mVjrDg2gusrWOCfI++DZMWKLdvHxG3ZWMjZ2to=";
+    sha256 = "0349150kxdv14ald79pzn7lasiqipyc37fgchygbc8hsy62d9a32";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-pantheon-shell/pull/286
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/0c3207ffaeaa82ca3c743bc9ec772185fbd7e8cf.patch";
+      sha256 = "11ymzqx6has4zf8y0xy7pfhymcl128hzzjcgp46inshjf99v5kiv";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -31,6 +61,7 @@ stdenv.mkDerivation rec {
     bamf
     elementary-dock
     elementary-settings-daemon
+    gnome-settings-daemon
     gala
     gexiv2
     glib
@@ -47,6 +78,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard-plug-pantheon-shell";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index f0cf47cfdfea..a9c60600f045 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -2,14 +2,13 @@
 , fetchFromGitHub
 , nix-update-script
 , pantheon
-, substituteAll
 , meson
 , ninja
 , pkg-config
 , vala
 , libgee
-, elementary-dpms-helper
 , elementary-settings-daemon
+, gnome-settings-daemon
 , granite
 , gtk3
 , glib
@@ -20,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-power";
-  version = "2.4.2";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-swcbkaHHe9BZxMWvjdRutvYfXXrSCUJWuld1btfYeH0=";
+    sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr";
   };
 
   passthru = {
@@ -44,8 +43,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     dbus
-    elementary-dpms-helper
     elementary-settings-daemon
+    gnome-settings-daemon
     glib
     granite
     gtk3
@@ -54,18 +53,11 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./dpms-helper-exec.patch;
-      elementary_dpms_helper = elementary-dpms-helper;
-    })
-  ];
-
   meta = with lib; {
     description = "Switchboard Power Plug";
     homepage = "https://github.com/elementary/switchboard-plug-power";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch
deleted file mode 100644
index 335d3f296262..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/MainView.vala b/src/MainView.vala
-index 1654e68..175f220 100644
---- a/src/MainView.vala
-+++ b/src/MainView.vala
-@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid {
-
-     private static void run_dpms_helper () {
-         try {
--            string[] argv = { "io.elementary.dpms-helper" };
-+            string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" };
-             Process.spawn_async (null, argv, Environ.get (),
-                 SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL,
-                 null, null);
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index 7387ea34e4de..cae5b570547f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -16,20 +16,21 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-printers";
-  version = "2.1.9";
+  version = "2.1.10";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tnAJyyPN/Xy1pmlgBpgO2Eb5CeHrRltjQTHmuTPBt8s=";
+    sha256 = "0frvybbx7mcs87kww0if4zn0c6c2gb400cpiqrl8b0294py58xpb";
   };
 
   patches = [
-    # Fix build with latest Vala.
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-printers/pull/153
     (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-printers/commit/5eced5ddda6f229d7265ea0a713f6c1cd181a526.patch";
-      sha256 = "lPTNqka6jjvv1JnAqVzVIQBIdDXlCOQ5ASvgZNuEUC8=";
+      url = "https://github.com/elementary/switchboard-plug-printers/commit/3e2b01378cbb8e666d23daeef7f40fcaa90daa45.patch";
+      sha256 = "0b8pq525xnir06pn65rcz68bcp5xdxl0gpbj7p5x1hs23p5dp04n";
     })
   ];
 
@@ -57,9 +58,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Printers Plug";
     homepage = "https://github.com/elementary/switchboard-plug-printers";
-    license = licenses.lgpl3Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index 26e26de33b12..986aa171e920 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -10,30 +10,31 @@
 , vala
 , libgee
 , granite
+, gala
 , gtk3
 , glib
 , polkit
 , zeitgeist
 , switchboard
-, lightlocker
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-security-privacy";
-  version = "2.2.4";
+  version = "2.2.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Sws6FqUL7QAROInDrcqYAp6j1TCC4aGV0/hi5Kmm5wQ=";
+    sha256 = "1ydr1xpbyxjcnd36c9j7a64srbz6gpbshwhcqj6591kmiqhmvknk";
   };
 
   patches = [
-    # Fix build with latest Vala.
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-security-privacy/pull/130
     (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/c8e422e630bbee0badcf4df26364c9e83e06bad0.patch";
-      sha256 = "5Gm+muZiCraJC5JaGVVo0HDJ7KxjOpclHRW1RKsk3bc=";
+      url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/18fe438baba651670d7f0534856c3b2433e3d75d.patch";
+      sha256 = "19qwm725k6h41kgg4a98i4rxx45s4bb1wxx0fzkh75gz9syfi58w";
     })
   ];
 
@@ -52,13 +53,13 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    gala
     glib
     granite
     gtk3
     libgee
     polkit
     switchboard
-    lightlocker
     zeitgeist
   ];
 
@@ -70,9 +71,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Security & Privacy Plug";
     homepage = "https://github.com/elementary/switchboard-plug-security-privacy";
-    license = licenses.lgpl3Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
index 6baaed293c9f..2eacf5585109 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
@@ -15,15 +15,24 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-sharing";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/M60w14zfAUXspabvTUWlOPRrHvKtCYUio82b034k6s=";
+    sha256 = "00lqrxq1wz3y2s9jiz8rh9d571va2vza2gdwj6c86z3q4c4hmn17";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-sharing/pull/55
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-sharing/commit/5219839738b79e3c5f039a811d96a40eb2644eab.patch";
+      sha256 = "020w746q7gzmic0pdnbxs792sx15wlsqaf2x770r5xwbyfmqr7bs";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -47,8 +56,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Sharing Plug";
     homepage = "https://github.com/elementary/switchboard-plug-sharing";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
index 10117dd8f957..7719477ce702 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , meson
@@ -10,22 +11,30 @@
 , granite
 , gtk3
 , pulseaudio
-, libcanberra
 , libcanberra-gtk3
 , switchboard
 }:
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-sound";
-  version = "2.2.5";
+  version = "2.2.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ITgxLZSB4zhSaFKX7Vbf89DGI8ibIcGEQTtLjcGN2tA=";
+    sha256 = "0yjqws7ryfid9lcafgzzbfnjjwccsankscwdwqfw486qid85whzc";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-sound/pull/203
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-sound/commit/1f3b9f001ace4c457ab194158dff04ba5e25d278.patch";
+      sha256 = "1lmf2bbif2wkfv500nxbqxp8jdmnjg8yk8xhx3g2g55d15rc5hk4";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -42,7 +51,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     granite
     gtk3
-    libcanberra
     libcanberra-gtk3
     libgee
     pulseaudio
@@ -52,8 +60,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Switchboard Sound Plug";
     homepage = "https://github.com/elementary/switchboard-plug-sound";
-    license = licenses.lgpl2Plus;
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix
new file mode 100644
index 000000000000..9268fa76aefc
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix
@@ -0,0 +1,72 @@
+{ lib, stdenv
+, fetchFromGitHub
+, fetchpatch
+, nix-update-script
+, pantheon
+, meson
+, ninja
+, pkg-config
+, vala
+, glib
+, granite
+, gtk3
+, libgee
+, libgudev
+, libwacom
+, switchboard
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "switchboard-plug-wacom";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = pname;
+    rev = version;
+    sha256 = "1n2yfq4s9xpnfqjikchjp4z2nk8cmfz4g0p18cplzh5w1lvz17lm";
+  };
+
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard-plug-wacom/pull/29
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-wacom/commit/2a7dee180d73ffb3521d806efb7028f5a71cb511.patch";
+      sha256 = "06ra5c0f14brmj2mmsqscpc4d1114i4qazgnsazzh2hrp04ilnva";
+    })
+  ];
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    vala
+  ];
+
+  buildInputs = [
+    glib
+    granite
+    gtk3
+    libgee
+    libgudev
+    libwacom
+    switchboard
+    xorg.libX11
+    xorg.libXi
+  ];
+
+  meta = with lib; {
+    description = "Switchboard Wacom Plug";
+    homepage = "https://github.com/elementary/switchboard-plug-wacom";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = teams.pantheon.members;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
index d0b56d7456af..bdab9b0d7662 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -9,6 +10,7 @@
 , vala
 , gtk3
 , libgee
+, libhandy
 , granite
 , gettext
 , clutter-gtk
@@ -18,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "2.4.0";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-N3WZysLIah40kcyIyhryZpm2FxCmlvp0EB1krZ/IsYs=";
+    sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim";
   };
 
   passthru = {
@@ -49,10 +51,17 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
   ];
 
   patches = [
     ./plugs-path-env.patch
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/switchboard/pull/214
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard/commit/8d6b5f4cbbaf134880252afbf1e25d70033e6402.patch";
+      sha256 = "0gwq3wwj45jrnlhsmxfclbjw6xjr8kf6pp3a84vbnrazw76lg5nc";
+    })
   ];
 
   postPatch = ''
@@ -65,6 +74,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/switchboard";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index 437f37941220..e0299767ef3f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -5,11 +5,12 @@
 , meson
 , ninja
 , gettext
+, sassc
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-gtk-theme";
-  version = "5.4.2";
+  version = "6.0.0";
 
   repoName = "stylesheet";
 
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-eE0/LLdnpxOpBvdpioGKV/DOQ5lIuQt9dPnhGkQDGCs=";
+    sha256 = "08iga854s6w77xr5rhvr74pgn2lc884aigc7gkn0xjlwysd195fr";
   };
 
   passthru = {
@@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
     gettext
     meson
     ninja
+    sassc
   ];
 
   meta = with lib; {
@@ -37,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/stylesheet";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index bd4845172c52..abaf8d6c31c5 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -65,6 +65,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/icons";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
index 6a9d1b0aca36..b9c51f5688c2 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     description = "Font for concealing text";
     homepage = "https://github.com/png2378/redacted-elementary";
     license = licenses.ofl;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
index d273f03f4bda..6fe18119b458 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/sound-theme";
     license = licenses.unlicense;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
index 3e4e64d73012..9fd0a4d1a4e8 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-wallpapers";
-  version = "5.5.0";
+  version = "6.0.0";
 
   repoName = "wallpapers";
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-Q5sYDXqFhiTu8nABmyND3L8bIXd1BJ3GZQ9TL3SzwzA=";
+    sha256 = "1qpf8w7x9sp3sd4zpsrlj5ywpwqkq4ywbagm4sf25cwwn82dl59b";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/wallpapers";
     license = licenses.publicDomain;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/default.nix
index dc1245e1b156..b3b5409f6a01 100644
--- a/nixpkgs/pkgs/desktops/pantheon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/default.nix
@@ -12,25 +12,31 @@ lib.makeScope pkgs.newScope (self: with self; {
     switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell
     switchboard-plug-power switchboard-plug-printers
     switchboard-plug-security-privacy switchboard-plug-sharing
-    switchboard-plug-sound
+    switchboard-plug-sound switchboard-plug-wacom
   ];
 
   wingpanelIndicators = [
-    wingpanel-applications-menu wingpanel-indicator-bluetooth
-    wingpanel-indicator-datetime wingpanel-indicator-keyboard
-    wingpanel-indicator-network wingpanel-indicator-nightlight
-    wingpanel-indicator-notifications wingpanel-indicator-power
-    wingpanel-indicator-session wingpanel-indicator-sound
+    wingpanel-applications-menu wingpanel-indicator-a11y
+    wingpanel-indicator-bluetooth wingpanel-indicator-datetime
+    wingpanel-indicator-keyboard wingpanel-indicator-network
+    wingpanel-indicator-nightlight wingpanel-indicator-notifications
+    wingpanel-indicator-power wingpanel-indicator-session
+    wingpanel-indicator-sound
   ];
 
   maintainers = lib.teams.pantheon.members;
 
-  mutter = pkgs.gnome.mutter334;
+  mutter = pkgs.gnome.mutter338;
+
+  # Using 3.38 to match Mutter used in Pantheon
+  gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon338;
 
   elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
 
   notes-up = pkgs.notes-up.override { withPantheon = true; };
 
+  touchegg = pkgs.touchegg.override { withPantheon = true; };
+
   #### APPS
 
   appcenter = callPackage ./apps/appcenter { };
@@ -55,12 +61,16 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-photos = callPackage ./apps/elementary-photos { };
 
-  elementary-screenshot-tool = callPackage ./apps/elementary-screenshot-tool { };
+  elementary-screenshot = callPackage ./apps/elementary-screenshot { };
+
+  elementary-tasks = callPackage ./apps/elementary-tasks { };
 
   elementary-terminal = callPackage ./apps/elementary-terminal { };
 
   elementary-videos = callPackage ./apps/elementary-videos { };
 
+  epiphany = pkgs.epiphany.override { withPantheon = true; };
+
   sideload = callPackage ./apps/sideload { };
 
   #### DESKTOP
@@ -103,16 +113,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { };
 
-  elementary-dpms-helper = callPackage ./services/elementary-dpms-helper { };
-
   elementary-notifications = callPackage ./services/elementary-notifications { };
 
-  # We're using ubuntu and elementary's patchset due to reasons
-  # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614
-  # Take note of "I am holding off on "fixing" this bug for as long as possible."
-  elementary-settings-daemon = callPackage ./services/elementary-settings-daemon {
-    inherit (gnome) gnome-desktop;
-  };
+  elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { };
 
   pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { };
 
@@ -122,6 +125,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { };
 
+  wingpanel-indicator-a11y = callPackage ./desktop/wingpanel-indicators/a11y { };
+
   wingpanel-indicator-bluetooth = callPackage ./desktop/wingpanel-indicators/bluetooth { };
 
   wingpanel-indicator-datetime = callPackage ./desktop/wingpanel-indicators/datetime { };
@@ -184,6 +189,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   switchboard-plug-sound = callPackage ./apps/switchboard-plugs/sound { };
 
+  switchboard-plug-wacom = callPackage ./apps/switchboard-plugs/wacom { };
+
   ### ARTWORK
 
   elementary-gtk-theme = callPackage ./artwork/elementary-gtk-theme { };
@@ -204,4 +211,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1.";
 
+  elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21
+
 })
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
deleted file mode 100644
index 3a0b3812450c..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
+++ /dev/null
@@ -1,309 +0,0 @@
-From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Sat, 13 Jul 2019 19:06:20 -0400
-Subject: [PATCH 1/2] Build with Meson
-
-Has the following meson build options:
-* default-wallpaper
-* plank-dockitems
-* default-gsettings-overrides
-
-All default to true.
-
-We also split the default-settings gsettings override into another that
-only sets plank's default dockitems. This is installed when plank-dockitems
-is true. We need to have this because those settings are dependent on
-those dockitems actually being installed and we have it optional.
----
- accountsservice/create-symlink.py             |  24 ++++++
- accountsservice/meson.build                   |  25 ++++++
- .../appcenter.blacklist                       |   0
- .../default-testpage.pdf                      | Bin
- settings.ini => gtk/settings.ini              |   0
- .inputrc => inputrc/.inputrc                  |   0
- meson.build                                   |  79 ++++++++++++++++++
- meson/post_install.py                         |  12 +++
- meson_options.txt                             |  14 ++++
- ...e => default-settings.gschema.override.in} |   3 +-
- overrides/meson.build                         |  21 +++++
- overrides/plank-dockitems.gschema.override    |   2 +
- .../sessioninstaller.desktop                  |   0
- 13 files changed, 178 insertions(+), 2 deletions(-)
- create mode 100644 accountsservice/create-symlink.py
- create mode 100644 accountsservice/meson.build
- rename appcenter.blacklist => appcenter/appcenter.blacklist (100%)
- rename default-testpage.pdf => cups/default-testpage.pdf (100%)
- rename settings.ini => gtk/settings.ini (100%)
- rename .inputrc => inputrc/.inputrc (100%)
- create mode 100644 meson.build
- create mode 100755 meson/post_install.py
- create mode 100644 meson_options.txt
- rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%)
- create mode 100644 overrides/meson.build
- create mode 100644 overrides/plank-dockitems.gschema.override
- rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%)
-
-diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py
-new file mode 100644
-index 0000000..e502134
---- /dev/null
-+++ b/accountsservice/create-symlink.py
-@@ -0,0 +1,24 @@
-+#!/usr/bin/env python3
-+
-+import os
-+import sys
-+
-+if len(sys.argv) < 3:
-+    print('Usage: create-symlink.py SOURCE DESTINATION')
-+    sys.exit(1)
-+
-+src = sys.argv[1]
-+dest = sys.argv[2]
-+
-+if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ:
-+    src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src)
-+    dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest)
-+
-+if os.path.isabs(src):
-+    src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest)))
-+
-+if not os.path.exists(dest):
-+    print('Creating symbolic link: ' + dest + ' -> ' + src)
-+    if not os.path.exists(os.path.dirname(dest)):
-+        os.makedirs(os.path.dirname(dest))
-+    os.symlink(src, dest)
-diff --git a/accountsservice/meson.build b/accountsservice/meson.build
-new file mode 100644
-index 0000000..6d18459
---- /dev/null
-+++ b/accountsservice/meson.build
-@@ -0,0 +1,25 @@
-+dbus_dep = dependency('dbus-1')
-+dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir])
-+
-+install_data(
-+    'io.elementary.pantheon.AccountsService.xml',
-+    install_dir: dbus_interfaces_dir
-+)
-+
-+
-+polkit_dep = dependency('polkit-gobject-1')
-+polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix])
-+
-+install_data(
-+    'io.elementary.pantheon.AccountsService.policy',
-+    install_dir: polkit_actiondir
-+)
-+
-+act_dep = dependency('accountsservice')
-+act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir])
-+
-+meson.add_install_script(
-+    'create-symlink.py',
-+    join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'),
-+    join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'),
-+)
-diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist
-similarity index 100%
-rename from appcenter.blacklist
-rename to appcenter/appcenter.blacklist
-diff --git a/default-testpage.pdf b/cups/default-testpage.pdf
-similarity index 100%
-rename from default-testpage.pdf
-rename to cups/default-testpage.pdf
-diff --git a/settings.ini b/gtk/settings.ini
-similarity index 100%
-rename from settings.ini
-rename to gtk/settings.ini
-diff --git a/.inputrc b/inputrc/.inputrc
-similarity index 100%
-rename from .inputrc
-rename to inputrc/.inputrc
-diff --git a/meson.build b/meson.build
-new file mode 100644
-index 0000000..7740a34
---- /dev/null
-+++ b/meson.build
-@@ -0,0 +1,79 @@
-+project(
-+    'elementary-default-settings',
-+    version: '5.1.0',
-+    default_options: 'sysconfdir=/etc',
-+)
-+
-+prefix = get_option('prefix')
-+datadir = join_paths(prefix, get_option('datadir'))
-+sysconfdir = get_option('sysconfdir')
-+
-+meson.add_install_script('meson/post_install.py', datadir)
-+
-+# Planks Default DockItems
-+if get_option('plank-dockitems')
-+    install_subdir(
-+        'plank',
-+        install_dir: join_paths(sysconfdir, 'skel', '.config')
-+    )
-+endif
-+
-+# Setup system wide global environment for applications
-+install_subdir(
-+    'profile.d',
-+    install_dir: join_paths(sysconfdir, 'profile.d'),
-+    strip_directory : true
-+)
-+
-+# elementary Plymouth Theme
-+install_subdir(
-+    'plymouth/elementary',
-+    install_dir: join_paths(datadir, 'plymouth', 'themes')
-+)
-+
-+install_data(
-+    'plymouth/ubuntu-text.plymouth',
-+    install_dir: join_paths(datadir, 'plymouth', 'themes')
-+)
-+
-+# Sudo password feedback in terminals
-+install_data(
-+    'sudoers.d/pwfeedback',
-+    install_dir: join_paths(sysconfdir, 'sudoers.d')
-+)
-+
-+# CUPS Printing testpage
-+install_data(
-+    'cups/default-testpage.pdf',
-+    install_dir: join_paths(datadir, 'cups', 'data')
-+)
-+
-+# GTK3 Settings
-+install_data(
-+    'gtk/settings.ini',
-+    install_dir: join_paths(sysconfdir, 'gtk-3.0')
-+)
-+
-+# So SessionInstaller can have an Icon
-+install_data(
-+    'sessioninstaller/sessioninstaller.desktop',
-+    install_dir: join_paths(datadir, 'applications')
-+)
-+
-+# Default Appcenter Blacklist
-+install_data(
-+    'appcenter/appcenter.blacklist',
-+    install_dir: join_paths(sysconfdir, 'appcenter')
-+)
-+
-+# Configuration file of GNU readline
-+install_data(
-+    'inputrc/.inputrc',
-+    install_dir: join_paths(sysconfdir, 'skel')
-+)
-+
-+# Default gsettings overrides
-+subdir('overrides')
-+
-+# AccountsService extension for Greeter.
-+subdir('accountsservice')
-diff --git a/meson/post_install.py b/meson/post_install.py
-new file mode 100755
-index 0000000..c6b5617
---- /dev/null
-+++ b/meson/post_install.py
-@@ -0,0 +1,12 @@
-+#!/usr/bin/env python3
-+
-+import os
-+import sys
-+import subprocess
-+
-+if 'DESTDIR' not in os.environ:
-+    default_settings_datadir = sys.argv[1]
-+
-+    print('Compiling GSettings schemas...')
-+    subprocess.call(['glib-compile-schemas',
-+                    os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')])
-diff --git a/meson_options.txt b/meson_options.txt
-new file mode 100644
-index 0000000..8fd19ba
---- /dev/null
-+++ b/meson_options.txt
-@@ -0,0 +1,14 @@
-+option('default-wallpaper',
-+       type: 'string',
-+       value: '/usr/share/backgrounds/elementaryos-default',
-+       description: 'Path to default wallpaper to use in Pantheon.')
-+
-+option('plank-dockitems',
-+       type: 'boolean',
-+       value: true,
-+       description: 'Install default Pantheon Plank dockitems')
-+
-+option('default-gsettings-overrides',
-+       type: 'boolean',
-+       value: true,
-+       description: 'Install default Pantheon GSettings Overrides')
-diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in
-similarity index 92%
-rename from overrides/default-settings.gschema.override
-rename to overrides/default-settings.gschema.override.in
-index 1aef29c..69d272b 100644
---- a/overrides/default-settings.gschema.override
-+++ b/overrides/default-settings.gschema.override.in
-@@ -1,5 +1,4 @@
- [net.launchpad.plank.dock.settings]
--dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
- hide-delay=250
- hide-mode='window-dodge'
- show-dock-item=false
-@@ -11,7 +10,7 @@ triggers=['<Control>space']
- [org.gnome.desktop.background]
- draw-background=true
- picture-options='zoom'
--picture-uri='file:///usr/share/backgrounds/elementaryos-default'
-+picture-uri='file://@DEFAULT_WALLPAPER@'
- primary-color='#000000'
- show-desktop-icons=false
- 
-diff --git a/overrides/meson.build b/overrides/meson.build
-new file mode 100644
-index 0000000..ad80644
---- /dev/null
-+++ b/overrides/meson.build
-@@ -0,0 +1,21 @@
-+if get_option('default-gsettings-overrides')
-+    default_wallpaper = get_option('default-wallpaper')
-+
-+    wallpaper_configuration = configuration_data()
-+    wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper)
-+
-+    settings_override = configure_file(
-+        input: 'default-settings.gschema.override.in',
-+        output: '@BASENAME@',
-+        configuration: wallpaper_configuration,
-+        install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
-+    )
-+endif
-+
-+# Install conditionally because it's dependent on our dockitems being installed
-+if get_option('plank-dockitems')
-+    install_data(
-+        'plank-dockitems.gschema.override',
-+        install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
-+    )
-+endif
-diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override
-new file mode 100644
-index 0000000..72b38d4
---- /dev/null
-+++ b/overrides/plank-dockitems.gschema.override
-@@ -0,0 +1,2 @@
-+[net.launchpad.plank.dock.settings]
-+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
-diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop
-similarity index 100%
-rename from sessioninstaller.desktop
-rename to sessioninstaller/sessioninstaller.desktop
--- 
-2.23.0
-
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index 982502f51612..1751636da008 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -11,12 +11,11 @@
 , polkit
 , accountsservice
 , python3
-, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-default-settings";
-  version = "5.1.2";
+  version = "6.0.1";
 
   repoName = "default-settings";
 
@@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-HKrDs2frEWVPpwyGNP+NikrjyplSXJj1hFMLy6kK4wM=";
+    sha256 = "0gqnrm968j4v699yhhiyw5fqjy4zbvvrjci2v1jrlycn09c2yrwf";
   };
 
   passthru = {
@@ -33,23 +32,6 @@ stdenv.mkDerivation rec {
     };
   };
 
-  patches = [
-    # Use new notifications
-    (fetchpatch {
-      url = "https://github.com/elementary/default-settings/commit/0658bb75b9f49f58b35746d05fb6c4b811f125e9.patch";
-      sha256 = "0wa7iq0vfp2av5v23w94a5844ddj4g48d4wk3yrp745dyrimg739";
-    })
-
-    # Fix media key syntax
-    (fetchpatch {
-      url = "https://github.com/elementary/default-settings/commit/332aefe1883be5dfe90920e165c39e331a53b2ea.patch";
-      sha256 = "0ypcaga55pw58l30srq3ga1mhz2w6hkwanv41jjr6g3ia9jvq69n";
-    })
-
-    # https://github.com/elementary/default-settings/pull/119
-    ./0001-Build-with-Meson.patch
-  ];
-
   nativeBuildInputs = [
     accountsservice
     dbus
@@ -73,9 +55,9 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = ''
-    # Install our override for plank dockitems.
-    # This is because we don't have Pantheon's mail or Appcenter.
-    # See: https://github.com/NixOS/nixpkgs/issues/58161
+    # Install our override for plank dockitems as Appcenter and Tasks is not ready to be preinstalled.
+    # For Appcenter, see: https://github.com/NixOS/nixpkgs/issues/70214.
+    # For Tasks, see: https://github.com/elementary/tasks/issues/243#issuecomment-846259496
     schema_dir=$out/share/glib-2.0/schemas
     install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override
 
@@ -84,7 +66,7 @@ stdenv.mkDerivation rec {
     cp -avr ${./launchers} $out/etc/skel/.config/plank/dock1/launchers
 
     # Whitelist wingpanel indicators to be used in the greeter
-    # hhttps://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist
+    # https://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist
     # wingpanel 2.3.2 renamed this to .allowed to .forbidden
     # https://github.com/elementary/wingpanel/pull/326
     install -D ${./io.elementary.greeter.allowed} $out/etc/wingpanel.d/io.elementary.greeter.allowed
@@ -103,6 +85,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/default-settings";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem
new file mode 100644
index 000000000000..e07328c59473
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem
@@ -0,0 +1,2 @@
+[PlankDockItemPreferences]
+Launcher=file:///run/current-system/sw/share/applications/io.elementary.mail.desktop
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem
deleted file mode 100644
index 8b04efe417ea..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem
+++ /dev/null
@@ -1,2 +0,0 @@
-[PlankDockItemPreferences]
-Launcher=file:///run/current-system/sw/share/applications/org.gnome.Geary.desktop
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
index 671448745c50..b3ca51853b79 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
@@ -1,2 +1,2 @@
 [net.launchpad.plank.dock.settings]
-dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','io.elementary.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index e80e7d951cd4..e85acf39e722 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -13,11 +13,13 @@
 , gtk3
 , granite
 , libgee
-, elementary-settings-daemon
+, libhandy
+, gnome-settings-daemon
 , mutter
 , elementary-icon-theme
 , wingpanel-with-indicators
 , elementary-gtk-theme
+, elementary-settings-daemon
 , nixos-artwork
 , lightdm
 , gdk-pixbuf
@@ -29,7 +31,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-greeter";
-  version = "5.0.4";
+  version = "6.0.1";
 
   repoName = "greeter";
 
@@ -37,7 +39,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-Enn+ekALWbk7FVJJuea/rNiwEZDIyb3kyMcZNNraOv8=";
+    sha256 = "1f606ds56sp1c58q8dblfpaq9pwwkqw9i4gkwksw45m2xkwlbflq";
   };
 
   passthru = {
@@ -66,10 +68,12 @@ stdenv.mkDerivation rec {
     elementary-gtk-theme
     elementary-icon-theme
     elementary-settings-daemon
+    gnome-settings-daemon
     gdk-pixbuf
     granite
     gtk3
     libgee
+    libhandy
     lightdm
     mutter
     wingpanel-with-indicators
@@ -80,9 +84,7 @@ stdenv.mkDerivation rec {
     "--sbindir=${placeholder "out"}/bin"
     # baked into the program for discovery of the greeter configuration
     "--sysconfdir=/etc"
-    # We use the patched gnome-settings-daemon
-    "-Dubuntu-patched-gsd=true"
-    "-Dgsd-dir=${elementary-settings-daemon}/libexec/" # trailing slash is needed
+    "-Dgsd-dir=${gnome-settings-daemon}/libexec/" # trailing slash is needed
   ];
 
   patches = [
@@ -125,6 +127,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/greeter";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
index bfe95e0be46d..1f8c811d9d10 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
@@ -6,7 +6,7 @@
 , glib
 , gala
 , epiphany
-, elementary-settings-daemon
+, gnome-settings-daemon
 , gtk3
 , elementary-dock
 , gsettings-desktop-schemas
@@ -18,7 +18,7 @@ let
 
   gsettingsOverridePackages = [
     elementary-dock
-    elementary-settings-daemon
+    gnome-settings-daemon
     epiphany
     gala
     gsettings-desktop-schemas
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
index 70da883392a8..e7b0248ad425 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv
 , fetchFromGitHub
 , nix-update-script
+, substituteAll
 , pantheon
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -17,11 +17,12 @@
 , gettext
 , libhandy
 , wrapGAppsHook
+, appcenter
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-onboarding";
-  version = "1.2.1";
+  version = "6.0.0";
 
   repoName = "onboarding";
 
@@ -29,20 +30,9 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-tLTwXA2miHqYqCUbIiBjb2nQB+uN/WzuE4F9m3fVCbM=";
+    sha256 = "1mpw0j8ymb41py9v9qlk4nwy1lnwj7k388c7gqdv34ynck0ymfi4";
   };
 
-  patches = [
-    # Port to Libhandy-1
-    (fetchpatch {
-      url = "https://github.com/elementary/onboarding/commit/8af6b7d9216f8cbf725f708b36ef4d4f6c400c78.patch";
-      sha256 = "cnSCSSFEQlNd9Ncw5VCJ32stZ8D4vhl3f+derAk/Cas=";
-      excludes = [
-        ".github/workflows/main.yml"
-      ];
-    })
-  ];
-
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -69,6 +59,13 @@ stdenv.mkDerivation rec {
     libhandy
   ];
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      appcenter = appcenter;
+    })
+  ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
@@ -79,6 +76,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/onboarding";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch
new file mode 100644
index 000000000000..c98d898bb488
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Views/AppCenterView.vala b/src/Views/AppCenterView.vala
+index 16cd18b..5895897 100644
+--- a/src/Views/AppCenterView.vala
++++ b/src/Views/AppCenterView.vala
+@@ -55,7 +55,7 @@ public class Onboarding.AppCenterView : AbstractOnboardingView {
+         appcenter_button.clicked.connect (() => {
+             try {
+                 var appcenter = AppInfo.create_from_commandline (
+-                    "io.elementary.appcenter",
++                    "@appcenter@/bin/io.elementary.appcenter",
+                     "AppCenter",
+                     AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION
+                 );
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
index 7b821f883ce9..c64cfced0c55 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/print";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index 38fcb8d40b41..e3d0cb8c7282 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -11,7 +11,7 @@
 , orca
 , onboard
 , elementary-default-settings
-, elementary-settings-daemon
+, gnome-settings-daemon
 , runtimeShell
 , writeText
 , meson
@@ -89,16 +89,16 @@ let
 in
 
 stdenv.mkDerivation rec {
-  pname = "elementary-session-settings-unstable";
-  version = "2020-07-06";
+  pname = "elementary-session-settings";
+  version = "6.0.0";
 
   repoName = "session-settings";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = repoName;
-    rev = "fa15cbd83fba0ba30e9a302db880350bff5ace52";
-    hash = "sha256-26H791c7OAjFYtjVChIatICSocMt0uTej1TKBOvw+6w=";
+    rev = version;
+    sha256 = "1faglpa7q3a4335gnd074a3lnsdspyjdnskgy4bfnf6xmwjx7kjx";
   };
 
   nativeBuildInputs = [
@@ -109,8 +109,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    pantheon.elementary-settings-daemon
     gnome-keyring
+    gnome-settings-daemon
     onboard
     orca
   ];
@@ -124,7 +124,6 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     # our mimeapps patched from upstream to exclude:
-    # * pantheon-mail -> geary
     # * evince.desktop -> org.gnome.Evince.desktop
     mkdir -p $out/share/applications
     cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list
@@ -154,8 +153,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Session settings for elementary";
     homepage = "https://github.com/elementary/session-settings";
-    license = licenses.lgpl3;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list
index 3b5e3b0e77a5..8deb6ae8c1c5 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list
@@ -163,6 +163,6 @@ x-content/video-svcd=io.elementary.videos.desktop
 x-content/video-vcd=io.elementary.videos.desktop
 x-scheme-handler/http=org.gnome.Epiphany.desktop
 x-scheme-handler/https=org.gnome.Epiphany.desktop
-x-scheme-handler/mailto=org.gnome.Evolution.desktop
+x-scheme-handler/mailto=io.elementary.mail.desktop
 x-scheme-handler/trash=io.elementary.files.desktop
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
index 314267d86122..3a6fbc194772 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -12,13 +13,14 @@
 , glib
 , granite
 , libgee
+, libhandy
 , elementary-icon-theme
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-shortcut-overlay";
-  version = "1.1.2";
+  version = "1.2.0";
 
   repoName = "shortcut-overlay";
 
@@ -26,9 +28,18 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-TFS29vwDkTtoFcIVAbKskyLemqW9fxE7fQkM61DpDm0=";
+    sha256 = "1zs2fpx4agr00rsfmpi00nhiw92mlypzm4p9x3g851p24m62fn79";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/shortcut-overlay/pull/100
+    (fetchpatch {
+      url = "https://github.com/elementary/shortcut-overlay/commit/f26e3684568e30cb6e151438e2d86c4d392626bf.patch";
+      sha256 = "0zxyqpk9xbxdm8lmgdwbb4yzzwbjlhypsca3xs34a2pl0b9pcdwd";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -51,6 +62,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
   ];
 
   meta = with lib; {
@@ -58,6 +70,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/shortcut-overlay";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
index c4467c53a2bf..665007fcd634 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
 , nix-update-script
-, fetchpatch
 , pantheon
 , pkg-config
 , meson
@@ -23,18 +22,20 @@
 , elementary-dock
 , elementary-icon-theme
 , elementary-settings-daemon
+, gnome-settings-daemon
 , wrapGAppsHook
+, gexiv2
 }:
 
 stdenv.mkDerivation rec {
   pname = "gala";
-  version = "3.3.2";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-BOarHUEgWqQM6jmVMauJi0JnsM+jE45MnPNnAqz1qOE=";
+    sha256 = "1yxsfshahaxiqs5waj4v96rhjhdgyd1za4pwlg3vqq51p75k2b1g";
   };
 
   passthru = {
@@ -61,6 +62,8 @@ stdenv.mkDerivation rec {
     elementary-dock
     elementary-icon-theme
     elementary-settings-daemon
+    gnome-settings-daemon
+    gexiv2
     gnome-desktop
     granite
     gtk3
@@ -71,15 +74,12 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # https://github.com/elementary/gala/pull/869
-    # build failure in vala 0.48.7
-    # https://github.com/elementary/gala/pull/869#issuecomment-657147695
-    (fetchpatch {
-      url = "https://github.com/elementary/gala/commit/85d290c75eaa147b704ad34e6c67498071707ee8.patch";
-      sha256 = "19jkvmxidf453qfrxkvi35igxzfz2cm8srwkabvyn9wyd1yhiw0l";
-    })
     ./plugins-dir.patch
-    ./use-new-notifications-default.patch
+    # https://github.com/elementary/gala/pull/1259
+    # https://github.com/NixOS/nixpkgs/issues/139404
+    # Remove this patch when it is included in a new release
+    # of gala OR when we no longer use mutter 3.38 for pantheon
+    ./fix-session-crash-when-taking-screenshots.patch
   ];
 
   postPatch = ''
@@ -92,6 +92,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/gala";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/fix-session-crash-when-taking-screenshots.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/fix-session-crash-when-taking-screenshots.patch
new file mode 100644
index 000000000000..f2393a804bcf
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/fix-session-crash-when-taking-screenshots.patch
@@ -0,0 +1,50 @@
+From fa3c39331d4ef56a13019f45d811bde1fc755c21 Mon Sep 17 00:00:00 2001
+From: Bobby Rong <rjl931189261@126.com>
+Date: Sat, 25 Sep 2021 23:21:01 +0800
+Subject: [PATCH] Fix session crash when taking screenshots with mutter 3.38
+
+---
+ src/ScreenshotManager.vala | 5 ++---
+ vapi/mutter-clutter.vapi   | 2 +-
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/ScreenshotManager.vala b/src/ScreenshotManager.vala
+index 3ffb0123..388fee1a 100644
+--- a/src/ScreenshotManager.vala
++++ b/src/ScreenshotManager.vala
+@@ -354,12 +354,11 @@ namespace Gala {
+                 paint_flags |= Clutter.PaintFlag.FORCE_CURSORS;
+             }
+ 
+-            unowned var data = image.get_data ();
+             if (GLib.ByteOrder.HOST == GLib.ByteOrder.LITTLE_ENDIAN) {
+                 wm.stage.paint_to_buffer (
+                     {x, y, width, height},
+                     scale,
+-                    ref data,
++                    image.get_data (),
+                     image.get_stride (),
+                     Cogl.PixelFormat.BGRA_8888_PRE,
+                     paint_flags
+@@ -368,7 +367,7 @@ namespace Gala {
+                 wm.stage.paint_to_buffer (
+                     {x, y, width, height},
+                     scale,
+-                    ref data,
++                    image.get_data (),
+                     image.get_stride (),
+                     Cogl.PixelFormat.ARGB_8888_PRE,
+                     paint_flags
+diff --git a/vapi/mutter-clutter.vapi b/vapi/mutter-clutter.vapi
+index 5b778cb2..95de24be 100644
+--- a/vapi/mutter-clutter.vapi
++++ b/vapi/mutter-clutter.vapi
+@@ -7336,7 +7336,7 @@ namespace Clutter {
+ 		[Version (since = "1.2")]
+ 		public bool get_use_alpha ();
+ #if HAS_MUTTER338
+-		public bool paint_to_buffer (Cairo.RectangleInt rect, float scale, [CCode (array_length = false)] ref unowned uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
++		public bool paint_to_buffer (Cairo.RectangleInt rect, float scale, [CCode (array_length = false, type = "uint8_t*")] uint8[] data, int stride, Cogl.PixelFormat format, Clutter.PaintFlag paint_flags) throws GLib.Error;
+ 		public void paint_to_framebuffer (Cogl.Framebuffer framebuffer, Cairo.RectangleInt rect, float scale, Clutter.PaintFlag paint_flags);
+ #else
+ 		[Version (since = "0.4")]
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
index f08652e9f630..b0e72bbe1ab7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
@@ -1,16 +1,17 @@
 diff --git a/meson.build b/meson.build
-index 78113d6..926596c 100644
+index d0f00e5..977d2e2 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi'
-
+@@ -25,6 +25,7 @@ vapi_dir = meson.current_source_dir() / 'vapi'
+ locale_dir = join_paths(get_option('prefix'), get_option('localedir'))
  data_dir = join_paths(get_option('prefix'), get_option('datadir'))
  plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins')
 +plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins')
  pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
  pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name())
-
- conf = configuration_data()
+ 
+@@ -33,7 +34,7 @@ conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
+ conf.set_quoted('LOCALEDIR', locale_dir)
  conf.set_quoted('DATADIR', data_dir)
  conf.set_quoted('PKGDATADIR', pkgdata_dir)
 -conf.set_quoted('PLUGINDIR', plugins_dir)
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch
deleted file mode 100644
index dc256bcff3aa..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/data/gala.gschema.xml b/data/gala.gschema.xml
-index 8032583..7f4f03c 100644
---- a/data/gala.gschema.xml
-+++ b/data/gala.gschema.xml
-@@ -58,7 +58,7 @@
- 			<description>If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely.</description>
- 		</key>
- 		<key type="b" name="use-new-notifications">
--			<default>false</default>
-+			<default>true</default>
- 			<summary>If new notifications should be used</summary>
- 			<description>If new notifications UI should be used, requires io.elemenetary.notifications to be present and running</description>
- 		</key>
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix
new file mode 100644
index 000000000000..7e185ece23ac
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix
@@ -0,0 +1,70 @@
+{ lib, stdenv
+, fetchFromGitHub
+, fetchpatch
+, nix-update-script
+, pantheon
+, meson
+, ninja
+, pkg-config
+, python3
+, vala
+, granite
+, gtk3
+, libgee
+, wingpanel
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wingpanel-indicator-a11y";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = pname;
+    rev = version;
+    sha256 = "1adx1sx9qh02hjgv5h0gwyn116shjl3paxmyaiv4cgh6vq3ndp3c";
+  };
+
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-a11y/pull/48
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-a11y/commit/fb8412d56bc1c42b70e8ee41b837e8024e1297f7.patch";
+      sha256 = "0619npdw9wvaz1zk2lzikczyjdqba8v8c9ry9zizvvl4j1i1ad7k";
+    })
+  ];
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    python3
+    vala
+  ];
+
+  buildInputs = [
+    granite
+    gtk3
+    libgee
+    wingpanel
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with lib; {
+    description = "Universal Access Indicator for Wingpanel";
+    homepage = "https://github.com/elementary/wingpanel-indicator-a11y";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = teams.pantheon.members;
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index 230ae29ffa05..29432bf19656 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pantheon
 , substituteAll
@@ -19,7 +18,6 @@
 , elementary-dock
 , bamf
 , switchboard-with-plugs
-, libunity
 , libsoup
 , wingpanel
 , zeitgeist
@@ -29,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-applications-menu";
-  version = "2.7.1";
+  version = "2.8.2";
 
   repoName = "applications-menu";
 
@@ -37,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-NeazBzkbdQTC6OzPxxyED4OstMkNkUGtCIaZD67fTnM=";
+    sha256 = "1pm3dnq35vbvyxqapmfy4frfwhc1l2zh634annlmbjiyfp5mzk0q";
   };
 
   passthru = {
@@ -59,14 +57,12 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bamf
     elementary-dock
-    gnome-menus
     granite
     gtk3
     json-glib
     libgee
     libhandy
     libsoup
-    libunity
     switchboard-with-plugs
     wingpanel
     zeitgeist
@@ -83,12 +79,6 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # Port to Libhandy-1
-    (fetchpatch {
-      url = "https://github.com/elementary/applications-menu/commit/8eb2430e8513e9d37f875c5c9b8b15a968c27127.patch";
-      sha256 = "8Uw9mUw7U5nrAwUDGVpAwoRqb9ah503wQCr9kPbBJIo=";
-    })
-
     (substituteAll {
       src = ./fix-paths.patch;
       bc = "${bc}/bin/bc";
@@ -105,6 +95,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/applications-menu";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
index 25e3891a205a..aea828b36336 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
@@ -1,8 +1,8 @@
 diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala
-index 18ca3af..f5d1076 100644
+index 886a44cd..a4601da6 100644
 --- a/src/synapse-plugins/calculator-plugin.vala
 +++ b/src/synapse-plugins/calculator-plugin.vala
-@@ -44,9 +44,7 @@ namespace Synapse {
+@@ -50,9 +50,7 @@ namespace Synapse {
                  _("Calculator"),
                  _("Calculate basic expressions."),
                  "accessories-calculator",
@@ -13,10 +13,10 @@ index 18ca3af..f5d1076 100644
              );
          }
  
-@@ -87,7 +85,7 @@ namespace Synapse {
-             if (matched) {
+@@ -94,7 +92,7 @@ namespace Synapse {
                  Pid pid;
                  int read_fd, write_fd;
+                 /* Must include math library to get non-integer results and to access standard math functions */
 -                string[] argv = {"bc", "-l"};
 +                string[] argv = {"@bc@", "-l"};
                  string? solution = null;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 03500abd6237..a9b13650ddba 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-bluetooth";
-  version = "unstable-2020-10-01";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
-    rev = "2b59d646ea0d66ae45dafc851374f24dcd98c064";
-    sha256 = "sha256-selp70P+7RhbdHF6iiNmcNbMf/c+B9zZ6nlxwRSZGn4=";
+    rev = version;
+    sha256 = "12rasf8wy3cqnfjlm9s2qnx4drzx0w0yviagkng3kspdzm3vzsqy";
   };
 
   passthru = {
@@ -62,6 +62,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/wingpanel-indicator-bluetooth";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 03954fac6448..ad030277463c 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -1,6 +1,8 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
+, substituteAll
 , pantheon
 , pkg-config
 , meson
@@ -13,6 +15,7 @@
 , evolution-data-server
 , libical
 , libgee
+, libhandy
 , libxml2
 , libsoup
 , libgdata
@@ -21,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-datetime";
-  version = "2.2.5";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rZzZIh4bwZfwQFDbfPDKQtfLMJQ2IdykH1yiV6ckqnw=";
+    sha256 = "1mdm0fsnmmyw8c0ik2jmfri3kas9zkz1hskzf8wvbd51vnazfpgw";
   };
 
   passthru = {
@@ -50,12 +53,26 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
     libical
     libsoup
     wingpanel
     libgdata # required by some dependency transitively
   ];
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      elementary_calendar = elementary-calendar;
+    })
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-datetime/pull/269
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/f7befa68a9fd6215297c334a366919d3431cae65.patch";
+      sha256 = "0l997b1pnpjscs886xy28as5yykxamxacvxdv8466zin7zynarfs";
+    })
+  ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
@@ -64,8 +81,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Date & Time Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-datetime";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch
new file mode 100644
index 000000000000..bec5f43e0d78
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Widgets/calendar/CalendarView.vala b/src/Widgets/calendar/CalendarView.vala
+index 6e0d530a..2f90f96c 100644
+--- a/src/Widgets/calendar/CalendarView.vala
++++ b/src/Widgets/calendar/CalendarView.vala
+@@ -222,7 +222,7 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid {
+ 
+     // TODO: As far as maya supports it use the Dbus Activation feature to run the calendar-app.
+     public void show_date_in_maya (GLib.DateTime date) {
+-        var command = "io.elementary.calendar --show-day %s".printf (date.format ("%F"));
++        var command = "@elementary_calendar@/bin/io.elementary.calendar --show-day %s".printf (date.format ("%F"));
+ 
+         try {
+             var appinfo = AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE);
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
index 4e2f9455073c..6d5227b7139f 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -14,17 +15,18 @@
 , libgee
 , xorg
 , libgnomekbd
+, ibus
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-keyboard";
-  version = "2.2.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/sTx0qT7gNj1waQg9OKqHY6MtL+p0NljiIAXKA3DYmA=";
+    sha256 = "10zzsil5l6snz47nx887r22sl2n0j6bg4dhxmgk3j3xp3jhgmrgl";
   };
 
   passthru = {
@@ -44,6 +46,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     granite
     gtk3
+    ibus
     libgee
     wingpanel
     xorg.xkeyboardconfig
@@ -54,13 +57,19 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
     })
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-keyboard/pull/110
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-keyboard/commit/ea5df2f62a99a216ee5ed137268e710490a852a4.patch";
+      sha256 = "0fmdz10xgzsryj0f0dnpjrh9yygjkb91a7pxg0rwddxbprhnr7j0";
+    })
   ];
 
   meta = with lib; {
     description = "Keyboard Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-keyboard";
-    license = licenses.lgpl21Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index ab898084c087..92738df7b355 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -1,6 +1,8 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
+, substituteAll
 , pantheon
 , pkg-config
 , meson
@@ -12,17 +14,18 @@
 , libnma
 , wingpanel
 , libgee
+, elementary-capnet-assist
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-network";
-  version = "2.2.4";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wVHvHduUT55rIWRfRWg3Z3jL3FdzUJfiqFONRmpCR8k=";
+    sha256 = "0q5ad2sj0nmigrh1rykb2kvik3hzibzyafdvkkmjd6y92145lwl1";
   };
 
   passthru = {
@@ -47,11 +50,24 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      elementary_capnet_assist = elementary-capnet-assist;
+    })
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-network/pull/228
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-network/commit/eacc7d46a94a980005e87e38e6c943143a09692a.patch";
+      sha256 = "1svg07fqmplchp1ass0h8qkr3g24pkw8dcsnd54ddmvnjzwrzz0a";
+    })
+  ];
+
   meta = with lib; {
     description = "Network Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-network";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch
new file mode 100644
index 000000000000..b98c50b3e49a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Indicator.vala b/src/Indicator.vala
+index 83ce932a..f95ed142 100644
+--- a/src/Indicator.vala
++++ b/src/Indicator.vala
+@@ -67,7 +67,7 @@ public class Network.Indicator : Wingpanel.Indicator {
+ 
+             if (network_monitor.get_connectivity () == NetworkConnectivity.FULL || network_monitor.get_connectivity () == NetworkConnectivity.PORTAL) {
+                 try {
+-                    var appinfo = AppInfo.create_from_commandline ("io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE);
++                    var appinfo = AppInfo.create_from_commandline ("@elementary_capnet_assist@/bin/io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE);
+                     appinfo.launch (null, null);
+                 } catch (Error e) {
+                     warning ("%s\n", e.message);
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index 4481c181f53d..23f9e400c01b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -15,15 +16,24 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-nightlight";
-  version = "2.0.4";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0f03XO74ezzS/Uy0mXT4raoazETL/SOVh58sAo9bEIA=";
+    sha256 = "1zxjw68byg4sjn8lzsidzmy4ipwxgnv8rm529a7wzlpgj2xq3x4j";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-nightlight/pull/91
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-nightlight/commit/4e15f71ed958df3569b2f1e224b9fb18613281f1.patch";
+      sha256 = "07awmswyy0988pm6ggyz22mllja675cbdzrjdqc1xd4knwcgy77v";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -45,13 +55,11 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with lib; {
     description = "Night Light Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-nightlight";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index 97ab0cb80ed3..1a101a8a886d 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -11,26 +11,27 @@
 , granite
 , wingpanel
 , libgee
+, libhandy
 , elementary-notifications
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-notifications";
-  version = "2.1.4";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tVPSJO/9IXlibLkb6Cv+8azdvuXbcNOI1qYk4VQc4WI=";
+    sha256 = "1pvcpk1d2zh9pvw0clv3bhf2plcww6nbxs6j7xjbvnaqs7d6i1k2";
   };
 
   patches = [
-    # Fix do not disturb on NixOS
-    # https://github.com/elementary/wingpanel-indicator-notifications/pull/110
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-notifications/pull/218
     (fetchpatch {
-      url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/02b1e226c0262c1535fdf2b4f1daba6be9084f67.patch";
-      sha256 = "1a5phygygndr28yx8yp0lyk0wxypc5656dpidw1z8x1yd6xysqhy";
+      url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/c7e73f0683561345935a959dafa2083b7e22fe99.patch";
+      sha256 = "10xiyq42bqfmih1jgqpq64nha3n0y7ra3j7j0q27rn5hhhgbyjs7";
     })
   ];
 
@@ -52,6 +53,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
     wingpanel
   ];
 
@@ -60,6 +62,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/wingpanel-indicator-notifications";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
index 69a17b9dd30a..f3d3ac0e46d5 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
@@ -1,7 +1,9 @@
 { lib, stdenv
 , fetchFromGitHub
+, substituteAll
 , nix-update-script
 , pantheon
+, gnome
 , pkg-config
 , meson
 , python3
@@ -11,6 +13,7 @@
 , granite
 , bamf
 , libgtop
+, libnotify
 , udev
 , wingpanel
 , libgee
@@ -18,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-power";
-  version = "2.2.0";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wjYZXFnzvPSukzh1BNvyaFxKpYm+kNNFm5AsthLXGVE=";
+    sha256 = "1zlpnl7983jkpy2nik08ih8lwrqvm456h993ixa6armzlazdvnjk";
   };
 
   passthru = {
@@ -47,10 +50,18 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     libgtop
+    libnotify
     udev
     wingpanel
   ];
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      gnome_power_manager = gnome.gnome-power-manager;
+    })
+  ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
@@ -59,8 +70,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Power Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-power";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch
new file mode 100644
index 000000000000..532001eb663b
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Widgets/DeviceList.vala b/src/Widgets/DeviceList.vala
+index 0c56f46..33d97b3 100644
+--- a/src/Widgets/DeviceList.vala
++++ b/src/Widgets/DeviceList.vala
+@@ -39,7 +39,7 @@ public class Power.Widgets.DeviceList : Gtk.ListBox {
+             string device_path = path_entries.@get (value);
+             try {
+                 AppInfo statistics_app = AppInfo.create_from_commandline (
+-                    "gnome-power-statistics --device " + device_path,
++                    "@gnome_power_manager@/bin/gnome-power-statistics --device " + device_path,
+                     "",
+                     AppInfoCreateFlags.NONE
+                 );
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index a6c08b613bbd..eaccad35aa0b 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -12,19 +12,29 @@
 , wingpanel
 , accountsservice
 , libgee
+, libhandy
 }:
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "unstable-2020-09-13";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
-    rev = "e65c95f46adbfd598ad61933394d7bc3c5998278";
-    sha256 = "sha256-QKOfgAc6pDQYpETrFunZB6+rF1P8XIf0pjft/t9aWW0=";
+    rev = version;
+    sha256 = "0hww856qjl4kjmmksd5gp8bc5vj4fhs2s9fmbnpbf88lg5ds0wv0";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-session/pull/162
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-session/commit/e85032da8e923df4589dc75ccded10026b6c1cd7.patch";
+      sha256 = "139b2zbc6qjaw41nwfjkqv4npahkzryv4p5m6v10273clv6l72ng";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -43,6 +53,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
     wingpanel
   ];
 
@@ -51,6 +62,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/wingpanel-indicator-session";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
index 25707f39e46b..55f27d606467 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
 , meson
 , python3
 , ninja
-, vala
+, vala_0_52
 , gtk3
 , granite
 , wingpanel
@@ -19,15 +20,24 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-sound";
-  version = "2.1.6";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WGkxLsbdJ7Z7kolymYpggsVy4cN4CicNKdfCbunklSI=";
+    sha256 = "0cv97c0qrhqisyghy9a9qr4ffcx3g4bkswxm6rn4r2wfg4gvljri";
   };
 
+  patches = [
+    # Upstream code not respecting our localedir
+    # https://github.com/elementary/wingpanel-indicator-sound/pull/216
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-sound/commit/df816104c15e4322c1077313b1f43114cdaf710e.patch";
+      sha256 = "029z7l467jz1ymxwrzrf874062r6xmskl7mldpq39jh110fijy5l";
+    })
+  ];
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
@@ -40,7 +50,9 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    vala
+    # Does not build with vala 0.54
+    # https://github.com/elementary/wingpanel-indicator-sound/issues/219
+    vala_0_52
   ];
 
   buildInputs = [
@@ -61,8 +73,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Sound Indicator for Wingpanel";
     homepage = "https://github.com/elementary/wingpanel-indicator-sound";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 97c2d0c8845a..1ae9f9f4aaa5 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel";
-  version = "2.3.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-mXi600gufUK81Uks9p4+al0tCI7H9KpizZGyoomp42s=";
+    sha256 = "0ycys24y1rrz0ydpvs4mc89p4k986q1ziwbvziinxr1wsli9v1dj";
   };
 
   passthru = {
@@ -82,8 +82,8 @@ stdenv.mkDerivation rec {
       including the applications menu.
     '';
     homepage = "https://github.com/elementary/wingpanel";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
index 7f3a6dc0983e..0e6d14d2425a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "granite";
-  version = "6.1.0";
+  version = "6.1.1";
 
   outputs = [ "out" "dev" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "02hn4abnsn6fm2m33pjmlnkj8dljsm292z62vn8ccvy7l8f9my6l";
+    sha256 = "13c6xk014psvmll9qybdqviskllw4g150m2k4ikjbv59g0rfp7xq";
   };
 
   passthru = {
@@ -67,6 +67,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/granite";
     license = licenses.lgpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
index e15480c8cc88..666e17362ac2 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "contractor";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FHLecRxTE8v3M7cV6rkQKNhPhKFhuhvkzB5C+u7Z+Ms=";
+    sha256 = "1sqww7zlzl086pjww3d21ah1g78lfrc9aagrqhmsnnbji9gwb8ab";
   };
 
   passthru = {
@@ -54,6 +54,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/contractor";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index d9f224ce45d8..0b904a112177 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -11,6 +11,7 @@
 , gtk3
 , granite
 , libgee
+, libhandy
 , gcr
 , webkitgtk
 , wrapGAppsHook
@@ -18,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.2.5";
+  version = "2.3.0";
 
   repoName = "capnet-assist";
 
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-o6J3vNWvV0zRde8VWWfpb56PQhSck2sJQVLimq0P9CY=";
+    sha256 = "1gma8a04ndivx1fd3ha9f45r642qq2li80wrd6dsrp4v3vqix9bn";
   };
 
   passthru = {
@@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
     webkitgtk
   ];
 
@@ -66,8 +68,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A small WebKit app that assists a user with login when a captive portal is detected";
     homepage = "https://github.com/elementary/capnet-assist";
-    license = licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
deleted file mode 100644
index 65995c456599..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, pantheon
-, meson
-, ninja
-, desktop-file-utils
-, glib
-, coreutils
-, elementary-settings-daemon
-, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "elementary-dpms-helper";
-  version = "1.0";
-
-  repoName = "dpms-helper";
-
-  src = fetchFromGitHub {
-    owner = "elementary";
-    repo = repoName;
-    rev = version;
-    sha256 = "sha256-0KbfAxvZ+aFjq+XEK4uoRHSyKlaky0FlJd2a5TG4bms=";
-  };
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    meson
-    ninja
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    elementary-settings-daemon
-    glib
-  ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ glib.dev coreutils ]}")
-  '';
-
-  postFixup = ''
-    substituteInPlace $out/etc/xdg/autostart/io.elementary.dpms-helper.desktop \
-      --replace "Exec=io.elementary.dpms-helper" "Exec=$out/bin/io.elementary.dpms-helper"
-  '';
-
-  # See: https://github.com/elementary/dpms-helper/pull/10
-  postInstall = ''
-    ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
-  '';
-
-  meta = with lib; {
-    description = "Sets DPMS settings found in org.pantheon.dpms";
-    homepage = "https://github.com/elementary/dpms-helper";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
-  };
-}
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
index 73cace23cca9..15ae6840e454 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-notifications/default.nix
@@ -8,6 +8,7 @@
 , glib
 , granite
 , libgee
+, libhandy
 , libcanberra-gtk3
 , pantheon
 , python3
@@ -16,15 +17,15 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-notifications";
-  version = "unstable-2020-03-31";
+  version = "6.0.0";
 
   repoName = "notifications";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = repoName;
-    rev = "db552b0c3466ba1099c7737c353b7225ab1896cc";
-    sha256 = "1fhf4zx73qka935x5afv6zqsm2l37d1mjbhrbzzzz44dqwa2vp16";
+    rev = version;
+    sha256 = "0jfppafbc8jwhhnillylicz4zfds789d8b31ifsx0qijlxa7kji9";
   };
 
   nativeBuildInputs = [
@@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
     gtk3
     libcanberra-gtk3
     libgee
+    libhandy
   ];
 
   postPatch = ''
@@ -54,7 +56,7 @@ stdenv.mkDerivation rec {
     description = "GTK notification server for Pantheon";
     homepage = "https://github.com/elementary/notifications";
     license = licenses.gpl3Plus;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 568414aab35c..d1aaad42e2f3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -1,166 +1,67 @@
 { lib, stdenv
-, substituteAll
-, fetchurl
-, fetchgit
-, fetchpatch
+, fetchFromGitHub
 , meson
 , ninja
+, pantheon
 , pkg-config
-, gnome
-, perl
-, gettext
-, gtk3
-, glib
-, libnotify
-, libgnomekbd
-, lcms2
-, libpulseaudio
-, alsa-lib
-, libcanberra-gtk3
-, upower
-, colord
-, libgweather
-, polkit
-, gsettings-desktop-schemas
-, geoclue2
-, systemd
-, libgudev
-, libwacom
-, libxslt
-, libxml2
-, modemmanager
-, networkmanager
-, gnome-desktop
-, geocode-glib
-, docbook_xsl
+, python3
+, vala
 , accountsservice
+, dbus
+, desktop-file-utils
+, geoclue2
+, glib
+, gobject-introspection
+, gtk3
+, granite
+, libgee
 , wrapGAppsHook
-, python3
-, tzdata
-, nss
-, gcr
-, pantheon
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-settings-daemon";
-  version = "3.34.1";
+  version = "1.0.0";
 
-  repoName = "gnome-settings-daemon";
+  repoName = "settings-daemon";
 
-  src = fetchgit {
-    url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}";
-    rev = "refs/tags/ubuntu/${version}-1ubuntu2";
-    sha256 = "0w0dsbzif7v0gk61rs9g20ldlimbdwb5yvlfdc568yyx5z643jbv";
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = version;
+    sha256 = "1masvy1f9z2cp8w5ajnhy4k9bzvzgfziqlm59bf146pdd2567hiw";
   };
 
-  # We've omitted the 53_sync_input_sources_to_accountsservice patch because it breaks the build.
-  # See: https://gist.github.com/worldofpeace/2f152a20b7c47895bb93239fce1c9f52
-  #
-  # Also omit ubuntu_calculator_snap.patch as that's obviously not useful here.
-  patches = let patchPath = "${src}/debian/patches"; in [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit tzdata;
-    })
-    ./global-backlight-helper.patch
-    "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
-    #"${patchPath}/53_sync_input_sources_to_accountsservice.patch"
-    "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
-    "${patchPath}/correct_logout_action.patch"
-    "${patchPath}/ubuntu-lid-close-suspend.patch"
-    "${patchPath}/revert-gsettings-removals.patch"
-    "${patchPath}/revert-mediakeys-dbus-interface-drop.patch"
-    #"${patchPath}/ubuntu_ibus_configs.patch"
-    # https://github.com/elementary/os-patches/blob/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch
-    ./elementary-dpms.patch
-
-    # Query GWeather DB on the fly instead of caching.
-    # Needed for the next patch to apply.
-    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/175
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/df6c69f028d27b53ac86829e11df103b25ed5a74.patch";
-      sha256 = "bKZkPzN64DXMgitjn0vUzUvKl7ldhN/mNVtPKVmHd0Q=";
-    })
-    # Adjust to libgweather changes.
-    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
-      sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
-    })
-  ];
-
   nativeBuildInputs = [
+    desktop-file-utils
+    gobject-introspection
     meson
     ninja
     pkg-config
-    perl
-    gettext
-    libxml2
-    libxslt
-    docbook_xsl
-    wrapGAppsHook
     python3
+    vala
+    wrapGAppsHook
   ];
 
   buildInputs = [
     accountsservice
-    alsa-lib
-    colord
-    gcr
+    dbus
     geoclue2
-    geocode-glib
     glib
-    gnome-desktop
-    gsettings-desktop-schemas
     gtk3
-    lcms2
-    libcanberra-gtk3
-    libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
-    libgudev
-    libgweather
-    libnotify
-    libpulseaudio
-    libwacom
-    modemmanager
-    networkmanager
-    nss
-    polkit
-    systemd
-    upower
-  ];
-
-  mesonFlags = [
-    "-Dudev_dir=${placeholder "out"}/lib/udev"
+    granite
+    libgee
   ];
 
-    # Default for release buildtype but passed manually because
-    # we're using plain
-  NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
-
   postPatch = ''
-    for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
-      chmod +x $f
-      patchShebangs $f
-    done
-  '';
-
-  postFixup = ''
-    # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper
-    mkdir -p $out/bin/elementary-settings-daemon
-    ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
   '';
 
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = repoName;
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   meta = with lib; {
-    license = licenses.gpl2Plus;
-    maintainers = pantheon.maintainers;
+    description = "Settings daemon for Pantheon";
+    homepage = "https://github.com/elementary/settings-daemon";
+    license = licenses.gpl3Plus;
+    maintainers = teams.pantheon.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch
deleted file mode 100644
index 14d056ceca27..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
-index ec805d8a..cf0d6793 100644
---- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
-+++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
-@@ -11,6 +11,11 @@
-       <summary>Activation of this plugin</summary>
-       <description>Whether this plugin would be activated by unity-settings-daemon or not</description>
-     </key>
-+    <key name="manage-dpms-defaults" type="b">
-+      <default>false</default>
-+      <summary>Reset X DPMS values</summary>
-+      <description>Whether DPMS values will be adjusted by gnome-settings-daemon</description>
-+    </key>
-     <key name="idle-brightness" type="i">
-       <default>30</default>
-       <summary>The brightness of the screen when idle</summary>
-diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c
-index a7ca87fb..a56a7cdc 100644
---- a/plugins/power/gpm-common.c
-+++ b/plugins/power/gpm-common.c
-@@ -280,6 +280,18 @@ disable_builtin_screensaver (gpointer unused)
-         return TRUE;
- }
- 
-+gboolean
-+manage_dpms (void)
-+{
-+        GSettings *settings;
-+        gboolean manage_dpms_defaults;
-+
-+        settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
-+        manage_dpms_defaults = g_settings_get_boolean (settings, "manage-dpms-defaults");
-+        g_object_unref (settings);
-+        return manage_dpms_defaults;
-+}
-+
- guint
- gsd_power_enable_screensaver_watchdog (void)
- {
-@@ -290,7 +302,7 @@ gsd_power_enable_screensaver_watchdog (void)
-          * way. The defaults are now applied in Fedora 20 from
-          * being "0" by default to being "600" by default */
-         gdk_x11_display_error_trap_push (gdk_display_get_default ());
--        if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
-+        if (manage_dpms () && DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
-                 DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0);
-         gdk_x11_display_error_trap_pop_ignored (gdk_display_get_default ());
-         id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT,
-diff --git a/plugins/power/gpm-common.h b/plugins/power/gpm-common.h
-index 88a8e00e..af106479 100644
---- a/plugins/power/gpm-common.h
-+++ b/plugins/power/gpm-common.h
-@@ -34,6 +34,7 @@ gchar           *gpm_get_timestring                     (guint           time);
- gboolean         gsd_power_is_hardware_a_vm             (void);
- guint            gsd_power_enable_screensaver_watchdog  (void);
- void             reset_idletime                         (void);
-+gboolean         manage_dpms                            (void);
- 
- /* Backlight helpers */
- 
-diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
-index c500fa38..445496ee 100644
---- a/plugins/power/gsd-power-manager.c
-+++ b/plugins/power/gsd-power-manager.c
-@@ -1033,6 +1033,9 @@ backlight_enable (GsdPowerManager *manager)
-         gboolean ret;
-         GError *error = NULL;
- 
-+        if (!(manage_dpms ()))
-+                return;
-+
-         iio_proxy_claim_light (manager, TRUE);
-         ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
-                                              GNOME_RR_DPMS_ON,
-@@ -1052,6 +1055,9 @@ backlight_disable (GsdPowerManager *manager)
-         gboolean ret;
-         GError *error = NULL;
- 
-+        if (!(manage_dpms ()))
-+                return;
-+
-         iio_proxy_claim_light (manager, FALSE);
-         ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
-                                              GNOME_RR_DPMS_OFF,
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch
deleted file mode 100644
index dcdc83934ba6..000000000000
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
-index d7d10fd2..5619d6ad 100644
---- a/plugins/power/gsd-backlight.c
-+++ b/plugins/power/gsd-backlight.c
-@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task)
-                 proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE,
-                                          &error,
-                                          "pkexec",
--                                         LIBEXECDIR "/gsd-backlight-helper",
-+                                         "/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper",
-                                          g_udev_device_get_sysfs_path (backlight->udev_device),
-                                          data->value_str, NULL);
-         } else {
-diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
-index f16300f8..79d6bd17 100644
---- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
-+++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
-@@ -25,7 +25,7 @@
-       <allow_inactive>no</allow_inactive>
-       <allow_active>yes</allow_active>
-     </defaults>
--    <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/gsd-backlight-helper</annotate>
-+    <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper</annotate>
-   </action>
-
- </policyconfig>
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
index 70b62e2b9a07..e2053ebf6a31 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-geoclue2";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LrDu9NczSKN9YLo922MqYbcHG1QAwzXUb7W0Q/g9ftI=";
+    sha256 = "0hx3sky0vd2vshkscy3w5x3s18gd45cfqh510xhbmvc0sa32q9gd";
   };
 
   passthru = {
@@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/pantheon-agent-geoclue2";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index 61bbb6ef9a4b..4bef7fd5e08e 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-polkit";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YL1LHnPH7pP0EW9IkjdSEX+VuaAF9uNyFbl47vjVps0=";
+    sha256 = "1acqjjarl225yk0f68wkldsamcrzrj0ibpcxma04wq9w7jlmz60c";
   };
 
   passthru = {
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/elementary/pantheon-agent-polkit";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = pantheon.maintainers;
+    maintainers = teams.pantheon.members;
   };
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
index db200b4cd1ea..5e9e799e2e7e 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
+++ b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.22.4/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.22.5/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix b/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
index e6e49a591810..c650f4ef83df 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
@@ -40,6 +40,18 @@ mkDerivation {
     ./0002-xwayland.patch
     ./0003-plugins-qpa-allow-using-nixos-wrapper.patch
     ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+    # Fix build against libglvnd 1.3.4+
+    # Remove with release 5.22.90
+    (fetchpatch {
+      url = "https://invent.kde.org/plasma/kwin/-/commit/839710201c389b7f4ed248cb3818e755a37ce977.patch";
+      sha256 = "09rldhy0sbmqdfpyjzwm20cwnmrmj0w2751vyi5xlr414g0rzyc1";
+    })
+    # Fixup previous patch for i686
+    # Remove with release 5.22.90
+    (fetchpatch {
+      url = "https://invent.kde.org/plasma/kwin/-/commit/38e24ecd6416a975db0989c21b70d6a4cc242f35.patch";
+      sha256 = "0zsjmzswcnvfd2jm1c8i9aijpbap1141mjv6y4j282bplyqlp966";
+    })
   ];
   CXXFLAGS = [
     ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index d8ca0ddfdec3..1dc3d99b5e4c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
   extra-cmake-modules, kdoctools,
 
   boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio,
@@ -21,7 +21,8 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft xorgserver
-    libxkbfile phonon xf86inputevdev xf86inputsynaptics xinput xkeyboard_config
+    libxkbfile phonon xf86inputlibinput xf86inputevdev xf86inputsynaptics xinput
+    xkeyboard_config
 
     accounts-qt qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras
 
@@ -35,19 +36,15 @@ mkDerivation {
   patches = [
     ./hwclock-path.patch
     ./tzdir.patch
+    # https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/563
+    (fetchpatch {
+      url = "https://invent.kde.org/plasma/plasma-desktop/-/commit/8d9bf2032b8a2e5de75edf5713c42866f5b80649.patch";
+      sha256 = "sha256-2jqqFjBljbhf7I+fTsIvuFs3Ic662KTKRnbcSm5Jing=";
+    })
   ];
-  postPatch = ''
-    sed '1i#include <cmath>' -i kcms/touchpad/backends/x11/synapticstouchpad.cpp
-  '';
   CXXFLAGS = [
-    "-I${lib.getDev xorgserver}/include/xorg"
-    "-I${lib.getDev xf86inputsynaptics}/include/xorg"
     ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
   ];
-  cmakeFlags = [
-    "-DEvdev_INCLUDE_DIRS=${lib.getDev xf86inputevdev}/include/xorg"
-    "-DXORGLIBINPUT_INCLUDE_DIRS=${lib.getDev xf86inputlibinput}/include/xorg"
-  ];
   postInstall = ''
     # Display ~/Desktop contents on the desktop by default.
     sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
diff --git a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
index 0cd26b6a6cf3..c90bc704237d 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/bluedevil-5.22.4.tar.xz";
-      sha256 = "10bqk46ygnf72aqxxaxlx4khv1gwj46la1czsjmlszvkcqxrpwa0";
-      name = "bluedevil-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/bluedevil-5.22.5.tar.xz";
+      sha256 = "01fc5zk3qh3kx8z3dpikaaidi6vg21s75kmpd9w65rj5akg98452";
+      name = "bluedevil-5.22.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/breeze-5.22.4.tar.xz";
-      sha256 = "1b4zrwpaayd6mlwsnwg416ryba32zpg8w2dlh56qbmg6jxzjnybx";
-      name = "breeze-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/breeze-5.22.5.tar.xz";
+      sha256 = "09ll0bddsbbhz7ihqcn0wbd2llbjrblgk90gp556kpy09jh4rz73";
+      name = "breeze-5.22.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/breeze-grub-5.22.4.tar.xz";
-      sha256 = "19zlhq3k80id676sxlf8nhk0a11rkrwmbd256aggdwhz1fivxc1c";
-      name = "breeze-grub-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/breeze-grub-5.22.5.tar.xz";
+      sha256 = "1p08pmhkac3s5pccryy5s33594kr0v8z6j1hg94l419nzaqqya1v";
+      name = "breeze-grub-5.22.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/breeze-gtk-5.22.4.tar.xz";
-      sha256 = "1p47vsr2xj00p1r2jhyns2wzchjlhymzzyv2xqy9xd4l8pkv8scb";
-      name = "breeze-gtk-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/breeze-gtk-5.22.5.tar.xz";
+      sha256 = "0lifs97wad9cg5hp1vdd5ag9fkcbqj3h2bkg6x5jd4f41j0x2fy2";
+      name = "breeze-gtk-5.22.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/breeze-plymouth-5.22.4.tar.xz";
-      sha256 = "0b9sjn8lfhgyc2sz1r9rnknkas79526qmwi5j3wbxb0va2rcap9z";
-      name = "breeze-plymouth-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/breeze-plymouth-5.22.5.tar.xz";
+      sha256 = "1735ii7is873yz6rhcsrj81crvmdxj4a368k22rkj8nm374s44g1";
+      name = "breeze-plymouth-5.22.5.tar.xz";
     };
   };
   discover = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/discover-5.22.4.tar.xz";
-      sha256 = "0ij7b1fyv9rgiw6ywgxzj35c9bd3937w3njzqmkzi2l9zlnrzwvg";
-      name = "discover-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/discover-5.22.5.tar.xz";
+      sha256 = "1c22910ainm4819xzkri8j2x8lng0g6zgmh1k770jsgjyg49x069";
+      name = "discover-5.22.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/drkonqi-5.22.4.tar.xz";
-      sha256 = "1dy5v50icnlwa4pl5z30q5abv2sbznlrpgiy28hh1mf64hx6hl3w";
-      name = "drkonqi-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/drkonqi-5.22.5.tar.xz";
+      sha256 = "1f23p35wzsk0wx2kz0r7x616in6kizzdvl9j37v2a94hh8z3f7my";
+      name = "drkonqi-5.22.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kactivitymanagerd-5.22.4.tar.xz";
-      sha256 = "1km0mlqyrvflq45gwffrbwvkrqirb44qn1rp37iif4d82pmx11yv";
-      name = "kactivitymanagerd-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kactivitymanagerd-5.22.5.tar.xz";
+      sha256 = "069a862myj9b0303qc6j8iv3mdja8qhzx5ax52206pjrglvn9ar2";
+      name = "kactivitymanagerd-5.22.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kde-cli-tools-5.22.4.tar.xz";
-      sha256 = "1kh8pba9q61qjjpc945nvx42mm63vrj5bny4iv60jgcfxxwy7qj4";
-      name = "kde-cli-tools-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kde-cli-tools-5.22.5.tar.xz";
+      sha256 = "1jj5vywai9di05wzr81dzvrcsb5h6l300llw3ma49f0jl4z3gjwh";
+      name = "kde-cli-tools-5.22.5.tar.xz";
     };
   };
-  kdecoration = {
-    version = "5.22.4";
+  kde-gtk-config = {
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kdecoration-5.22.4.tar.xz";
-      sha256 = "0cc0lskm359lbg93bxny84cf1qnk0h53f64bxy3dvbyn5gmvzsch";
-      name = "kdecoration-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kde-gtk-config-5.22.5.tar.xz";
+      sha256 = "0v0yjy6diwby3y71kkipx8h0wxfc49nwr2r3g2j8cf9ybqnwmy6s";
+      name = "kde-gtk-config-5.22.5.tar.xz";
     };
   };
-  kde-gtk-config = {
-    version = "5.22.4";
+  kdecoration = {
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kde-gtk-config-5.22.4.tar.xz";
-      sha256 = "0d56brzpk5yi7cdyvpqg3jlk5n3l2dvk98npw34fd4i3gw357px8";
-      name = "kde-gtk-config-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kdecoration-5.22.5.tar.xz";
+      sha256 = "1vqv44ls79x2d71ldkkkzpk4mzpv110y270wf1gbkmxaxwp20xxm";
+      name = "kdecoration-5.22.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kdeplasma-addons-5.22.4.tar.xz";
-      sha256 = "1flf4mq0zcjh7fnv155hklliidfvflh20d1s84rj8q2ka7phcwk0";
-      name = "kdeplasma-addons-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kdeplasma-addons-5.22.5.tar.xz";
+      sha256 = "00ricjqxcafhji8b33zqynrlh56z3nr516v5jghp8cz2wclvnh32";
+      name = "kdeplasma-addons-5.22.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kgamma5-5.22.4.tar.xz";
-      sha256 = "0fgx9i031iqrp7w7v7px1vha079cjcdv9w5ah4k1m53g8abriddl";
-      name = "kgamma5-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kgamma5-5.22.5.tar.xz";
+      sha256 = "0m2h4wwkg3dnkvq31z8mvn4q1r7hwi1q2d7csy350ycrv9x7f402";
+      name = "kgamma5-5.22.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/khotkeys-5.22.4.tar.xz";
-      sha256 = "1lm1xrbrpym7nhvnzljdgr5nsas8z3i0hgda53j5k6svzk5r3qg8";
-      name = "khotkeys-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/khotkeys-5.22.5.tar.xz";
+      sha256 = "1l0p9q7bmljism188mzssryyd31b1x0alivnpsk0jhhjr9hwbqb4";
+      name = "khotkeys-5.22.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kinfocenter-5.22.4.tar.xz";
-      sha256 = "14vfz5j3fxhfb1fip00fgg9k6dc9ffjf0ss8ij1cx7bga14nmzvw";
-      name = "kinfocenter-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kinfocenter-5.22.5.tar.xz";
+      sha256 = "1pxr4pihy6asflpij5r4payxnbagzkli3qm5zh4zgap4bhq447lm";
+      name = "kinfocenter-5.22.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kmenuedit-5.22.4.tar.xz";
-      sha256 = "186j8ky5z3l0mmxx327xzahhsyf7wlds1rsmzzmlxficpg43n90b";
-      name = "kmenuedit-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kmenuedit-5.22.5.tar.xz";
+      sha256 = "1in8q0hd8wgcnwmx0cpv2w5l2w75xhv5j38mc5py322h9gkg1mqs";
+      name = "kmenuedit-5.22.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kscreen-5.22.4.tar.xz";
-      sha256 = "0hkn7ap55x4rzm6x3qdinjar9qhnb742zgzmvswy1kn3a8mxby17";
-      name = "kscreen-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kscreen-5.22.5.tar.xz";
+      sha256 = "0q0ykp10nwfzzxjrcra11k4b81di4r37jbhis4b9wn9j0pqv3ykb";
+      name = "kscreen-5.22.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kscreenlocker-5.22.4.tar.xz";
-      sha256 = "0i7c6a378h7366h7nl5051mwrx7cadzfaryfnhpskhlgy3l7119j";
-      name = "kscreenlocker-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kscreenlocker-5.22.5.tar.xz";
+      sha256 = "107icbr0cdcpbzi5npgx3fw2m2wp1z91k1iw26n595dp3n2czv98";
+      name = "kscreenlocker-5.22.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/ksshaskpass-5.22.4.tar.xz";
-      sha256 = "01f2rz1xqb1jy83427f7rmsb3a7ivkgf2qmm04kwjv29zplg796f";
-      name = "ksshaskpass-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/ksshaskpass-5.22.5.tar.xz";
+      sha256 = "0ig2cx80ba57k9mq7bcnmriymjln7kvr81mgm5rsdi4asal2zpgp";
+      name = "ksshaskpass-5.22.5.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/ksystemstats-5.22.4.tar.xz";
-      sha256 = "1daz3890v7qbkcsb9m535mfnijdq3rbasxwqs0ixhn2m400yivvg";
-      name = "ksystemstats-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/ksystemstats-5.22.5.tar.xz";
+      sha256 = "1cb5hbwnj6j9ziin6bflcz9b8jyvjqbqqhqbzvgs8dyji2xz0gb8";
+      name = "ksystemstats-5.22.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kwallet-pam-5.22.4.tar.xz";
-      sha256 = "1ljrrgjvkvs3fsiijgaxj82hzp1fhsiy39r4amwp21v411c80jwq";
-      name = "kwallet-pam-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kwallet-pam-5.22.5.tar.xz";
+      sha256 = "03rj2kgda1as547jjvvigkb4pblh1w9jv8hsrjrs5vwfir0ag8nq";
+      name = "kwallet-pam-5.22.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kwayland-integration-5.22.4.tar.xz";
-      sha256 = "17nl033vl8i9a92bjbgwwwrkf03lg4726lwdbj3y8xajdp8ql1nb";
-      name = "kwayland-integration-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kwayland-integration-5.22.5.tar.xz";
+      sha256 = "0kgv6klb32y7ckflsi5xbs8ajn7zg461621fqhmgn1x54w931g2c";
+      name = "kwayland-integration-5.22.5.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kwayland-server-5.22.4.tar.xz";
-      sha256 = "0z3ni5ar2bwpc75ssb3qmkbff85a489sxr7vzqhxa40n48bp85ns";
-      name = "kwayland-server-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kwayland-server-5.22.5.tar.xz";
+      sha256 = "17gkbcam9dpqbw618rvb5ia8inp0yvpyr3bxd0fn4fdj57bbsr6x";
+      name = "kwayland-server-5.22.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kwin-5.22.4.tar.xz";
-      sha256 = "1x5338aib7kn1lgpb06b8s06bfj2ybfgyr6k0q91zlc53x61qamh";
-      name = "kwin-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kwin-5.22.5.tar.xz";
+      sha256 = "18zmzhmjr6q5vsfd7lr0ym5ga7l2x8xcxqizmpfnb7hv3kaax38j";
+      name = "kwin-5.22.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/kwrited-5.22.4.tar.xz";
-      sha256 = "1rbkbqf5v8wqd2aldpg396ki8a9fsw82jmzmdhsirq33r5yznn4i";
-      name = "kwrited-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/kwrited-5.22.5.tar.xz";
+      sha256 = "02cffj88hqs5rfvrkkmk9z23qsdnqhavm98hksx1v5ajjh4rbgb3";
+      name = "kwrited-5.22.5.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/layer-shell-qt-5.22.4.tar.xz";
-      sha256 = "11iqk4bla0y0w2frmvzxi4a3jxj3cj2m8y473z3nfb0z8i5yca0m";
-      name = "layer-shell-qt-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/layer-shell-qt-5.22.5.tar.xz";
+      sha256 = "0i9gsckqk9608drxvym6ghcwxqilcf6ilcxq48sbrnpswid71k7z";
+      name = "layer-shell-qt-5.22.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/libkscreen-5.22.4.tar.xz";
-      sha256 = "0z2mzha22f2yl7l0ijy4pqpab6n1ivib3grnd583znff02wvj4d2";
-      name = "libkscreen-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/libkscreen-5.22.5.tar.xz";
+      sha256 = "1qqnra28r698kbps6ywk22ncac4sm3f9d9wrwmicp963mkmwlksv";
+      name = "libkscreen-5.22.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/libksysguard-5.22.4.tar.xz";
-      sha256 = "14h66gs7z6gf7wrpdhpd1461431q2plv7kvfsh02fj52l1dzpcc0";
-      name = "libksysguard-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/libksysguard-5.22.5.tar.xz";
+      sha256 = "1hkjsjfl4hsxbk998hpq4f38rahqfx6nmznbh0dqrymadfbsn8m5";
+      name = "libksysguard-5.22.5.tar.xz";
     };
   };
   milou = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/milou-5.22.4.tar.xz";
-      sha256 = "11fa9bj3yzriaydfk8q9kc626yv0s0sal5ws13pcd6ksbhslz83s";
-      name = "milou-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/milou-5.22.5.tar.xz";
+      sha256 = "1d1zg1fbhl6cbxfhgrp9njvpcn052psn96cfyw314255v532phpp";
+      name = "milou-5.22.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/oxygen-5.22.4.tar.xz";
-      sha256 = "1p5hklryi02xw0byy5zcaxx5zw81vd6vq3s1h8dyhj07vspimpzw";
-      name = "oxygen-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/oxygen-5.22.5.tar.xz";
+      sha256 = "0fy4dr8kjyh96w482qbf47vkbnb2qqwwp8d0jlf0xc20w6fb4fqc";
+      name = "oxygen-5.22.5.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-browser-integration-5.22.4.tar.xz";
-      sha256 = "023qbp77ga0jblhhx3437v9jjxx5va7q58abmnpv2nls1xwyq8hb";
-      name = "plasma-browser-integration-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-browser-integration-5.22.5.tar.xz";
+      sha256 = "1zkz4qd9nk2kw8zx0mj0p5q4yclmfgz5ihfmgqb2iw4j0d2ckw8f";
+      name = "plasma-browser-integration-5.22.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-desktop-5.22.4.tar.xz";
-      sha256 = "0c225lckhsmhig7xsnv5yfajys3w67g6xj4w1hvz1x3hqs79z3kj";
-      name = "plasma-desktop-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-desktop-5.22.5.tar.xz";
+      sha256 = "1kmcmpfjgmiazalczjchyrvgy365s1gqdnyv3xav4g4irb62llxl";
+      name = "plasma-desktop-5.22.5.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-disks-5.22.4.tar.xz";
-      sha256 = "02brm36akqfhjz9fzyzfinjnb954glrrlwpyhiq1sx073v2ibyap";
-      name = "plasma-disks-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-disks-5.22.5.tar.xz";
+      sha256 = "14ml1vxdp6brms8yqg5x96bad2r9n81cki91fsq6qk0aq098dqbh";
+      name = "plasma-disks-5.22.5.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-firewall-5.22.4.tar.xz";
-      sha256 = "1c1mzpd45hd4sb6qsylqgq2x4fay1nskkgmcc1vswmnapcm9gp91";
-      name = "plasma-firewall-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-firewall-5.22.5.tar.xz";
+      sha256 = "19ii5ha3m9jmfrdg59z9nfx8frmp4f2gc3a7c0krsnajhyrm0npg";
+      name = "plasma-firewall-5.22.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-integration-5.22.4.tar.xz";
-      sha256 = "0rslli0jsyyhm6prac3xgilwf58gjxqhsijgvr25sipg6200r2z0";
-      name = "plasma-integration-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-integration-5.22.5.tar.xz";
+      sha256 = "0w7jnsyz876k6kzppd6lx0i58ywbfhaycsnq3nn2s10im7ql7ir8";
+      name = "plasma-integration-5.22.5.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-nano-5.22.4.tar.xz";
-      sha256 = "1ag57nphgkj3f17s42d81npk0z2n27623szbiz1hpgp7f6994l90";
-      name = "plasma-nano-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-nano-5.22.5.tar.xz";
+      sha256 = "0i8r8mxf00c0rfnybxy2nzl2hn2r7vqfzwlbmkykd6b1z333xfjh";
+      name = "plasma-nano-5.22.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-nm-5.22.4.tar.xz";
-      sha256 = "1cvfawsqzk3yzjwnz6gc6l7p3pz9brbh0n6km23i1bis08rks168";
-      name = "plasma-nm-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-nm-5.22.5.tar.xz";
+      sha256 = "0jgwp41l4h16qyif2bwnsdfd190ykpddv7gi3zrcmc57fnhrzavz";
+      name = "plasma-nm-5.22.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-pa-5.22.4.tar.xz";
-      sha256 = "1p000y08p89wvv73glv9ic0gdbdhc9fpzvphx72y420g5hhmnnwa";
-      name = "plasma-pa-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-pa-5.22.5.tar.xz";
+      sha256 = "1axm564si8g9j9f9ndvq39x7s6awiwiiyqnvs1wf76miyyjfdba0";
+      name = "plasma-pa-5.22.5.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-phone-components-5.22.4.tar.xz";
-      sha256 = "0mkr7amxvr325y7f98y1368iv4gs6j2x6bkpi20rp8c2vifkvg5b";
-      name = "plasma-phone-components-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-phone-components-5.22.5.tar.xz";
+      sha256 = "1m2swgkydjrpxsnj87fs8zkyavba6zrfrzvimbhxf15c3199yrj0";
+      name = "plasma-phone-components-5.22.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-sdk-5.22.4.tar.xz";
-      sha256 = "0nrh3zbff25wr59hbsvrygjix56as8rd95smr5075qwdyamcqnhf";
-      name = "plasma-sdk-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-sdk-5.22.5.tar.xz";
+      sha256 = "0gvmvdlqjm2kvkb7bw3bhryql4d9mp0max89l9y25kzqadd6byad";
+      name = "plasma-sdk-5.22.5.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-systemmonitor-5.22.4.tar.xz";
-      sha256 = "1gl6kjk6b8xwcfrk6xf41jf1lh3zxr5b6qvdv7z6i8wb3pll63cb";
-      name = "plasma-systemmonitor-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-systemmonitor-5.22.5.tar.xz";
+      sha256 = "18s72vdcx4jrjs1hfr7mq8zjng2pmba2x23k11jdk8hxl7msm7nx";
+      name = "plasma-systemmonitor-5.22.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-tests-5.22.4.tar.xz";
-      sha256 = "1wf33c0izm9yyjcysiimcpiwmsa64b4ypklga2rbg7kkk7q0nq82";
-      name = "plasma-tests-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-tests-5.22.5.tar.xz";
+      sha256 = "1wmwm9mmdy98qrmr0r8h99j0cpmib2vyv66jk99wf43bwddy2hxi";
+      name = "plasma-tests-5.22.5.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-thunderbolt-5.22.4.tar.xz";
-      sha256 = "1c5ihvam5hfk7xiy3m707jjhpv2rxgl7d2f6m0d764zynm6zax79";
-      name = "plasma-thunderbolt-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-thunderbolt-5.22.5.tar.xz";
+      sha256 = "13rjn21sdga5yx9983zx26jdb260lg5815ilfjnkdfp7g6ckjlmc";
+      name = "plasma-thunderbolt-5.22.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-vault-5.22.4.tar.xz";
-      sha256 = "1p6bl8as8rx36nzwx2rymqmx4rg7dg0bfrxr0flx9jqp1adclf39";
-      name = "plasma-vault-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-vault-5.22.5.tar.xz";
+      sha256 = "1ap9kp9agnqljlszzkd14sivpfz9ihjlhq67lhg2sg570s8ng4a0";
+      name = "plasma-vault-5.22.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-workspace-5.22.4.tar.xz";
-      sha256 = "1fi0c66f2cgqcbshbaxzch75r28l5w4l3flggccil5c73lavf5mg";
-      name = "plasma-workspace-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-workspace-5.22.5.tar.xz";
+      sha256 = "01inn7jawqn5brcmbglqs3szfzkq637qzf39kya8siq3lgg14bpj";
+      name = "plasma-workspace-5.22.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plasma-workspace-wallpapers-5.22.4.tar.xz";
-      sha256 = "0abz3qic8m7dcbd0m1ci8qspfds3fdsqhgv8m6ks2jkcm7z4vnnr";
-      name = "plasma-workspace-wallpapers-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plasma-workspace-wallpapers-5.22.5.tar.xz";
+      sha256 = "1h582vqw14zyngfyjppg6lgs17d1nmc7gcr8kw1zzbc0ynbl68dy";
+      name = "plasma-workspace-wallpapers-5.22.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/plymouth-kcm-5.22.4.tar.xz";
-      sha256 = "0vh39lidm0dqah14y7nkzqpanlkxpmylf7wc40giavady3d2i1y1";
-      name = "plymouth-kcm-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/plymouth-kcm-5.22.5.tar.xz";
+      sha256 = "1rn8c0z6ycagmxm72gs9cm6pwv1fy8zg5881brglpxy8x63prb9g";
+      name = "plymouth-kcm-5.22.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.22.4";
+    version = "1-5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/polkit-kde-agent-1-5.22.4.tar.xz";
-      sha256 = "0pxrrn4qs96a5p9cp890vdq2g79ah72p655643ciqdb14936p0z2";
-      name = "polkit-kde-agent-1-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/polkit-kde-agent-1-5.22.5.tar.xz";
+      sha256 = "1a1b4baszlx01x4n66wikgw8z7wwnycz5rqzjr8r6q1b9dafmqv0";
+      name = "polkit-kde-agent-1-5.22.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/powerdevil-5.22.4.tar.xz";
-      sha256 = "17427sv6yh16hmgl94lyb4d7gds0r4hvx8vbbqhzysih2x81xl6m";
-      name = "powerdevil-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/powerdevil-5.22.5.tar.xz";
+      sha256 = "17qw7w9h60illpzd1zlymdipx0mpwfhn12d9k0f165qcabk02wsr";
+      name = "powerdevil-5.22.5.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/qqc2-breeze-style-5.22.4.tar.xz";
-      sha256 = "15h9rjc4ry3kw18aw18r8y8av4cn2wckab8gyyi7zx7s54n6zpvc";
-      name = "qqc2-breeze-style-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/qqc2-breeze-style-5.22.5.tar.xz";
+      sha256 = "0qi8b11f45lnyy09w3b65h0s7qj7d40b7ppwy8mapr92m0zqrkpf";
+      name = "qqc2-breeze-style-5.22.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/sddm-kcm-5.22.4.tar.xz";
-      sha256 = "08j0qd288a5msagpyaqwrw0w6wymxsgqq3rlk8kv3n6qvrsm7174";
-      name = "sddm-kcm-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/sddm-kcm-5.22.5.tar.xz";
+      sha256 = "163p426bd9zfval5zz2hmq3na0px3pz016shzzgna3rqwh7s8sa6";
+      name = "sddm-kcm-5.22.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/systemsettings-5.22.4.tar.xz";
-      sha256 = "1ap2h1sa6hdakhf6lzy4bhaq5pxc8g7p32iz04894hd7dbb2iv8h";
-      name = "systemsettings-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/systemsettings-5.22.5.tar.xz";
+      sha256 = "1fvmp6nhmn71hxrf0nfg9m8ifp36kvk5k550hiazgz63l7x7hyfc";
+      name = "systemsettings-5.22.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.22.4";
+    version = "5.22.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.4/xdg-desktop-portal-kde-5.22.4.tar.xz";
-      sha256 = "1xmlw66bw60cl530hjjab8g4krv6di4wpimjaz0a9mv3dnq9xz7m";
-      name = "xdg-desktop-portal-kde-5.22.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.5/xdg-desktop-portal-kde-5.22.5.tar.xz";
+      sha256 = "00d6dh9jh15y0ndcrm86wzhmpv81s9pm0x0pbiywdia606yp27c6";
+      name = "xdg-desktop-portal-kde-5.22.5.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
index 7efc64e942de..42c0f1ef674c 100644
--- a/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
@@ -21,9 +21,9 @@
 let unwrapped = mkXfceDerivation {
   category = "xfce";
   pname = "thunar";
-  version = "4.16.8";
+  version = "4.16.9";
 
-  sha256 = "sha256-KFx01vbVeGR+0U3DkUVRhO7pTv3R2h7qSe5VQE2b+OQ=";
+  sha256 = "sha256-TpazNC4TwNhcEGQ4AQICxbmfZ1i4RE9vXkM9Zln80vE=";
 
   nativeBuildInputs = [
     docbook_xsl