summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-11-21 16:12:21 +0100
committerAlyssa Ross <hi@alyssa.is>2023-11-21 16:12:48 +0100
commit048a4cd441a59cbf89defb18bb45c9f0b4429b35 (patch)
treef8f5850ff05521ab82d65745894714a8796cbfb6 /pkgs/desktops
parent030c5028b07afcedce7c5956015c629486cc79d9 (diff)
parent4c2d05dd6435d449a3651a6dd314d9411b5f8146 (diff)
downloadnixpkgs-rootfs.tar
nixpkgs-rootfs.tar.gz
nixpkgs-rootfs.tar.bz2
nixpkgs-rootfs.tar.lz
nixpkgs-rootfs.tar.xz
nixpkgs-rootfs.tar.zst
nixpkgs-rootfs.zip
Rebase onto e4ad989506ec7d71f7302cc3067abd82730a4beb HEAD rootfs
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/arcan/arcan/000-openal.patch15
-rw-r--r--pkgs/desktops/arcan/arcan/001-luajit.patch17
-rw-r--r--pkgs/desktops/arcan/arcan/002-libuvc.patch15
-rw-r--r--pkgs/desktops/arcan/arcan/clone-sources.nix25
-rw-r--r--pkgs/desktops/arcan/arcan/default.nix144
-rw-r--r--pkgs/desktops/arcan/cat9/default.nix6
-rw-r--r--pkgs/desktops/arcan/durden/default.nix6
-rw-r--r--pkgs/desktops/arcan/pipeworld/default.nix6
-rw-r--r--pkgs/desktops/budgie/budgie-desktop-view/default.nix24
-rw-r--r--pkgs/desktops/budgie/budgie-desktop/default.nix20
-rw-r--r--pkgs/desktops/budgie/budgie-desktop/plugins.patch48
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix1
-rw-r--r--pkgs/desktops/cinnamon/mint-artwork/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--pkgs/desktops/deepin/apps/deepin-compressor/default.nix4
-rw-r--r--pkgs/desktops/deepin/apps/deepin-terminal/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-package/dde-daemon/0006-fix-build-with-ddcutil-2.patch17
-rw-r--r--pkgs/desktops/deepin/go-package/dde-daemon/default.nix1
-rw-r--r--pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix7
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix7
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-tour/default.nix12
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/zenity/default.nix1
-rw-r--r--pkgs/desktops/gnome/default.nix6
-rw-r--r--pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensionRenames.nix1
-rw-r--r--pkgs/desktops/gnome/extensions/manuallyPackaged.nix1
-rw-r--r--pkgs/desktops/gnome/extensions/paperwm/default.nix42
-rw-r--r--pkgs/desktops/gnome/misc/gnome-flashback/default.nix96
-rw-r--r--pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix66
-rw-r--r--pkgs/desktops/gnome/misc/pomodoro/default.nix4
-rw-r--r--pkgs/desktops/gnustep/back/default.nix4
-rw-r--r--pkgs/desktops/gnustep/base/default.nix4
-rw-r--r--pkgs/desktops/gnustep/make/builder.sh2
-rw-r--r--pkgs/desktops/gnustep/make/default.nix4
-rw-r--r--pkgs/desktops/lomiri/data/lomiri-schemas/default.nix58
-rw-r--r--pkgs/desktops/lomiri/default.nix3
-rw-r--r--pkgs/desktops/lomiri/development/deviceinfo/default.nix4
-rw-r--r--pkgs/desktops/lxqt/compton-conf/default.nix4
-rw-r--r--pkgs/desktops/lxqt/default.nix7
-rw-r--r--pkgs/desktops/lxqt/libfm-qt/default.nix8
-rw-r--r--pkgs/desktops/lxqt/liblxqt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/libqtxdg/default.nix4
-rw-r--r--pkgs/desktops/lxqt/libsysstat/default.nix2
-rw-r--r--pkgs/desktops/lxqt/lximage-qt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-about/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-admin/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-archiver/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/default.nix2
-rw-r--r--pkgs/desktops/lxqt/lxqt-config/default.nix9
-rw-r--r--pkgs/desktops/lxqt/lxqt-globalkeys/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-menu-data/default.nix36
-rw-r--r--pkgs/desktops/lxqt/lxqt-notificationd/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix7
-rw-r--r--pkgs/desktops/lxqt/lxqt-panel/default.nix10
-rw-r--r--pkgs/desktops/lxqt/lxqt-policykit/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-powermanagement/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-qtplugin/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-runner/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-session/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-sudo/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-themes/default.nix2
-rw-r--r--pkgs/desktops/lxqt/obconf-qt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/pavucontrol-qt/default.nix14
-rw-r--r--pkgs/desktops/lxqt/pcmanfm-qt/default.nix14
-rw-r--r--pkgs/desktops/lxqt/qlipper/default.nix4
-rw-r--r--pkgs/desktops/lxqt/qps/default.nix6
-rw-r--r--pkgs/desktops/lxqt/qterminal/default.nix8
-rw-r--r--pkgs/desktops/lxqt/qtermwidget/default.nix6
-rw-r--r--pkgs/desktops/lxqt/qtxdg-tools/default.nix4
-rw-r--r--pkgs/desktops/lxqt/screengrab/default.nix6
-rw-r--r--pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix4
-rw-r--r--pkgs/desktops/mate/caja/default.nix4
-rw-r--r--pkgs/desktops/mate/libmateweather/default.nix12
-rw-r--r--pkgs/desktops/mate/mate-indicator-applet/default.nix12
-rw-r--r--pkgs/desktops/mate/mate-system-monitor/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-tweak/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-files/default.nix16
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix6
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix14
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix10
-rw-r--r--pkgs/desktops/pantheon/desktop/gala/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix14
-rw-r--r--pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/discover.nix2
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix472
-rw-r--r--pkgs/desktops/plasma-5/systemsettings.nix2
-rw-r--r--pkgs/desktops/xfce/applications/catfish/default.nix8
-rw-r--r--pkgs/desktops/xfce/applications/gigolo/default.nix4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix11
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix8
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix9
-rw-r--r--pkgs/desktops/xfce/core/thunar/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix10
-rw-r--r--pkgs/desktops/xfce/core/xfconf/default.nix11
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix31
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix4
107 files changed, 873 insertions, 775 deletions
diff --git a/pkgs/desktops/arcan/arcan/000-openal.patch b/pkgs/desktops/arcan/arcan/000-openal.patch
deleted file mode 100644
index f8e02a4cb0c..00000000000
--- a/pkgs/desktops/arcan/arcan/000-openal.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur source-old/src/CMakeLists.txt source-new/src/CMakeLists.txt
---- source-old/src/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
-+++ source-new/src/CMakeLists.txt	2021-10-29 12:03:06.461399341 -0300
-@@ -362,10 +360,8 @@
- 	if (EXISTS ${EXTERNAL_SRC_DIR}/git/openal AND STATIC_OPENAL)
- 		amsg("${CL_YEL}Building OpenAL static from external/git mirror${CL_RST}")
- 		ExternalProject_Add(OpenAL
--			SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/openal
-+			SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/openal"
- 			BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/openal_static
--			UPDATE_COMMAND ""
--			GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/openal"
- 			${EXTERNAL_DEFS}
- 			${CMAKE_EXTERNAL_DEFS}
- 			-DALSOFT_BACKEND_DSOUND=OFF
diff --git a/pkgs/desktops/arcan/arcan/001-luajit.patch b/pkgs/desktops/arcan/arcan/001-luajit.patch
deleted file mode 100644
index eff3c0a5aad..00000000000
--- a/pkgs/desktops/arcan/arcan/001-luajit.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur source-old/src/CMakeLists.txt source-new/src/CMakeLists.txt
---- source-old/src/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
-+++ source-new/src/CMakeLists.txt	2021-10-29 12:03:06.461399341 -0300
-@@ -419,12 +415,7 @@
- 		set(LUA_TAG "luajit51")
- 		if (EXISTS ${EXTERNAL_SRC_DIR}/git/luajit)
- 			ExternalProject_Add(luajit
--				SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/luajit
--				GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/luajit"
--				CONFIGURE_COMMAND ""
--				GIT_TAG "v2.1.0-beta3"
--				UPDATE_COMMAND ""
--				INSTALL_COMMAND ""
-+				SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/luajit"
- 				BUILD_IN_SOURCE 1
- 				BUILD_COMMAND "${EXTMAKE_CMD}"
- 				DEFAULT_CC=${CMAKE_C_COMPILER}
diff --git a/pkgs/desktops/arcan/arcan/002-libuvc.patch b/pkgs/desktops/arcan/arcan/002-libuvc.patch
deleted file mode 100644
index 48d25fe8271..00000000000
--- a/pkgs/desktops/arcan/arcan/002-libuvc.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur source-old/src/frameserver/decode/default/CMakeLists.txt source-new/src/frameserver/decode/default/CMakeLists.txt
---- source-old/src/frameserver/decode/default/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
-+++ source-new/src/frameserver/decode/default/CMakeLists.txt	2021-10-29 12:01:31.989933725 -0300
-@@ -62,10 +62,8 @@
- 		if (STATIC_LIBUVC)
- 			pkg_check_modules(LIBUSB_1 REQUIRED libusb-1.0)
- 			ExternalProject_Add(libuvc
--				SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/frameserver/decode/libuvc"
-+				SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/libuvc"
- 				BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libuvc_static"
--				UPDATE_COMMAND ""
--				GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/libuvc"
- 				${EXTERNAL_DEFS}
- 				${CMAKE_EXTERNAL_DEFS}
- 				-DBUILD_UVC_STATIC=ON
diff --git a/pkgs/desktops/arcan/arcan/clone-sources.nix b/pkgs/desktops/arcan/arcan/clone-sources.nix
deleted file mode 100644
index bd39c0843a8..00000000000
--- a/pkgs/desktops/arcan/arcan/clone-sources.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ fetchgit, fetchFromGitHub }:
-{
-  letoram-openal-src = fetchFromGitHub {
-    owner = "letoram";
-    repo = "openal";
-    rev = "81e1b364339b6aa2b183f39fc16c55eb5857e97a";
-    sha256 = "sha256-X3C3TDZPiOhdZdpApC4h4KeBiWFMxkFsmE3gQ1Rz420=";
-  };
-  freetype-src = fetchgit {
-    url = "git://git.sv.nongnu.org/freetype/freetype2.git";
-    rev = "275b116b40c9d183d42242099ea9ff276985855b";
-    sha256 = "sha256-YVyJttaXt19MSuD0pmazwxNKz65jcqqWvIgmDj4d3MA=";
-  };
-  libuvc-src = fetchFromGitHub {
-    owner = "libuvc";
-    repo = "libuvc";
-    rev = "a4de53e7e265f8c6a64df7ccd289f318104e1916";
-    hash = "sha256-a+Q0PTV4ujGnX55u49VJfMgQljZunZYRvkR0tIkGnHI=";
-  };
-  luajit-src = fetchgit {
-    url = "https://luajit.org/git/luajit-2.0.git";
-    rev = "899093a9e0fa5b16f27016381ef4b15529dadff2";
-    sha256 = "sha256-bCi1ms78HCOOgStIY2tSGM9LUEX3qnwadLLeYWWu1KI=";
-  };
-}
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/desktops/arcan/arcan/default.nix
index 22c214728f2..1a46c693b02 100644
--- a/pkgs/desktops/arcan/arcan/default.nix
+++ b/pkgs/desktops/arcan/arcan/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchgit
 , SDL2
 , cmake
 , espeak
@@ -21,21 +20,21 @@
 , libXfixes
 , libdrm
 , libffi
+, libjpeg
 , libusb1
 , libuvc
 , libvlc
 , libvncserver
 , libxcb
 , libxkbcommon
-, lua5_1
-, luajit
 , makeWrapper
 , mesa
 , mupdf
 , openal
 , openjpeg
-, pcre
+, pcre2
 , pkg-config
+, ruby
 , sqlite
 , tesseract
 , valgrind
@@ -44,28 +43,54 @@
 , xcbutil
 , xcbutilwm
 , xz
-, buildManPages ? true, ruby
+, buildManPages ? true
 , useBuiltinLua ? true
-, useStaticFreetype ? false
-, useStaticLibuvc ? false
+, useEspeak ? !stdenv.isDarwin
+, useStaticLibuvc ? true
 , useStaticOpenAL ? true
-, useStaticSqlite ? false
+, useStaticSqlite ? true
+, useTracy ? true
 }:
 
 let
-  cmakeFeatureFlag = feature: flag:
-    "-D${feature}=${if flag then "on" else "off"}";
+  allSources = {
+    letoram-arcan-src = fetchFromGitHub {
+      owner = "letoram";
+      repo = "arcan";
+      rev = "85c8564bdbee8468a5716bea64daf1d78937ffbf";
+      hash = "sha256-etmj1vpZTjxbmr4UiLBEK57WFJ1NeEnY5WfBYajX3ls=";
+    };
+    letoram-openal-src = fetchFromGitHub {
+      owner = "letoram";
+      repo = "openal";
+      rev = "81e1b364339b6aa2b183f39fc16c55eb5857e97a";
+      hash = "sha256-X3C3TDZPiOhdZdpApC4h4KeBiWFMxkFsmE3gQ1Rz420=";
+    };
+    libuvc-src = fetchFromGitHub {
+      owner = "libuvc";
+      repo = "libuvc";
+      rev = "68d07a00e11d1944e27b7295ee69673239c00b4b";
+      hash = "sha256-IdV18mnPTDBODpS1BXl4ulkFyf1PU2ZmuVGNOIdQwzE=";
+    };
+    luajit-src = fetchFromGitHub {
+      owner = "LuaJIT";
+      repo = "LuaJIT";
+      rev = "656ecbcf8f669feb94e0d0ec4b4f59190bcd2e48";
+      hash = "sha256-/gGQzHgYuWGqGjgpEl18Rbh3Sx2VP+zLlx4N9/hbYLc=";
+    };
+    tracy-src = fetchFromGitHub {
+      owner = "wolfpld";
+      repo = "tracy";
+      rev = "93537dff336e0796b01262e8271e4d63bf39f195";
+      hash = "sha256-FNB2zTbwk8hMNmhofz9GMts7dvH9phBRVIdgVjRcyQM=";
+    };
+  };
 in
 stdenv.mkDerivation (finalAttrs: {
-  pname = "arcan" + lib.optionalString useStaticOpenAL "-static-openal";
-  version = "0.6.2.1";
+  pname = "arcan";
+  version = "0.6.2.1-unstable-2023-10-14";
 
-  src = fetchFromGitHub {
-    owner = "letoram";
-    repo = "arcan";
-    rev = finalAttrs.version;
-    hash = "sha256-7H3fVSsW5VANLqwhykY+Q53fPjz65utaGksh/OpZnJM=";
-  };
+  src = allSources.letoram-arcan-src;
 
   nativeBuildInputs = [
     cmake
@@ -77,7 +102,6 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     SDL2
-    espeak
     ffmpeg
     file
     freetype
@@ -94,19 +118,18 @@ stdenv.mkDerivation (finalAttrs: {
     libXfixes
     libdrm
     libffi
+    libjpeg
     libusb1
     libuvc
     libvlc
     libvncserver
     libxcb
     libxkbcommon
-    lua5_1
-    luajit
     mesa
-    mupdf.dev
+    mupdf
     openal
-    openjpeg.dev
-    pcre
+    openjpeg
+    pcre2
     sqlite
     tesseract
     valgrind
@@ -115,40 +138,29 @@ stdenv.mkDerivation (finalAttrs: {
     xcbutil
     xcbutilwm
     xz
-  ];
-
-  patches = [
-    # Nixpkgs-specific: redirect vendoring
-    ./000-openal.patch
-    ./001-luajit.patch
-    ./002-libuvc.patch
+  ]
+  ++ lib.optionals useEspeak [
+    espeak
   ];
 
   # Emulate external/git/clone.sh
   postUnpack = let
-    inherit (import ./clone-sources.nix { inherit fetchFromGitHub fetchgit; })
-      letoram-openal-src freetype-src libuvc-src luajit-src;
+    inherit (allSources)
+      letoram-openal-src libuvc-src luajit-src tracy-src;
+    prepareSource = flag: source: destination:
+      lib.optionalString flag ''
+        cp -va ${source}/ ${destination}
+        chmod --recursive 744 ${destination}
+      '';
   in
     ''
       pushd $sourceRoot/external/git/
     ''
-    + (lib.optionalString useStaticOpenAL ''
-      cp -a ${letoram-openal-src}/ openal
-      chmod --recursive 744 openal
-    '')
-    + (lib.optionalString useStaticFreetype ''
-      cp -a ${freetype-src}/ freetype
-      chmod --recursive 744 freetype
-    '')
-    + (lib.optionalString useStaticLibuvc ''
-      cp -a ${libuvc-src}/ libuvc
-      chmod --recursive 744 libuvc
-    '')
-    + (lib.optionalString useBuiltinLua ''
-      cp -a ${luajit-src}/ luajit
-      chmod --recursive 744 luajit
-    '') +
-    ''
+    + prepareSource useStaticOpenAL letoram-openal-src "openal"
+    + prepareSource useStaticLibuvc libuvc-src "libuvc"
+    + prepareSource useBuiltinLua luajit-src "luajit"
+    + prepareSource useTracy tracy-src "tracy"
+    + ''
       popd
     '';
 
@@ -156,11 +168,11 @@ stdenv.mkDerivation (finalAttrs: {
     substituteInPlace ./src/platform/posix/paths.c \
       --replace "/usr/bin" "$out/bin" \
       --replace "/usr/share" "$out/share"
-
-    substituteInPlace ./src/CMakeLists.txt --replace "SETUID" "# SETUID"
+    substituteInPlace ./src/CMakeLists.txt \
+      --replace "SETUID" "# SETUID"
   '';
 
-  # INFO: Arcan build scripts require the manpages to be generated before the
+  # INFO: Arcan build scripts require the manpages to be generated *before* the
   # `configure` phase
   preConfigure = lib.optionalString buildManPages ''
     pushd doc
@@ -169,17 +181,15 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   cmakeFlags = [
-    "-DBUILD_PRESET=everything"
     # The upstream project recommends tagging the distribution
-    "-DDISTR_TAG=Nixpkgs"
-    "-DENGINE_BUILDTAG=${finalAttrs.version}"
-    (cmakeFeatureFlag "HYBRID_SDL" true)
-    (cmakeFeatureFlag "BUILTIN_LUA" useBuiltinLua)
-    (cmakeFeatureFlag "DISABLE_JIT" useBuiltinLua)
-    (cmakeFeatureFlag "STATIC_FREETYPE" useStaticFreetype)
-    (cmakeFeatureFlag "STATIC_LIBUVC" useStaticLibuvc)
-    (cmakeFeatureFlag "STATIC_OPENAL" useStaticOpenAL)
-    (cmakeFeatureFlag "STATIC_SQLite3" useStaticSqlite)
+    (lib.cmakeFeature "DISTR_TAG" "Nixpkgs")
+    (lib.cmakeFeature "ENGINE_BUILDTAG" finalAttrs.src.rev)
+    (lib.cmakeFeature "BUILD_PRESET" "everything")
+    (lib.cmakeBool "BUILTIN_LUA" useBuiltinLua)
+    (lib.cmakeBool "DISABLE_JIT" useBuiltinLua)
+    (lib.cmakeBool "STATIC_LIBUVC" useStaticLibuvc)
+    (lib.cmakeBool "STATIC_SQLite3" useStaticSqlite)
+    (lib.cmakeBool "ENABLE_TRACY" useTracy)
     "../src"
   ];
 
@@ -187,7 +197,7 @@ stdenv.mkDerivation (finalAttrs: {
     "format"
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://arcan-fe.com/";
     description = "Combined Display Server, Multimedia Framework, Game Engine";
     longDescription = ''
@@ -196,8 +206,8 @@ stdenv.mkDerivation (finalAttrs: {
       e.g. game development, real-time streaming video, monitoring and
       surveillance, up to and including desktop compositors and window managers.
     '';
-    license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ];
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    license = with lib.licenses; [ bsd3 gpl2Plus lgpl2Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/desktops/arcan/cat9/default.nix b/pkgs/desktops/arcan/cat9/default.nix
index 5e96b0f5fbd..7bc6005b0c6 100644
--- a/pkgs/desktops/arcan/cat9/default.nix
+++ b/pkgs/desktops/arcan/cat9/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "cat9";
-  version = "unstable-2023-02-11";
+  version = "unstable-2023-06-25";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "cat9";
-    rev = "1da9949c728e0734a883d258a8a05ca0e3dd5897";
-    hash = "sha256-kit+H9u941oK2Ko8S/1w+3DN6ktnfBtd+3s9XgU+qOQ=";
+    rev = "4d8a0c539a5c756acada96fd80e7eb3b9554ac05";
+    hash = "sha256-T3RPuldKTzHm0EdfdMOtHv9kcr9oE9YQgdzv/jjPPnc=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/desktops/arcan/durden/default.nix
index 14047669bd5..f6677b9823f 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/desktops/arcan/durden/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "durden";
-  version = "unstable-2023-01-19";
+  version = "unstable-2023-08-11";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "durden";
-    rev = "bba1bcc8992ea5826fd3b1c798cb271141b7c8e2";
-    hash = "sha256-PK9ObMJ3SbHZLnLjxk4smh5N0WaM/2H/Y+T5vKBdHWA=";
+    rev = "728d7fc3292cc162b1cea505c8a71512b2e84925";
+    hash = "sha256-UL36JeppnoFDdzdsJMsWKJL58ioz9eOaNEZp/7DGV9w=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/desktops/arcan/pipeworld/default.nix
index a9a1e24a97b..9474535133f 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/desktops/arcan/pipeworld/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalPackages: {
   pname = "pipeworld";
-  version = "unstable-2023-02-05";
+  version = "unstable-2023-03-02";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "pipeworld";
-    rev = "58b2e9fe15ef0baa4b04c27079bfa386ec62b28e";
-    hash = "sha256-PbKejghMkLZdeQJD9fObw9xhGH24IX72X7pyjapTXJM=";
+    rev = "9ea79f72ad500fe78b9f46e680be87eaac3bfb0e";
+    hash = "sha256-/cjse6XXrdLoUB35GLgl871qINOm4SvKPTbfoBceLu0=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/budgie/budgie-desktop-view/default.nix b/pkgs/desktops/budgie/budgie-desktop-view/default.nix
index 7faf261747c..2614db09c87 100644
--- a/pkgs/desktops/budgie/budgie-desktop-view/default.nix
+++ b/pkgs/desktops/budgie/budgie-desktop-view/default.nix
@@ -12,15 +12,15 @@
 , wrapGAppsHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "budgie-desktop-view";
-  version = "1.2.1";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "BuddiesOfBudgie";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-USsySJuDov2oe9UXyzACBAyYIRLKSXOMXdia8Ix/8TE=";
+    repo = "budgie-desktop-view";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-k6VfAGWvUarhBFnREasOvWH3M9uuT5SFUpMFmKo1fmE=";
   };
 
   nativeBuildInputs = [
@@ -38,16 +38,12 @@ stdenv.mkDerivation rec {
     gtk3
   ];
 
-  preInstall = ''
-    substituteInPlace ../scripts/mesonPostInstall.sh --replace "update-desktop-database -q" "update-desktop-database $out/share/applications"
-  '';
-
-  meta = with lib; {
+  meta = {
     description = "The official Budgie desktop icons application/implementation";
     homepage = "https://github.com/BuddiesOfBudgie/budgie-desktop-view";
     mainProgram = "org.buddiesofbudgie.budgie-desktop-view";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.federicoschonborn ];
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ federicoschonborn ];
   };
-}
+})
diff --git a/pkgs/desktops/budgie/budgie-desktop/default.nix b/pkgs/desktops/budgie/budgie-desktop/default.nix
index 43a68e54bee..8c07bcab6ab 100644
--- a/pkgs/desktops/budgie/budgie-desktop/default.nix
+++ b/pkgs/desktops/budgie/budgie-desktop/default.nix
@@ -35,16 +35,16 @@
 , wrapGAppsHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "budgie-desktop";
-  version = "10.8";
+  version = "10.8.2";
 
   src = fetchFromGitHub {
     owner = "BuddiesOfBudgie";
-    repo = pname;
-    rev = "v${version}";
+    repo = "budgie-desktop";
+    rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-fOsTBnKtwBGQSPkBBrzwHEB3+OcJYtPIdvZsV31oi6g=";
+    hash = "sha256-K5XUYcFjDJCHhjb/UTO206+UT6lI2P7X1v3SqlYbwPM=";
   };
 
   patches = [
@@ -97,11 +97,11 @@ stdenv.mkDerivation rec {
     "budgie-desktop"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "A feature-rich, modern desktop designed to keep out the way of the user";
     homepage = "https://github.com/BuddiesOfBudgie/budgie-desktop";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.federicoschonborn ];
-    license = with licenses; [ gpl2Plus lgpl21Plus cc-by-sa-30 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus cc-by-sa-30 ];
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ federicoschonborn ];
   };
-}
+})
diff --git a/pkgs/desktops/budgie/budgie-desktop/plugins.patch b/pkgs/desktops/budgie/budgie-desktop/plugins.patch
index ca23edc42ce..9fa40adaa5d 100644
--- a/pkgs/desktops/budgie/budgie-desktop/plugins.patch
+++ b/pkgs/desktops/budgie/budgie-desktop/plugins.patch
@@ -1,5 +1,5 @@
 diff --git a/meson.build b/meson.build
-index 48aeeb38..31e4c24b 100644
+index 6c6e473e..9b8fb73a 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -88,11 +88,6 @@ datadir = join_paths(prefix, get_option('datadir'))
@@ -43,7 +43,7 @@ index 48aeeb38..31e4c24b 100644
  with_bluetooth = get_option('with-bluetooth')
  if with_bluetooth == true
 diff --git a/src/config/budgie-config.c b/src/config/budgie-config.c
-index fc531f59..0a21b690 100644
+index 3ffe3632..da53e054 100644
 --- a/src/config/budgie-config.c
 +++ b/src/config/budgie-config.c
 @@ -11,7 +11,6 @@
@@ -51,14 +51,13 @@ index fc531f59..0a21b690 100644
  #ifndef CONFIG_H_INCLUDED
  #include "config.h"
 -#include <stdbool.h>
+ #include <stddef.h>
  
  /**
-  * All this is to keep Vala happy & configured..
-@@ -20,21 +19,6 @@ const char* BUDGIE_MODULE_DIRECTORY = MODULEDIR;
- const char* BUDGIE_MODULE_DATA_DIRECTORY = MODULE_DATA_DIR;
+@@ -22,20 +21,6 @@ const char* BUDGIE_MODULE_DATA_DIRECTORY = MODULE_DATA_DIR;
  const char* BUDGIE_RAVEN_PLUGIN_LIBDIR = RAVEN_PLUGIN_LIBDIR;
  const char* BUDGIE_RAVEN_PLUGIN_DATADIR = RAVEN_PLUGIN_DATADIR;
--
+ 
 -#ifdef HAS_SECONDARY_PLUGIN_DIRS
 -const bool BUDGIE_HAS_SECONDARY_PLUGIN_DIRS = true;
 -const char* BUDGIE_MODULE_DIRECTORY_SECONDARY = MODULEDIR_SECONDARY;
@@ -68,28 +67,27 @@ index fc531f59..0a21b690 100644
 -#else
 -const bool BUDGIE_HAS_SECONDARY_PLUGIN_DIRS = false;
 -const char* BUDGIE_MODULE_DIRECTORY_SECONDARY = NULL;
--const char* BUDGIE_MODULE_DATA_DIRECTORY = NULL;
--const char* BUDGIE_RAVEN_PLUGIN_LIBDIR = NULL;
--const char* BUDGIE_RAVEN_PLUGIN_DATADIR = NULL;
+-const char* BUDGIE_MODULE_DATA_DIRECTORY_SECONDARY = NULL;
+-const char* BUDGIE_RAVEN_PLUGIN_LIBDIR_SECONDARY = NULL;
+-const char* BUDGIE_RAVEN_PLUGIN_DATADIR_SECONDARY = NULL;
 -#endif
 -
  const char* BUDGIE_DATADIR = DATADIR;
  const char* BUDGIE_VERSION = PACKAGE_VERSION;
  const char* BUDGIE_WEBSITE = PACKAGE_URL;
 diff --git a/src/config/budgie-config.h b/src/config/budgie-config.h
-index 720379a5..c5774820 100644
+index b7581203..11df4347 100644
 --- a/src/config/budgie-config.h
 +++ b/src/config/budgie-config.h
-@@ -12,8 +12,6 @@
+@@ -12,7 +12,6 @@
  #ifndef _BUDGIE_CONFIG_H_
  #define _BUDGIE_CONFIG_H_
  
 -#include <stdbool.h>
--
- /* i.e. /usr/lib/budgie-desktop */
- extern const char* BUDGIE_MODULE_DIRECTORY;
+ #include <stddef.h>
  
-@@ -26,12 +24,6 @@ extern const char* BUDGIE_RAVEN_PLUGIN_LIBDIR;
+ /* i.e. /usr/lib/budgie-desktop */
+@@ -27,12 +26,6 @@ extern const char* BUDGIE_RAVEN_PLUGIN_LIBDIR;
  /* i.e. /usr/share/budgie-desktop/raven-plugins */
  extern const char* BUDGIE_RAVEN_PLUGIN_DATADIR;
  
@@ -129,7 +127,7 @@ index 5eb445d1..7d27e348 100644
      public extern const string DATADIR;
  
 diff --git a/src/panel/plugin_manager.vala b/src/panel/plugin_manager.vala
-index f4f2e4da..9d569bd1 100644
+index f4f2e4da..3dfee49a 100644
 --- a/src/panel/plugin_manager.vala
 +++ b/src/panel/plugin_manager.vala
 @@ -40,13 +40,26 @@ namespace Budgie {
@@ -146,16 +144,16 @@ index f4f2e4da..9d569bd1 100644
 +			} else {
 +				debug("BUDGIE_PLUGIN_LIBDIR is unset, defaulting to %s", Budgie.MODULE_DIRECTORY);
 +				libdir = Budgie.MODULE_DIRECTORY;
- 			}
- 
++ 			}
++
 +			var datadir = Environment.get_variable("BUDGIE_PLUGIN_DATADIR");
 +			if (datadir != null) {
 +				debug("BUDGIE_PLUGIN_DATADIR is set to %s", datadir);
 +			} else {
 +				debug("BUDGIE_PLUGIN_DATADIR is unset, defaulting to %s", Budgie.MODULE_DATA_DIRECTORY);
 +				datadir = Budgie.MODULE_DATA_DIRECTORY;
-+			}
-+
+ 			}
+ 
 +			engine.add_search_path(libdir, datadir);
 +
  			/* User path */
@@ -164,7 +162,7 @@ index f4f2e4da..9d569bd1 100644
  			var hdata = Path.build_path(Path.DIR_SEPARATOR_S, dir, "budgie-desktop", "data");
  			engine.add_search_path(user_mod, hdata);
 diff --git a/src/raven/plugin_manager.vala b/src/raven/plugin_manager.vala
-index 01f32553..d671109a 100644
+index 01f32553..2826b7e5 100644
 --- a/src/raven/plugin_manager.vala
 +++ b/src/raven/plugin_manager.vala
 @@ -51,13 +51,26 @@ namespace Budgie {
@@ -181,16 +179,16 @@ index 01f32553..d671109a 100644
 +			} else {
 +				debug("RAVEN_PLUGIN_LIBDIR is unset, defaulting to %s", Budgie.RAVEN_PLUGIN_LIBDIR);
 +				libdir = Budgie.RAVEN_PLUGIN_LIBDIR;
-+			}
-+
+ 			}
+ 
 +			var datadir = Environment.get_variable("RAVEN_PLUGIN_DATADIR");
 +			if (datadir != null) {
 +				debug("RAVEN_PLUGIN_DATADIR is set to %s", datadir);
 +			} else {
 +				debug("RAVEN_PLUGIN_DATADIR is unset, defaulting to %s", Budgie.RAVEN_PLUGIN_DATADIR);
 +				datadir = Budgie.RAVEN_PLUGIN_DATADIR;
- 			}
- 
++ 			}
++
 +			engine.add_search_path(libdir, datadir);
 +
  			/* User path */
diff --git a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
index 30caaaf6e3d..78a4f7d94b6 100644
--- a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
@@ -37,6 +37,7 @@ let
     cinnamon-settings-daemon
     cinnamon-common
     gnome.gnome-terminal
+    gsettings-desktop-schemas
     gtk3
   ] ++ extraGSettingsOverridePackages;
 
diff --git a/pkgs/desktops/cinnamon/mint-artwork/default.nix b/pkgs/desktops/cinnamon/mint-artwork/default.nix
index 22dd4d15a26..11db728d4ae 100644
--- a/pkgs/desktops/cinnamon/mint-artwork/default.nix
+++ b/pkgs/desktops/cinnamon/mint-artwork/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-artwork";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchurl {
     urls = [
       "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
-      "https://web.archive.org/web/20230601120342/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
+      "https://web.archive.org/web/20231010134817/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
     ];
-    hash = "sha256-yd2FyGAznXGnHJLkMsSNqIx0sbKHl3cNMr7tpue7BlA=";
+    hash = "sha256-u1hD0q67bKYKv/xMqqgxA6660v03xjVL4X7zxnNwGf8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index f82c00f4a9d..61266bb8710 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "5.8.4";
+  version = "5.8.5";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WjgQXQe8iCzkc4pmeTIx6mSlsg88xy3FTPMokJWo3fg=";
+    sha256 = "sha256-Nl/T+8mmQdCTHo3qAUd+ATflSDXiGCQfGb1gXzvLuAc=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/apps/deepin-compressor/default.nix b/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
index 3094c1e8c69..d716bc38bce 100644
--- a/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-compressor";
-  version = "5.12.18";
+  version = "5.12.20";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-oHJOqfvrIQTspsTTnVyruiIAdh0kX12LzgGgSCYXfLE=";
+    hash = "sha256-oOxto0X/GBAA9q691uwC0PtCdHDTMBqi80ov4xCXPn0=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/apps/deepin-terminal/default.nix b/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
index 54a06d446c6..01902209c41 100644
--- a/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-terminal";
-  version = "6.0.7";
+  version = "6.0.8";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-vXykC/x9F+cPTSqKTWimUhnr+IsfoeQncdj75sXG4/g=";
+    hash = "sha256-7Yyw4aw+44JX9SKuwmJSrLz04WETvs3E3cnt0/O+Ls0=";
   };
 
   cmakeFlags = [ "-DVERSION=${version}" ];
diff --git a/pkgs/desktops/deepin/go-package/dde-daemon/0006-fix-build-with-ddcutil-2.patch b/pkgs/desktops/deepin/go-package/dde-daemon/0006-fix-build-with-ddcutil-2.patch
new file mode 100644
index 00000000000..76729d488b3
--- /dev/null
+++ b/pkgs/desktops/deepin/go-package/dde-daemon/0006-fix-build-with-ddcutil-2.patch
@@ -0,0 +1,17 @@
+diff --git a/bin/backlight_helper/ddcci/ddcci.go b/bin/backlight_helper/ddcci/ddcci.go
+index 679beea3..ccbfc508 100644
+--- a/bin/backlight_helper/ddcci/ddcci.go
++++ b/bin/backlight_helper/ddcci/ddcci.go
+@@ -103,11 +103,6 @@ func newDDCCI() (*ddcci, error) {
+ 		displayHandleMap: make(map[string]*displayHandle),
+ 	}
+ 
+-	status := C.ddca_set_max_tries(C.DDCA_MULTI_PART_TRIES, 5)
+-	if status < C.int(0) {
+-		return nil, fmt.Errorf("brightness: Error setting retries: %d", status)
+-	}
+-
+ 	err := ddc.RefreshDisplays()
+ 	if err != nil {
+ 		return nil, err
+
diff --git a/pkgs/desktops/deepin/go-package/dde-daemon/default.nix b/pkgs/desktops/deepin/go-package/dde-daemon/default.nix
index b9a1da5ca2e..1309b6d3f48 100644
--- a/pkgs/desktops/deepin/go-package/dde-daemon/default.nix
+++ b/pkgs/desktops/deepin/go-package/dde-daemon/default.nix
@@ -62,6 +62,7 @@ buildGoPackage rec {
       src = ./0005-fix-custom-wallpapers-path.diff;
       inherit coreutils;
     })
+    ./0006-fix-build-with-ddcutil-2.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix
index 274c81bfce9..4fb99cfb80a 100644
--- a/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix
+++ b/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix
@@ -33,7 +33,7 @@ buildGoPackage rec {
   buildPhase = ''
     runHook preBuild
     addToSearchPath GOPATH "${go-lib}/share/gocode"
-    make ARCH=${stdenv.targetPlatform.linuxArch} -C go/src/${goPackagePath}
+    make ARCH=${stdenv.hostPlatform.linuxArch} -C go/src/${goPackagePath}
     runHook postBuild
   '';
 
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 2adc897d085..76cb60f9f5f 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -44,7 +44,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 } // lib.optionalAttrs config.allowAliases {
   inherit (pkgs)
     # GTK Libs
-    glib glibmm atk atkmm cairo pango pangomm gdk_pixbuf gtkmm2 libcanberra-gtk2
+    glib glibmm atk atkmm cairo pango pangomm gtkmm2 libcanberra-gtk2
 
     # Included for backwards compatibility
     libsoup libwnck2 gtk-doc gnome-doc-utils
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
index 505bfc7dbd6..8312a4ca172 100644
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ b/pkgs/desktops/gnome/core/evince/default.nix
@@ -52,6 +52,10 @@ stdenv.mkDerivation rec {
     sha256 = "O4uhWBpHpun1f2tqoI8PtnVJxgEhqiTjEUDpOUe4NiI=";
   };
 
+  depsBuildBuild = [
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index e9fd74c9222..f266c480913 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -23,6 +23,7 @@
 , gnome
 , gsettings-desktop-schemas
 , gsound
+, gst_all_1
 , gtk4
 , ibus
 , libgnomekbd
@@ -134,7 +135,11 @@ stdenv.mkDerivation rec {
     tracker-miners # for search locations dialog
     udisks2
     upower
-  ];
+  ] ++ (with gst_all_1; [
+    # For animations in Mouse panel.
+    gst-plugins-base
+    gst-plugins-good
+  ]);
 
   preConfigure = ''
     # For ITS rules
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index dcafff9e0ec..3b33d289ddb 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -1,4 +1,5 @@
 { fetchurl
+, fetchpatch
 , lib
 , stdenv
 , substituteAll
@@ -47,6 +48,12 @@ stdenv.mkDerivation rec {
       dbusLaunch = "${dbus.lib}/bin/dbus-launch";
       bash = "${bash}/bin/bash";
     })
+    # See #226355. Can be removed on update to v45.
+    (fetchpatch {
+      name = "fix-gnome-boxes-crash.patch";
+      url = "https://gitlab.gnome.org/GNOME/gnome-session/commit/fab1a3b91677035d541de2c141f8073c4057342c.patch";
+      hash = "sha256-2xeoNgV8UDexkufXDqimAplX0GC99tUWUqjw3kfN+5Q=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 4412a3064e9..176cb4271b8 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -67,13 +67,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "44.4";
+  version = "44.5";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "HdUebujZL7y5XObd8Ruf7OiNImIsAQFf+pNgFpzUGGY=";
+    sha256 = "wWr84Dgd1ZNCfXCER6nR+sdInrApRe+zfpBMp0qSSjU=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-tour/default.nix b/pkgs/desktops/gnome/core/gnome-tour/default.nix
index c471417d616..bb658fcd448 100644
--- a/pkgs/desktops/gnome/core/gnome-tour/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-tour/default.nix
@@ -17,8 +17,6 @@
 , libadwaita
 , librsvg
 , rustc
-, rust
-, writeText
 , cargo
 }:
 
@@ -60,16 +58,6 @@ stdenv.mkDerivation rec {
     librsvg
   ];
 
-  mesonFlags =
-    let
-      # ERROR: 'rust' compiler binary not defined in cross or native file
-      crossFile = writeText "cross-file.conf" ''
-        [binaries]
-        rust = [ 'rustc', '--target', '${rust.toRustTargetSpec stdenv.hostPlatform}' ]
-      '';
-    in
-    lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index 0497078a126..d9aa514bb0e 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -66,13 +66,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mutter";
-  version = "44.4";
+  version = "44.5";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
-    sha256 = "M3IKWGywqacyr1oH7RPj89MqGml4EjURQKVLygBrlAw=";
+    sha256 = "8kfg7WXrYvKwd1RtUoPtbUf0Ar2mpDFkE1AdjK7Slnk=";
   };
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome/core/zenity/default.nix b/pkgs/desktops/gnome/core/zenity/default.nix
index b171ef20225..6ff36b1c196 100644
--- a/pkgs/desktops/gnome/core/zenity/default.nix
+++ b/pkgs/desktops/gnome/core/zenity/default.nix
@@ -45,6 +45,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
+    mainProgram = "zenity";
     description = "Tool to display dialogs from the commandline and shell scripts";
     homepage = "https://wiki.gnome.org/Projects/Zenity";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 3b827dcb276..d356094942f 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -238,9 +238,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-flashback = callPackage ./misc/gnome-flashback { };
 
-  gnome-panel = callPackage ./misc/gnome-panel {
-    autoreconfHook = pkgs.autoreconfHook269;
-  };
+  gnome-panel = callPackage ./misc/gnome-panel { };
+
+  gnome-panel-with-modules = callPackage ./misc/gnome-panel/wrapper.nix { };
 
   gnome-tweaks = callPackage ./misc/gnome-tweaks { };
 
diff --git a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
index 51c3c836095..e6bcc1b411d 100644
--- a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
+++ b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell-extension-EasyScreenCast";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "EasyScreenCast";
     repo = "EasyScreenCast";
     rev = finalAttrs.version;
-    hash = "sha256-+cH/gczCdxoSrLp5nD82Spo8bSGyRnUUut3Xkmr9f3o=";
+    hash = "sha256-G7wdRFA0qL+6inVRLAmKoP0E0IOyvlmQIUwbDv/DbLI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/extensions/extensionRenames.nix b/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 864a2096ded..32cb0feaed0 100644
--- a/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -120,7 +120,6 @@
   "EasyScreenCast@iacopodeenosee.gmail.com" = "easyScreenCast"; # extensionPortalSlug is "easyscreencast"
   "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" = "fuzzy-app-search"; # extensionPortalSlug is "gnome-fuzzy-app-search"
   "TopIcons@phocean.net" = "topicons-plus"; # extensionPortalSlug is "topicons"
-  "paperwm@hedning:matrix.org" = "paperwm"; # is not on extensions.gnome.org
   "no-title-bar@jonaspoehler.de" = "no-title-bar"; # extensionPortalSlug is "no-title-bar-forked"
   # These extensions are automatically packaged at the moment. We preserve the old attribute name
   # for backwards compatibility.
diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index 80a71dd2cde..6e8da3840f0 100644
--- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -9,7 +9,6 @@
   "icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
   "impatience@gfxmonk.net" = callPackage ./impatience { };
   "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { };
-  "paperwm@hedning:matrix.org" = callPackage ./paperwm { };
   "pidgin@muffinmad" = callPackage ./pidgin-im-integration { };
   "pop-shell@system76.com" = callPackage ./pop-shell { };
   "sound-output-device-chooser@kgshank.net" = callPackage ./sound-output-device-chooser { };
diff --git a/pkgs/desktops/gnome/extensions/paperwm/default.nix b/pkgs/desktops/gnome/extensions/paperwm/default.nix
deleted file mode 100644
index 9bfa5f0761b..00000000000
--- a/pkgs/desktops/gnome/extensions/paperwm/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, gitUpdater
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "gnome-shell-extension-paperwm";
-  version = "44.3.1";
-
-  src = fetchFromGitHub {
-    owner = "paperwm";
-    repo = "PaperWM";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-oGBnQGtx2ku4cfgZkZ3OdHlVuiYR8hy1eYDWDZP3fn4=";
-  };
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p "$out/share/gnome-shell/extensions/paperwm@hedning:matrix.org"
-    cp -r . "$out/share/gnome-shell/extensions/paperwm@hedning:matrix.org"
-
-    runHook postInstall
-  '';
-
-  passthru.updateScript = gitUpdater { url = finalAttrs.meta.homepage; };
-
-  meta = {
-    homepage = "https://github.com/paperwm/PaperWM";
-    description = "Tiled scrollable window management for Gnome Shell";
-    changelog = "https://github.com/paperwm/PaperWM/releases/tag/${finalAttrs.src.rev}";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ hedning AndersonTorres cab404 ];
-    platforms = lib.platforms.all;
-  };
-
-  passthru.extensionUuid = "paperwm@hedning:matrix.org";
-})
diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
index cfe0903cce7..ceb7d8d59a3 100644
--- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
@@ -127,72 +127,36 @@ let
         versionPolicy = "odd-unstable";
       };
 
-      mkSessionForWm = { wmName, wmLabel, wmCommand, enableGnomePanel, panelModulePackages }:
-        let
-          wmApplication = writeTextFile {
-            name = "gnome-flashback-${wmName}-wm";
-            destination = "/share/applications/${wmName}.desktop";
-            text = ''
-              [Desktop Entry]
-              Type=Application
-              Encoding=UTF-8
-              Name=${wmLabel}
-              Exec=${wmCommand}
-              NoDisplay=true
-              X-GNOME-WMName=${wmLabel}
-              X-GNOME-Autostart-Phase=WindowManager
-              X-GNOME-Provides=windowmanager
-              X-GNOME-Autostart-Notify=false
-            '';
-          };
+      mkWmApplication = { wmName, wmLabel, wmCommand }:
+        writeTextFile {
+          name = "gnome-flashback-${wmName}-wm";
+          destination = "/share/applications/${wmName}.desktop";
+          text = ''
+            [Desktop Entry]
+            Type=Application
+            Encoding=UTF-8
+            Name=${wmLabel}
+            Exec=${wmCommand}
+            NoDisplay=true
+            X-GNOME-WMName=${wmLabel}
+            X-GNOME-Autostart-Phase=WindowManager
+            X-GNOME-Provides=windowmanager
+            X-GNOME-Autostart-Notify=false
+          '';
+        };
 
-          gnomeSession = writeTextFile {
-            name = "gnome-flashback-${wmName}-gnome-session";
-            destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
-            text = ''
-              [GNOME Session]
-              Name=GNOME Flashback (${wmLabel})
-              ${requiredComponents wmName enableGnomePanel}
-            '';
-          };
-
-          # gnome-panel will only look for applets in a single directory so symlink them into here.
-          panelModulesEnv = buildEnv {
-            name = "gnome-panel-modules-env";
-            # We always want to find the built-in panel applets.
-            paths = [ gnome-panel gnome-flashback ] ++ panelModulePackages;
-            pathsToLink = [ "/lib/gnome-panel/modules" ];
-          };
-
-          executable = stdenv.mkDerivation {
-            name = "gnome-flashback-${wmName}";
-            nativeBuildInputs = [ glib wrapGAppsHook ];
-            buildInputs = [ gnome-flashback ] ++ lib.optionals enableGnomePanel ([ gnome-panel ] ++ panelModulePackages);
-
-            # We want to use the wrapGAppsHook mechanism to wrap gnome-session
-            # with the environment that gnome-flashback and gnome-panel need to
-            # run, including the configured applet packages. This is only possible
-            # in the fixup phase, so turn everything else off.
-            dontUnpack = true;
-            dontConfigure = true;
-            dontBuild = true;
-            dontInstall = true;
-            dontWrapGApps = true; # We want to do the wrapping ourselves.
-
-            # gnome-flashback and gnome-panel need to be added to XDG_DATA_DIRS so that their .desktop files can be found by gnome-session.
-            # We need to pass the --builtin flag so that gnome-session invokes gnome-session-binary instead of systemd.
-            # If systemd is used, it doesn't use the environment we set up here and so it can't find the .desktop files.
-            preFixup = ''
-              makeWrapper ${gnome-session}/bin/gnome-session $out \
-                --add-flags "--session=gnome-flashback-${wmName} --builtin" \
-                --set-default XDG_CURRENT_DESKTOP 'GNOME-Flashback:GNOME' \
-                --prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" ([ wmApplication gnomeSession gnome-flashback ] ++ lib.optional enableGnomePanel gnome-panel)}' \
-                "''${gappsWrapperArgs[@]}" \
-                ${lib.optionalString enableGnomePanel "--set NIX_GNOME_PANEL_MODULESDIR '${panelModulesEnv}/lib/gnome-panel/modules'"}
-            '';
-          };
+      mkGnomeSession = { wmName, wmLabel, enableGnomePanel }:
+        writeTextFile {
+          name = "gnome-flashback-${wmName}-gnome-session";
+          destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
+          text = ''
+            [GNOME Session]
+            Name=GNOME Flashback (${wmLabel})
+            ${requiredComponents wmName enableGnomePanel}
+          '';
+        };
 
-        in
+      mkSessionForWm = { wmName, wmLabel, wmCommand }:
         writeTextFile
           {
             name = "gnome-flashback-${wmName}-xsession";
@@ -201,7 +165,7 @@ let
               [Desktop Entry]
               Name=GNOME Flashback (${wmLabel})
               Comment=This session logs you into GNOME Flashback with ${wmLabel}
-              Exec=${executable}
+              Exec=${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName}
               TryExec=${wmCommand}
               Type=Application
               DesktopNames=GNOME-Flashback;GNOME;
@@ -211,7 +175,7 @@ let
         };
 
       mkSystemdTargetForWm = { wmName, wmLabel, wmCommand, enableGnomePanel }:
-        runCommand "gnome-flashback-${wmName}.target" {} ''
+        runCommand "gnome-flashback-${wmName}.target" { } ''
           mkdir -p $out/lib/systemd/user
           cp -r "${gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \
             "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d"
diff --git a/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix b/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix
new file mode 100644
index 00000000000..6afee1051af
--- /dev/null
+++ b/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, lib
+, buildEnv
+, gnome-panel
+, gnome-flashback
+, xorg
+, glib
+, wrapGAppsHook
+, panelModulePackages ? [ ]
+}:
+
+let
+  # We always want to find the built-in panel applets.
+  selectedPanelModulePackages = [ gnome-panel gnome-flashback ] ++ panelModulePackages;
+
+  panelModulesEnv = buildEnv {
+    name = "gnome-panel-modules-env";
+    paths = selectedPanelModulePackages;
+    pathsToLink = [ "/lib/gnome-panel/modules" ];
+  };
+in
+stdenv.mkDerivation {
+  pname = "${gnome-panel.pname}-with-modules";
+  inherit (gnome-panel) version;
+
+  nativeBuildInputs = [
+    glib
+    wrapGAppsHook
+  ];
+
+  buildInputs = selectedPanelModulePackages ++
+    lib.forEach selectedPanelModulePackages (x: x.buildInputs or [ ]);
+
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  preferLocalBuild = true;
+  allowSubstitutes = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    ${xorg.lndir}/bin/lndir -silent ${gnome-panel} $out
+
+    rm -r $out/lib/gnome-panel/modules
+    ${xorg.lndir}/bin/lndir -silent ${panelModulesEnv} $out
+
+    rm $out/share/applications/gnome-panel.desktop
+
+    substitute ${gnome-panel}/share/applications/gnome-panel.desktop \
+      $out/share/applications/gnome-panel.desktop --replace \
+      "Exec=${gnome-panel}/bin/gnome-panel" "Exec=$out/bin/gnome-panel"
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set NIX_GNOME_PANEL_MODULESDIR "$out/lib/gnome-panel/modules"
+    )
+  '';
+
+  meta = gnome-panel.meta // { outputsToInstall = [ "out" ]; };
+}
diff --git a/pkgs/desktops/gnome/misc/pomodoro/default.nix b/pkgs/desktops/gnome/misc/pomodoro/default.nix
index 4474c3c6a68..3067c5de5fb 100644
--- a/pkgs/desktops/gnome/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome/misc/pomodoro/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-pomodoro";
-  version = "0.23.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-0ZUTRrth5AfzI1E4JsuchbYeFwAbl9/XGBSYQ+AnNvM=";
+    hash = "sha256-Yn0lDCFpc8o25iiPib1n1NEBeodNAdTzRWcnLbXUA5g=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnustep/back/default.nix b/pkgs/desktops/gnustep/back/default.nix
index 643b7ddecc2..867c82881c1 100644
--- a/pkgs/desktops/gnustep/back/default.nix
+++ b/pkgs/desktops/gnustep/back/default.nix
@@ -11,11 +11,11 @@
 
 gsmakeDerivation rec {
   pname = "gnustep-back";
-  version = "0.29.0";
+  version = "0.30.0";
 
   src = fetchzip {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/${pname}-${version}.tar.gz";
-    sha256 = "sha256-4n2SC68G0dpSz9nqCL5Kz76nyoRxWcRTWDwZsnMoHSM=";
+    sha256 = "sha256-HD4PLdkE573nPWqFwffUmcHw8VYIl5rLiPKWrbnwpCI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/desktops/gnustep/base/default.nix b/pkgs/desktops/gnustep/base/default.nix
index faf44e50e0f..500e31f0d36 100644
--- a/pkgs/desktops/gnustep/base/default.nix
+++ b/pkgs/desktops/gnustep/base/default.nix
@@ -14,10 +14,10 @@
 }:
 gsmakeDerivation rec {
   pname = "gnustep-base";
-  version = "1.28.0";
+  version = "1.29.0";
   src = fetchzip {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/${pname}-${version}.tar.gz";
-    sha256 = "05vjz19v1w7yb7hm8qrc41bqh6xd8in7sgg2p0h1vldyyaa5sh90";
+    hash = "sha256-4fjdsLBsYEDxLOFrq17dKii2sLKvOaFCu0cw3qQtM5U=";
   };
   outputs = [ "out" "dev" "lib" ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/desktops/gnustep/make/builder.sh b/pkgs/desktops/gnustep/make/builder.sh
index 736635ab502..79ead3f7b72 100644
--- a/pkgs/desktops/gnustep/make/builder.sh
+++ b/pkgs/desktops/gnustep/make/builder.sh
@@ -1,4 +1,4 @@
-if [ -e .attrs.sh ]; then source .attrs.sh; fi
+if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
 source $stdenv/setup
 
 providedPreConfigure="$preConfigure";
diff --git a/pkgs/desktops/gnustep/make/default.nix b/pkgs/desktops/gnustep/make/default.nix
index def8e297b55..f9b4ae553c8 100644
--- a/pkgs/desktops/gnustep/make/default.nix
+++ b/pkgs/desktops/gnustep/make/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnustep-make";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-${version}.tar.gz";
-    sha256 = "sha256-oLBmwRJXh5x8hTEd6mnGf23HQe8znbZRT4W2SZLEDSo=";
+    sha256 = "sha256-w9bnDPFWsn59HtJQHFffP5bidIjOLzUbk+R5xYwB6uc=";
   };
 
   configureFlags = [
diff --git a/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix b/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix
new file mode 100644
index 00000000000..c612011cbff
--- /dev/null
+++ b/pkgs/desktops/lomiri/data/lomiri-schemas/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, testers
+, cmake
+, cmake-extras
+, glib
+, intltool
+, pkg-config
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lomiri-schemas";
+  version = "0.1.3";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/lomiri-schemas";
+    rev = finalAttrs.version;
+    hash = "sha256-FrDUFqdD0KW2VG2pTA6LMb6/9PdNtQUlYTEo1vnW6QQ=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    glib # glib-compile-schemas
+    pkg-config
+    intltool
+  ];
+
+  buildInputs = [
+    cmake-extras
+    glib
+  ];
+
+  cmakeFlags = [
+    "-DGSETTINGS_LOCALINSTALL=ON"
+    "-DGSETTINGS_COMPILE=ON"
+  ];
+
+  passthru = {
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "GSettings / AccountsService schema files for Lomiri";
+    homepage = "https://gitlab.com/ubports/development/core/lomiri-schemas";
+    license = licenses.lgpl21Plus;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "lomiri-schemas"
+    ];
+  };
+})
diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix
index 4aa91bae9f9..2b559a6a727 100644
--- a/pkgs/desktops/lomiri/default.nix
+++ b/pkgs/desktops/lomiri/default.nix
@@ -7,6 +7,9 @@ let
   packages = self: let
     inherit (self) callPackage;
   in {
+    #### Data
+    lomiri-schemas = callPackage ./data/lomiri-schemas { };
+
     #### Development tools / libraries
     cmake-extras = callPackage ./development/cmake-extras { };
     deviceinfo = callPackage ./development/deviceinfo { };
diff --git a/pkgs/desktops/lomiri/development/deviceinfo/default.nix b/pkgs/desktops/lomiri/development/deviceinfo/default.nix
index 11150c2ca1d..04abf4f88f4 100644
--- a/pkgs/desktops/lomiri/development/deviceinfo/default.nix
+++ b/pkgs/desktops/lomiri/development/deviceinfo/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "deviceinfo";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitLab {
     owner = "ubports";
     repo = "development/core/deviceinfo";
     rev = finalAttrs.version;
-    hash = "sha256-oKuX9JbYWIjroKgA2Y+/oqPkC26DPy3e6yHFU8mmbxQ=";
+    hash = "sha256-x0Xm4Z3hpvO5p/5JxMRloFqn58cRH2ak8rKtuxmmVVQ=";
   };
 
   outputs = [
diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix
index b95dd4b6fdf..4a9a878d31c 100644
--- a/pkgs/desktops/lxqt/compton-conf/default.nix
+++ b/pkgs/desktops/lxqt/compton-conf/default.nix
@@ -19,18 +19,18 @@ mkDerivation rec {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0gcvyn7aabdz5yj0jzv14hlgjgbm8d9ib5r73i842f0hv4cv9m0q";
+    hash = "sha256-GNS0GdkQOEFQHCeXFVNDdT35KCRhfwmkL78tpY71mz0=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt.lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     libconfig
   ];
 
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index fbac7dbd034..eacdac55413 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -18,6 +18,7 @@ let
     lxqt-admin = callPackage ./lxqt-admin {};
     lxqt-config = callPackage ./lxqt-config {};
     lxqt-globalkeys = callPackage ./lxqt-globalkeys {};
+    lxqt-menu-data = callPackage ./lxqt-menu-data {};
     lxqt-notificationd = callPackage ./lxqt-notificationd {};
     lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass {};
     lxqt-policykit = callPackage ./lxqt-policykit {};
@@ -26,7 +27,7 @@ let
     lxqt-session = callPackage ./lxqt-session {};
     lxqt-sudo = callPackage ./lxqt-sudo {};
     lxqt-themes = callPackage ./lxqt-themes {};
-    pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt {};
+    pavucontrol-qt = callPackage ./pavucontrol-qt {};
     qtermwidget = callPackage ./qtermwidget {};
 
     ### CORE 2
@@ -36,7 +37,7 @@ let
 
     ### OPTIONAL
     qterminal = callPackage ./qterminal {};
-    compton-conf = qt5.callPackage ./compton-conf {};
+    compton-conf = callPackage ./compton-conf {};
     obconf-qt = callPackage ./obconf-qt {};
     lximage-qt = callPackage ./lximage-qt {};
     qps = callPackage ./qps {};
@@ -50,7 +51,6 @@ let
       libsForQt5.libkscreen # provides plugins for screen management software
       pkgs.libfm
       pkgs.libfm-extra
-      pkgs.lxmenu-data
       pkgs.menu-cache
       pkgs.openbox # default window manager
       qt5.qtsvg # provides QT5 plugins for svg icons
@@ -68,6 +68,7 @@ let
       lxqt-admin
       lxqt-config
       lxqt-globalkeys
+      lxqt-menu-data
       lxqt-notificationd
       lxqt-openssh-askpass
       lxqt-policykit
diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix
index a19a8a20833..c945107aaf3 100644
--- a/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -4,6 +4,7 @@
 , cmake
 , pkg-config
 , lxqt-build-tools
+, lxqt-menu-data
 , pcre
 , libexif
 , xorg
@@ -16,29 +17,30 @@
 
 mkDerivation rec {
   pname = "libfm-qt";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "libfm-qt";
     rev = version;
-    sha256 = "MK1QMYfr0T/cE46IUWarG9a/PJUSSskk1W3y2+kvEwg=";
+    hash = "sha256-QxPYSA7537K+/dRTxIYyg+Q/kj75rZOdzlUsmSdQcn4=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
+    lxqt-menu-data
     pcre
     libexif
     xorg.libpthreadstubs
     xorg.libxcb
     xorg.libXdmcp
     qtx11extras
-    qttools
     libfm
     menu-cache
   ];
diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix
index c7a34a9c493..f7fba687bb8 100644
--- a/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -15,23 +15,23 @@
 
 mkDerivation rec {
   pname = "liblxqt";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "Ug6LmDxynSDLWykZhnih2F9lT34aOlU0ewM88PX+5Ms=";
+    hash = "sha256-daD4okYc4J2nRrO6423W0IUK9173zcepCvvMtx7Vho4=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtx11extras
-    qttools
     qtsvg
     polkit-qt
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix
index 4f155f39576..f2c42ccca59 100644
--- a/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "libqtxdg";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "b3XR0Tn/roiCjNGb3EMf4ilECNaUjGYi11ykVBppBuc=";
+    hash = "sha256-y+3noaHubZnwUUs8vbMVvZPk+6Fhv37QXUb//reedCU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/libsysstat/default.nix b/pkgs/desktops/lxqt/libsysstat/default.nix
index 4fdfa341e92..5e3514310c3 100644
--- a/pkgs/desktops/lxqt/libsysstat/default.nix
+++ b/pkgs/desktops/lxqt/libsysstat/default.nix
@@ -16,7 +16,7 @@ mkDerivation rec {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0z2r8041vqssm59lkb3ka7qis9br4wvavxzd45m3pnqlp7wwhkbn";
+    hash = "sha256-dk3I+bkU2ztqIe33rTYneSUd8VFzrElTqVrjHQhAWXw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix
index f33e6986d8c..ec95c19b0c5 100644
--- a/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -18,24 +18,24 @@
 
 mkDerivation rec {
   pname = "lximage-qt";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "afCW3VeXAq2HYc4fjSrd+7j6cGoHmGlO8jCiNq6/F3E=";
+    hash = "sha256-Igfd8lhKDjdseQeARiirj+tEoJdcaeHuyd4mfQHOVg0=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     qtimageformats # add-on module to support more image file formats
diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix
index 993721b443e..fd20c68ba86 100644
--- a/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -14,23 +14,23 @@
 
 mkDerivation rec {
   pname = "lxqt-about";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "Dm4WFtF0O7MgAvwYBI/1DkY9MhneI+QSM+wRp4JlD+o=";
+    hash = "sha256-FA9xvIi45qpD6iGxiiNKNlcLKzJtb0cWmvDBJRnJFwA=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtx11extras
-    qttools
     qtsvg
     kwindowsystem
     liblxqt
diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix
index 540c04b85c5..fc911cf27ea 100644
--- a/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -15,23 +15,23 @@
 
 mkDerivation rec {
   pname = "lxqt-admin";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "glSxrSCr56lpdWca9q8hgnMcW22DNdsIyBzxPmQXQOY=";
+    hash = "sha256-wPK3TMBC359GnisjpdY2zU+Jnvr7Hdzb6r+HuUQC3mo=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtx11extras
-    qttools
     qtsvg
     kwindowsystem
     liblxqt
diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index b8e31a378c2..40cad3cb608 100644
--- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -16,19 +16,20 @@
 
 mkDerivation rec {
   pname = "lxqt-archiver";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "lxqt-archiver";
     rev = version;
-    sha256 = "C38c/jCyRur7jQSgU2ByasCQnollHgy3/mUoNv61OCU=";
+    hash = "sha256-8pfUpyjn01D8CL+2PjGkZqyHu+lpHZIXlXn67rZoxMY=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
@@ -37,7 +38,6 @@ mkDerivation rec {
     libfm-qt
     menu-cache
     qtbase
-    qttools
     qtx11extras
   ];
 
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index f31d1561bb5..b3874abfa57 100644
--- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -18,7 +18,7 @@ mkDerivation rec {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "4/hVlEdqqqd6CNitCRkIzsS1R941vPJdirIklp4acXA=";
+    hash = "sha256-4/hVlEdqqqd6CNitCRkIzsS1R941vPJdirIklp4acXA=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix
index 2c8c5d9b4a6..64b54b3e6bc 100644
--- a/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -1,11 +1,11 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
 , glib
 , lxqt-build-tools
+, lxqt-menu-data
 , qtbase
 , qtx11extras
 , qttools
@@ -21,31 +21,32 @@
 
 mkDerivation rec {
   pname = "lxqt-config";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "Gm/Y/5i7Abob9eRdLZHpRma2+Mdh2LBZUGKM4mMZMFk=";
+    hash = "sha256-ypHjUYRtrWx1Cp9KGSqsWpRHg7zoV0YDW6P4amJKapI=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     glib.bin
     qtbase
     qtx11extras
-    qttools
     qtsvg
     kwindowsystem
     libkscreen
     liblxqt
     libqtxdg
+    lxqt-menu-data
     xorg.libpthreadstubs
     xorg.libXdmcp
     xorg.libXScrnSaver
diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index 6bdcc59bc35..83235bfdaeb 100644
--- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -15,23 +15,23 @@
 
 mkDerivation rec {
   pname = "lxqt-globalkeys";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "lo5FG6+kQTm15MEh+CZO2DvywsLrmX4sKzs4Rka6GSo=";
+    hash = "sha256-2S61d7BSuDPU1dNXLENpmpt6BB+CAeCtBVQS+ZGxrtU=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/lxqt-menu-data/default.nix b/pkgs/desktops/lxqt/lxqt-menu-data/default.nix
new file mode 100644
index 00000000000..5ac4a5b0b71
--- /dev/null
+++ b/pkgs/desktops/lxqt/lxqt-menu-data/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qttools
+, gitUpdater
+}:
+
+mkDerivation rec {
+  pname = "lxqt-menu-data";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "lxqt";
+    repo = pname;
+    rev = version;
+    hash = "sha256-I9jb2e57ZBvND27F5C1zMaoFtij5TetmN9zbJSjxiS4=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    lxqt-build-tools
+    qttools
+  ];
+
+  passthru.updateScript = gitUpdater { };
+
+  meta = with lib; {
+    homepage = "https://github.com/lxqt/lxqt-menu-data";
+    description = "Menu files for LXQt Panel, Configuration Center and PCManFM-Qt/libfm-qt";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = teams.lxqt.members;
+  };
+}
diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 47792b35388..a39c560d48d 100644
--- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -15,23 +15,23 @@
 
 mkDerivation rec {
   pname = "lxqt-notificationd";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "zfoTc+O8eYpUc13vzHUuk71q+MATNGEGtiYhQmFldtw=";
+    hash = "sha256-Y3+ShGb1DKJw4zv3SCwEq2unJesI1q5OaTlSO8fP76A=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtsvg
     kwindowsystem
     liblxqt
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index a14cbd7da24..ab23fc36da8 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -15,23 +15,23 @@
 
 mkDerivation rec {
   pname = "lxqt-openssh-askpass";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "6S+x8Az9e7rZ8i5p6+F3PZjx7k8fJcM1b/55dJdkuOM=";
+    hash = "sha256-o/hJdaGtjcJiwjqfvfwfcOUv4YdAeeW+rCxsmZZdJQ0=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     kwindowsystem
@@ -47,5 +47,6 @@ mkDerivation rec {
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = teams.lxqt.members;
+    mainProgram = "lxqt-openssh-askpass";
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index fb901742ea6..16895a1aa95 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -14,9 +14,9 @@
 , libstatgrab
 , libsysstat
 , lm_sensors
-, lxmenu-data
 , lxqt-build-tools
 , lxqt-globalkeys
+, lxqt-menu-data
 , gitUpdater
 , menu-cache
 , pcre
@@ -30,19 +30,20 @@
 
 mkDerivation rec {
   pname = "lxqt-panel";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "tSj7GGIvneYapkyqqgSMJtPGApC1fdpiId2XgQF5xf0=";
+    hash = "sha256-LQq1XOA0dGXXORVr2H/gI+axvCAd4P3nB4zCFYWgagc=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
@@ -57,13 +58,12 @@ mkDerivation rec {
     libstatgrab
     libsysstat
     lm_sensors
-    lxmenu-data
     lxqt-globalkeys
+    lxqt-menu-data
     menu-cache
     pcre
     qtbase
     qtsvg
-    qttools
     qtx11extras
     solid
     xorg.libXdmcp
diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 0478c108e21..da3480b73e3 100644
--- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -19,24 +19,24 @@
 
 mkDerivation rec {
   pname = "lxqt-policykit";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "ZcftMdMBj/7OhxRZ34AB0IW5CfDYTT8JZLJejTb0XVg=";
+    hash = "sha256-w0o76oBFNy3syQqyFZdAbFUu8yX+uA6cMOHf3WfKPEU=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     polkit
diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 32834a4a49a..1823e7fb5d0 100644
--- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -18,23 +18,23 @@
 
 mkDerivation rec {
   pname = "lxqt-powermanagement";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "lnEi3Emwx3ykIx1ZlRMjRP3FAaYgIhsVpY9r0dT3DEE=";
+    hash = "sha256-1koP+ElW5e85TJqToaErnGkTn3uRHk45bDDrXG6Oy68=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index 4b27307520c..264575b019d 100644
--- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -15,18 +15,19 @@
 
 mkDerivation rec {
   pname = "lxqt-qtplugin";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "/phBrpSru/4m+mcAkn4C6hKm5H2BAXNkbTgU2HmoyBg=";
+    hash = "sha256-0shNkM1AGAjzMQDGLOIP2DFx6goJGoD0U0Gr+rRRFrk=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
@@ -35,7 +36,6 @@ mkDerivation rec {
     libqtxdg
     qtbase
     qtsvg
-    qttools
     qtx11extras
   ];
 
diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix
index 7300331ab98..3d5bdf0a01b 100644
--- a/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -20,24 +20,24 @@
 
 mkDerivation rec {
   pname = "lxqt-runner";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "iC0XTdgB1+hwMfc/45JiEfAhwadbFOgTTJj9Kvxx+l4=";
+    hash = "sha256-NGytLQ2D5t1UdMGZoeHxHaXPwbRFDx+11ocjImXqZBU=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtsvg
     qtx11extras
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix
index 6de643d7273..421d166734f 100644
--- a/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -20,24 +20,24 @@
 
 mkDerivation rec {
   pname = "lxqt-session";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "jhz1OHnPvjZMSo8+X/pf8rVLjPPSEiE7BDLnhUp/Vbk=";
+    hash = "sha256-kVDPJPYBwK7aXCIWGClwfM9J3067U8lPVWt0jFfqooY=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtsvg
     qtx11extras
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 6d5fd9da854..73794bad7a1 100644
--- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -16,23 +16,23 @@
 
 mkDerivation rec {
   pname = "lxqt-sudo";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "S+NWoF1l0HPOwceWwhfmGo7Xrm+6GeoMpJbGpK16rZs=";
+    hash = "sha256-J7jiap3qZD+P0kGzt+b3wa16pxbS2fr3OmalhV5O9ro=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 1cbc1949b20..a9a957091df 100644
--- a/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -14,7 +14,7 @@ mkDerivation rec {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "bmkvg62lNFRhSerKFSo2POP8MWa1ZrdSi2E9nWDQSRQ=";
+    hash = "sha256-bmkvg62lNFRhSerKFSo2POP8MWa1ZrdSi2E9nWDQSRQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix
index 2adfc9ac2dc..4ebd052a5ef 100644
--- a/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -15,25 +15,25 @@
 
 mkDerivation rec {
   pname = "obconf-qt";
-  version = "0.16.2";
+  version = "0.16.3";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "zxwQfKowgpLjfxSV2t7Ly8o7DFqoIxi60zIVCcKDQWo=";
+    hash = "sha256-ExBcP+j1uf9Y8f6YfZsqyD6YTx1PriS3w8I6qdqQGeE=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     pcre
     qtbase
-    qttools
     qtx11extras
     xorg.libpthreadstubs
     xorg.libXdmcp
diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index 3bff6b7f1eb..f5b69b2e85f 100644
--- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -3,38 +3,34 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
-, lxqt
+, lxqt-build-tools
 , libpulseaudio
-, pcre
 , qtbase
 , qttools
-, qtx11extras
 , gitUpdater
 }:
 
 mkDerivation rec {
   pname = "pavucontrol-qt";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "cXYJ9EMmZ1LHBvjRWM1TEv7ADdG69DTyb5DZN7q3NIQ=";
+    hash = "sha256-eNhoqY1pak96x0xCypvgHmgCYjw4CYH8ABtWjIZrD3w=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
-    lxqt.lxqt-build-tools
+    lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
-    qtx11extras
     libpulseaudio
-    pcre
   ];
 
   passthru.updateScript = gitUpdater { };
diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index b26c30b14e0..ea2f6047457 100644
--- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -4,43 +4,43 @@
 , cmake
 , pkg-config
 , libexif
-, lxqt
+, lxqt-build-tools
+, lxqt-menu-data
 , qtbase
 , qttools
 , qtx11extras
 , qtimageformats
 , libfm-qt
 , menu-cache
-, lxmenu-data
 , gitUpdater
 }:
 
 mkDerivation rec {
   pname = "pcmanfm-qt";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "qqvjsZRG+ImKHr+XLNNHhnAe1kBWh47/nFcKB1MTSJo=";
+    hash = "sha256-+U8eV6oDpaJfTzejsVtbcaQrfSjWUnVpnIDbkvVCY/c=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
-    lxqt.lxqt-build-tools
+    lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     libexif
+    lxqt-menu-data
     qtbase
-    qttools
     qtx11extras
     qtimageformats # add-on module to support more image file formats
     libfm-qt
     menu-cache
-    lxmenu-data
   ];
 
   passthru.updateScript = gitUpdater { };
diff --git a/pkgs/desktops/lxqt/qlipper/default.nix b/pkgs/desktops/lxqt/qlipper/default.nix
index 64ce835d3a6..91f11e8d137 100644
--- a/pkgs/desktops/lxqt/qlipper/default.nix
+++ b/pkgs/desktops/lxqt/qlipper/default.nix
@@ -15,16 +15,16 @@ mkDerivation rec {
     owner = "pvanek";
     repo = pname;
     rev = version;
-    sha256 = "0zpkcqfylcfwvadp1bidcrr64d8ls5c7bdnkfqwjjd32sd35ly60";
+    hash = "sha256-wHhaRtNiNCk5dtO2dVjRFDVicmYtrnCb2twx6h1m834=";
   };
 
   nativeBuildInputs = [
     cmake
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
   ];
 
   passthru.updateScript = gitUpdater { };
diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix
index 4873c1055cb..0b6b81a4e39 100644
--- a/pkgs/desktops/lxqt/qps/default.nix
+++ b/pkgs/desktops/lxqt/qps/default.nix
@@ -14,18 +14,19 @@
 
 mkDerivation rec {
   pname = "qps";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "70mANEnui/orN+8eIBzCCSsh5wvPXuPUAAwRcXtHsaY=";
+    hash = "sha256-Xr+61t6LzoXASHuXrE5ro3eWGxMSDCVnck49dCtiaww=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
@@ -33,7 +34,6 @@ mkDerivation rec {
     liblxqt
     libqtxdg
     qtbase
-    qttools
     qtx11extras
   ];
 
diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix
index e49b717cb23..0a1bf1f82d1 100644
--- a/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/pkgs/desktops/lxqt/qterminal/default.nix
@@ -13,23 +13,23 @@
 
 mkDerivation rec {
   pname = "qterminal";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "/R/fv8UAOeCVvXXBAXjturTTmN/LeqLKFJjAmEry2WU=";
+    hash = "sha256-nojNx351lYw0jVKEvzAIDP1WrZWcCAlfYMxNG95GcEo=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtermwidget
   ];
@@ -43,6 +43,6 @@ mkDerivation rec {
     description = "A lightweight Qt-based terminal emulator";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ globin ] ++ teams.lxqt.members;
+    maintainers = with maintainers; teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix
index 719183095a9..e92df23f2d5 100644
--- a/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -11,23 +11,23 @@
 
 mkDerivation rec {
   pname = "qtermwidget";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "eir9PvJXzAQYwRqoUf0Nc4SfkVGa7bohbJVdKPCoyNs=";
+    hash = "sha256-wYUOqAiBjnupX1ITbFMw7sAk42V37yDz9SrjVhE4FgU=";
   };
 
   nativeBuildInputs = [
     cmake
     lxqt-build-tools
+    qttools
   ];
 
   buildInputs = [
     qtbase
-    qttools
   ];
 
   passthru.updateScript = gitUpdater { };
diff --git a/pkgs/desktops/lxqt/qtxdg-tools/default.nix b/pkgs/desktops/lxqt/qtxdg-tools/default.nix
index aa8ea1acd97..10476a00cf7 100644
--- a/pkgs/desktops/lxqt/qtxdg-tools/default.nix
+++ b/pkgs/desktops/lxqt/qtxdg-tools/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "qtxdg-tools";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iUvjLZbTDBsQw7PIA0LUAvhoq6FrdbLhjbMwKdE01Hc=";
+    hash = "sha256-3i5SVhEMHar09xoSfVCxJtPXeR81orcNR7pSIJImipQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix
index f4f94e23786..59513dfebfd 100644
--- a/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/pkgs/desktops/lxqt/screengrab/default.nix
@@ -17,25 +17,25 @@
 
 mkDerivation rec {
   pname = "screengrab";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "ySC5bCOnen2bjhmLY4GnwiFaUrvGx93LJrLQo0pBUc4=";
+    hash = "sha256-mmN3BQum7X0GWTUYauEN2mAo3GWdmtkIl2i84g5cp78=";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
     perl # needed by LXQtTranslateDesktop.cmake
+    qttools
     autoPatchelfHook # fix libuploader.so and libextedit.so not found
   ];
 
   buildInputs = [
     qtbase
-    qttools
     qtx11extras
     qtsvg
     kwindowsystem
diff --git a/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix
index 9f6a8f3ecf4..622a445bb9f 100644
--- a/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix
+++ b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "xdg-desktop-portal-lxqt";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "gH4L6cjx3DjGWcgoqUSnsx4Bn+T9t03AXPB5ZNDa0Nw=";
+    hash = "sha256-6yfLjDK8g8cpeeyuFUEjERTLLn6h3meKjD2Eb7Cj9qY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 8fb4738a9a4..fc5a8e93d9b 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja";
-  version = "1.26.1";
+  version = "1.26.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "MP1ubwCjggD24uiYrX+nl4drsGDx0DQd0vc5MnnhTAc=";
+    sha256 = "gT7fCKNvmV7DwVBBMf+K+70CH24VhmQ/5dztXnPleQ0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix
index 5ae845b104f..b65a91e0044 100644
--- a/pkgs/desktops/mate/libmateweather/default.nix
+++ b/pkgs/desktops/mate/libmateweather/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , gettext
 , glib
+, glib-networking
 , libxml2
 , gtk3
 , libsoup
@@ -13,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmateweather";
-  version = "1.26.1";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "wgCZD0uOnU0OLG99MaWHY3TD0qNsa4y1kEQAQ6hg7zo=";
+    sha256 = "ylCoFYZlXPU6j5Z2a5zpCk0H7Q/hYr1eFdra3QBgx/Y=";
   };
 
   strictDeps = true;
@@ -30,11 +31,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk3
     libsoup
     tzdata
   ];
 
+  propagatedBuildInputs = [
+    glib
+    glib-networking # for obtaining IWIN forecast data
+    gtk3
+  ];
+
   configureFlags = [
     "--with-zoneinfo-dir=${tzdata}/share/zoneinfo"
     "--enable-locations-compression"
diff --git a/pkgs/desktops/mate/mate-indicator-applet/default.nix b/pkgs/desktops/mate/mate-indicator-applet/default.nix
index 7d0d1eec009..b6445151f59 100644
--- a/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/pkgs/desktops/mate/mate-indicator-applet/default.nix
@@ -4,7 +4,7 @@
 , pkg-config
 , gettext
 , gtk3
-, libindicator-gtk3
+, libayatana-indicator
 , mate
 , hicolor-icon-theme
 , wrapGAppsHook
@@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
     sha256 = "144fh9f3lag2cqnmb6zxlh8k83ya8kha6rmd7r8gg3z5w3nzpyz4";
   };
 
+  postPatch = ''
+    # Find installed Unity & Ayatana (new-style) indicators
+    substituteInPlace src/applet-main.c \
+      --replace '/usr/share' '/run/current-system/sw/share'
+  '';
+
   nativeBuildInputs = [
     pkg-config
     gettext
@@ -28,11 +34,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
-    libindicator-gtk3
+    libayatana-indicator
     mate.mate-panel
     hicolor-icon-theme
   ];
 
+  configureFlags = [ "--with-ayatana-indicators" ];
+
   enableParallelBuilding = true;
 
   passthru.updateScript = mateUpdateScript { inherit pname; };
diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index 3ba0d855a26..6c39e69f0c0 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-system-monitor";
-  version = "1.26.0";
+  version = "1.26.1";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13rkrk7c326ng8164aqfp6i7334n7zrmbg61ncpjprbrvlx2qiw3";
+    sha256 = "HrX7m2y0qK2DCyboR6m70B1WiqvTg8Yo7p8IQJuJKOc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-tweak/default.nix b/pkgs/desktops/mate/mate-tweak/default.nix
index 19d8f1f5312..f4c2d76d52b 100644
--- a/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/pkgs/desktops/mate/mate-tweak/default.nix
@@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [
     wrapGAppsHook
     intltool
-    python3Packages.distutils_extra
+    python3Packages.distutils-extra
     gobject-introspection
   ];
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 4716d217c26..12d0740c438 100644
--- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -14,7 +13,6 @@
 , libgee
 , libhandy
 , granite
-, libnotify
 , pango
 , elementary-dock
 , bamf
@@ -28,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-files";
-  version = "6.5.0";
+  version = "6.5.2";
 
   outputs = [ "out" "dev" ];
 
@@ -36,18 +34,9 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = "files";
     rev = version;
-    sha256 = "sha256-E1e2eXGpycl2VXEUvUir5G3MRLz/4TQMvmOuWgU9JNc=";
+    sha256 = "sha256-YwXyqZ0exwQ3Qx+VWWyTTmhqCVr6be8tqzS1k3Luo8o=";
   };
 
-  patches = [
-    # meson: Don't run gtk-update-icon-cache
-    # https://github.com/elementary/files/pull/2294
-    (fetchpatch {
-      url = "https://github.com/elementary/files/commit/758ece9fb29eb4a25f47065710dad4ac547ca2ce.patch";
-      hash = "sha256-+OASDsOPH0g5Cyxw4JmVxA70zQHhcpqLMKKYP4VLTO0=";
-    })
-  ];
-
   nativeBuildInputs = [
     desktop-file-utils
     meson
@@ -68,7 +57,6 @@ stdenv.mkDerivation rec {
     libgee
     libgit2-glib
     libhandy
-    libnotify
     pango
     sqlite
     systemd
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 74f5592e8ee..9024b823542 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-network";
-  version = "2.4.4";
+  version = "unstable-2023-09-05"; # 2.4.4 does not support networkmanager 1.44
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-g62+DF84eEI+TvUr1OkeqLnCLz/b7e+xwuTNZS0WJQA=";
+    rev = "3b69132788ff8734a481d498b49207e05a4f7d70";
+    hash = "sha256-XWiihU/FK6oeWQWRYsc/IxqafuvwA89ZE3o/WzaxudE=";
   };
 
   patches = [
diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index c297ec27a3a..f2946f49920 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenvNoCC
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , gettext
 , meson
@@ -12,24 +11,15 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "elementary-gtk-theme";
-  version = "7.2.0";
+  version = "7.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "stylesheet";
     rev = version;
-    sha256 = "sha256-ZR0FJ8DkPlO1Zatvxv3NghAVBPo2j+1m0k4C+gvYPVA=";
+    sha256 = "sha256-KrpeDQH43n7seeSPVYKETxy1g0JuUowZerjgktLQg/4=";
   };
 
-  patches = [
-    # Headerbars: fix missing default-decoration
-    # https://github.com/elementary/stylesheet/pull/1258
-    (fetchpatch {
-      url = "https://github.com/elementary/stylesheet/commit/9cea2383bec8f90d25f1e9b854b5221737487521.patch";
-      sha256 = "sha256-6komROS4+nxwoGoKoiDmnrTfLNZAvnTU6hIEOQQfmxc=";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     meson
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index 9b832ccde44..dedf372d6e8 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-j4K8qYwfu6/s4qnTSzwv6KRsk9f+Qr/l1bhLywKMHMU=";
   };
 
+  patches = [
+    # Add pantheon-portals.conf
+    # https://github.com/elementary/default-settings/pull/293
+    (fetchpatch {
+      url = "https://github.com/elementary/default-settings/commit/8201eeb6a356e6059b505756ef7a556a6848ad3b.patch";
+      sha256 = "sha256-qhGj7WQTAWJTC1kouUZhBWKqyO4hQWJghEhLVl8QVUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     accountsservice
     dbus
diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix
index ebf99d6ed0f..61d9c120b24 100644
--- a/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gala";
-  version = "7.1.2";
+  version = "7.1.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-g+Zcdl6SJ4uO6I1x3Ru6efZkf+O3UaW790n/zxmGkHU=";
+    sha256 = "sha256-0fDbR28gh7F8Bcnofn48BBP1CTsYnfmY5kG72ookOXw=";
   };
 
   patches = [
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index d5bb01cecb9..3e89aa38189 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , substituteAll
 , pkg-config
@@ -18,24 +17,15 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-network";
-  version = "7.0.1";
+  version = "7.0.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pz2sWN33d20/fMByR+XrNz2lxPdgCA6vxism3E/Fh/I=";
+    sha256 = "sha256-PqTnopacT1/Ctx8VH6b35tiVI+3ZlrdFcRsDpAWm4a0=";
   };
 
-  patches = [
-    # PopoverWidget: fix flowbox child focus
-    # https://github.com/elementary/wingpanel-indicator-network/pull/288
-    (fetchpatch {
-      url = "https://github.com/elementary/wingpanel-indicator-network/commit/88db9004249334e1316321e0373a3065900fe6f1.patch";
-      sha256 = "sha256-rpAULo4qVPO3yr7cBVeKyT7L43zHVEdYLJD4x0ukBs4=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix
index a140d9cdcb0..782fcf0fa89 100644
--- a/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix
+++ b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-tweaks";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "pantheon-tweaks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wj9bvcES8JAgDtW0Damfd8VQNLK+SCFTDVWp/nYGcgI=";
+    sha256 = "sha256-KYnrQnh/Zz3EjMAqasdk2CZMXzw15txKtPm/K5+FzhI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix
index b9d3dd80a23..2c2600845b2 100644
--- a/pkgs/desktops/plasma-5/discover.nix
+++ b/pkgs/desktops/plasma-5/discover.nix
@@ -8,7 +8,6 @@
 , flatpak
 , fwupd
 , ostree
-, packagekit-qt
 , pcre
 , util-linux
 , qtquickcontrols2
@@ -42,7 +41,6 @@ mkDerivation {
     flatpak
     fwupd
     ostree
-    packagekit-qt
     pcre
     util-linux
     qtquickcontrols2
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 65f33dbda84..533240fc8f0 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.8/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.9/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 05adf949afa..af5edc2f7d0 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -148,6 +148,12 @@ mkDerivation {
   patches = [
     ./0001-startkde.patch
     ./0002-absolute-wallpaper-install-dir.patch
+
+    # Backport patch for cleaner shutdowns
+    (fetchpatch {
+      url = "https://invent.kde.org/plasma/plasma-workspace/-/commit/6ce8f434139f47e6a71bf0b68beae92be8845ce4.patch";
+      hash = "sha256-cYw/4/9tSnCbArLr72O8F8V0NLkVXdCVnJGoGxSzZMg=";
+    })
   ];
 
   # QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index c26af1cfacc..c20ded466ee 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,475 +4,475 @@
 
 {
   aura-browser = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/aura-browser-5.27.8.tar.xz";
-      sha256 = "0963d09whxld1l6fmi3z5qdkdvhl49khak3zjrq3cgs9sifvx08h";
-      name = "aura-browser-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/aura-browser-5.27.9.tar.xz";
+      sha256 = "1962h3m52yzvj60r9y6cwfzqz4sgg0867n420w27r40cz23nr0fy";
+      name = "aura-browser-5.27.9.tar.xz";
     };
   };
   bluedevil = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/bluedevil-5.27.8.tar.xz";
-      sha256 = "09bq19xh5cms6zkp8rkf954mz6bf6k6cv345z28ai9a7l386y2rv";
-      name = "bluedevil-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/bluedevil-5.27.9.tar.xz";
+      sha256 = "0vjbcaalsmkbx1bccflpvjpdmw8gcym28qqybp0h2z983mj6i0b6";
+      name = "bluedevil-5.27.9.tar.xz";
     };
   };
   breeze = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/breeze-5.27.8.tar.xz";
-      sha256 = "0i1ywyq848g51glw8qkk2v5syp05c5d0dhyv1s6g393lrd9q596d";
-      name = "breeze-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/breeze-5.27.9.tar.xz";
+      sha256 = "0ks6y9qhwkqbbfivnbw46vk41kapaxgdzmhnbzzywpwpbqlidias";
+      name = "breeze-5.27.9.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/breeze-grub-5.27.8.tar.xz";
-      sha256 = "08jws31cci1qyxsy5als31rrcld2j87bqq5ir9v1cch7j8vq1cz0";
-      name = "breeze-grub-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/breeze-grub-5.27.9.tar.xz";
+      sha256 = "1bbmwj5b0xzqrb3w318l805an6rnvbnrd03ad05qnf84fg24cvn9";
+      name = "breeze-grub-5.27.9.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/breeze-gtk-5.27.8.tar.xz";
-      sha256 = "1kpaxw7c41159bkxbv8kcjzrhdyizrllfvilrsiszr6vfcmla3s0";
-      name = "breeze-gtk-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/breeze-gtk-5.27.9.tar.xz";
+      sha256 = "03h1kbrh1rp7h4pslghpb9fjnyg0gg8khkds0la4bvjy85a3jsx8";
+      name = "breeze-gtk-5.27.9.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/breeze-plymouth-5.27.8.tar.xz";
-      sha256 = "0p1vmmlvdg29whvsmvwgxpj4slr11z2wacnnbvq91y98q9jb1p8f";
-      name = "breeze-plymouth-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/breeze-plymouth-5.27.9.tar.xz";
+      sha256 = "1wqnfzwjgwma2cxvnawwicj3z8kxwh0yjvrh3x5kzc586q0zj01r";
+      name = "breeze-plymouth-5.27.9.tar.xz";
     };
   };
   discover = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/discover-5.27.8.tar.xz";
-      sha256 = "1lqg0bcqmcvvhdlxgll8psppxyq0m7r4w5awfjjcpgajmsxzrigi";
-      name = "discover-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/discover-5.27.9.tar.xz";
+      sha256 = "1m97zn2q22842dhamavpa6q49bm0vxl3kq1qgr3nhbmskk1swfg7";
+      name = "discover-5.27.9.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/drkonqi-5.27.8.tar.xz";
-      sha256 = "0b6vs4acsakhxkz44yjyhzdqba7yzm0nbabsnp8wqkp1dm8cr3wb";
-      name = "drkonqi-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/drkonqi-5.27.9.tar.xz";
+      sha256 = "04nx1wkgz5cdc615611jn1672mnrsl2z3a8xznrqr6cbfpw9ghsm";
+      name = "drkonqi-5.27.9.tar.xz";
     };
   };
   flatpak-kcm = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/flatpak-kcm-5.27.8.tar.xz";
-      sha256 = "0mgdmbb0zkvzs3kwvgwk6sn5vj80m3wnccm53x9j5j02a40631nw";
-      name = "flatpak-kcm-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/flatpak-kcm-5.27.9.tar.xz";
+      sha256 = "0zcadkabnp37ab0p5adih9kh81iapn5hzc0j07rx81kk40j9p58s";
+      name = "flatpak-kcm-5.27.9.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kactivitymanagerd-5.27.8.tar.xz";
-      sha256 = "1n9jx3nxpdklm9cl82kz4racxq1f51gqfidp0mdxx7w3wzhnqjyl";
-      name = "kactivitymanagerd-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kactivitymanagerd-5.27.9.tar.xz";
+      sha256 = "1gn9a2rkyqljm9ry54kwfca7crmad71fr7fkan9l5cjsjrqqk3sn";
+      name = "kactivitymanagerd-5.27.9.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kde-cli-tools-5.27.8.tar.xz";
-      sha256 = "18v72ja1wdyql8a8r8bjzmgz5x7pqg2s2akv156py1x9gfah5fm2";
-      name = "kde-cli-tools-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kde-cli-tools-5.27.9.tar.xz";
+      sha256 = "01kx8xg6mlkl3n710vas536vwrni023h1655bs0ixzp12ngsdw86";
+      name = "kde-cli-tools-5.27.9.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kde-gtk-config-5.27.8.tar.xz";
-      sha256 = "1lyrlqm34rll830ykak83c2r22v4blbgchnr6grchaz3hd1njz4p";
-      name = "kde-gtk-config-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kde-gtk-config-5.27.9.tar.xz";
+      sha256 = "04lrc6anqljfyqhw9mwanxhjbbknfd1hkk2baxlhi49f9rzdhjw0";
+      name = "kde-gtk-config-5.27.9.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kdecoration-5.27.8.tar.xz";
-      sha256 = "12f8n0y3syj9yim7vjzrawyw9471yzqrb2irsdm5jjpsqqzkxbfy";
-      name = "kdecoration-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kdecoration-5.27.9.tar.xz";
+      sha256 = "0zjk51pww3z6vsgdm5dxya2b3ngrdpxbmizdcin40zj37mkpz7bm";
+      name = "kdecoration-5.27.9.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kdeplasma-addons-5.27.8.tar.xz";
-      sha256 = "0ik59yfbal16k06jl89r1bl8n342rysw4p02y089jbg1n658cdbb";
-      name = "kdeplasma-addons-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kdeplasma-addons-5.27.9.tar.xz";
+      sha256 = "0ysg5rzr0zywxx9wyg82x3l0skg7ld0wn270i4rryia8agdx49ps";
+      name = "kdeplasma-addons-5.27.9.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kgamma5-5.27.8.tar.xz";
-      sha256 = "05ily30mh3wr17ax58ahkwkaa2fa0nkp8mi73s2w7y6g38khqgs8";
-      name = "kgamma5-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kgamma5-5.27.9.tar.xz";
+      sha256 = "1ks4f1v2cm770j0q2fpd432kpmsg6daa29hjvcbdczfg8gxrnjn8";
+      name = "kgamma5-5.27.9.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/khotkeys-5.27.8.tar.xz";
-      sha256 = "07m1ca39lxgiq29ls9n3bmrdycr18znwbcy4lq14i4g18f027qlc";
-      name = "khotkeys-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/khotkeys-5.27.9.tar.xz";
+      sha256 = "1s6whyqbz331j8nyz0f5k54ww22awcyq0gqpg2sfjwm5rclms6kn";
+      name = "khotkeys-5.27.9.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kinfocenter-5.27.8.tar.xz";
-      sha256 = "1k6rm87i4hls6b3x9prl2aqx3lpikisf3w3p35r6kcxsd2gn4vxg";
-      name = "kinfocenter-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kinfocenter-5.27.9.tar.xz";
+      sha256 = "0qp89b2js74qnfcc3b79ywi8g329scc0xypz9kjlzcncp6q79gq3";
+      name = "kinfocenter-5.27.9.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kmenuedit-5.27.8.tar.xz";
-      sha256 = "17zk2jb3jbvw396r83481zj9md3k8hy90al3yz9i41ihyj9hl25f";
-      name = "kmenuedit-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kmenuedit-5.27.9.tar.xz";
+      sha256 = "1ngbf7jrgsp5qnk38zw22vm07lpr2hizi5l5n6jy4754d756ndn8";
+      name = "kmenuedit-5.27.9.tar.xz";
     };
   };
   kpipewire = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kpipewire-5.27.8.tar.xz";
-      sha256 = "1027a23m7kxmw6gxs93wssgc22pg91jhnmbxm1mghd2695nlrrjs";
-      name = "kpipewire-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kpipewire-5.27.9.tar.xz";
+      sha256 = "086h2mfb8isravj9wypvislwwg2yf72rkzly4zsnx3r0dh8lyyqv";
+      name = "kpipewire-5.27.9.tar.xz";
     };
   };
   kscreen = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kscreen-5.27.8.tar.xz";
-      sha256 = "06q4iyn7mg0mmcardafzx6vzd1i3cm2kxdc22daw4mm0kqwjpjql";
-      name = "kscreen-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kscreen-5.27.9.tar.xz";
+      sha256 = "0nz1lm2i4h2w9m6pdw2diqii11sx38lwz2yrk4mzxsq229c97rij";
+      name = "kscreen-5.27.9.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kscreenlocker-5.27.8.tar.xz";
-      sha256 = "05px5ksppa6ladldwmksyhyyxbwwlzsy7dxwicvcbd7c521r6gws";
-      name = "kscreenlocker-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kscreenlocker-5.27.9.tar.xz";
+      sha256 = "0kc7j69rbf66ji8s250iza4aq1cvpfgz43r59vrzr1in1a6a9077";
+      name = "kscreenlocker-5.27.9.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/ksshaskpass-5.27.8.tar.xz";
-      sha256 = "1bcrhmnkivig68lavk50qfhal4v7bycqh2npa7dnca4lanx1ki37";
-      name = "ksshaskpass-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/ksshaskpass-5.27.9.tar.xz";
+      sha256 = "0wwarxw8xrmwmyfscvy9dr5r2g8zmdk0qjipydg3i8dcpxqd1n67";
+      name = "ksshaskpass-5.27.9.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/ksystemstats-5.27.8.tar.xz";
-      sha256 = "0nli13g5mzm3lj4hba9vz90ikn6j2644pbdp8qmrmfzs991ma5if";
-      name = "ksystemstats-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/ksystemstats-5.27.9.tar.xz";
+      sha256 = "0lbr84jv70qqayq6a8nvmcbd582696zpcrf108kzpxzd0smbbnij";
+      name = "ksystemstats-5.27.9.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kwallet-pam-5.27.8.tar.xz";
-      sha256 = "0mgv2blyzq36r0y47nvj7n9wi2k7jf855karxh77rbra8arglxxs";
-      name = "kwallet-pam-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kwallet-pam-5.27.9.tar.xz";
+      sha256 = "1kjjrd84fxnpm9jv7n9ndbnfch2x904l2xxi0g85fv4ipfm0z6bn";
+      name = "kwallet-pam-5.27.9.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kwayland-integration-5.27.8.tar.xz";
-      sha256 = "11bkd11m6srnmwy8vz11228mb1rfhfni9s0arwrzqq8xgjivfzbs";
-      name = "kwayland-integration-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kwayland-integration-5.27.9.tar.xz";
+      sha256 = "1rg2vyry9lv9d1bkhwnlhxx8pjridbqhs1758kgls5dk9q4g05wn";
+      name = "kwayland-integration-5.27.9.tar.xz";
     };
   };
   kwin = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kwin-5.27.8.tar.xz";
-      sha256 = "1s9j0wkwsqvqnld8ndgldhg6ifnpml73cswbx4yay1c8cilcs9p7";
-      name = "kwin-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kwin-5.27.9.tar.xz";
+      sha256 = "1fvqamjhl5vij7kqd7sk0xcpv12rv965a1qk9pbnd2gqlqgnjkyr";
+      name = "kwin-5.27.9.tar.xz";
     };
   };
   kwrited = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/kwrited-5.27.8.tar.xz";
-      sha256 = "0y45kh4zdsh2jb8r51kpdacayyf6nba0xnhgks9bk70i6g9vj5s9";
-      name = "kwrited-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/kwrited-5.27.9.tar.xz";
+      sha256 = "1x2mci8bnwpfcccc9ps7aaqpmg7yzc37hdr13vaqy71i8qkf7a76";
+      name = "kwrited-5.27.9.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/layer-shell-qt-5.27.8.tar.xz";
-      sha256 = "1aw8qs85k714nccb9gnslk3af1gj52b8x2ll9jgvbfhh2yx2lbvp";
-      name = "layer-shell-qt-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/layer-shell-qt-5.27.9.tar.xz";
+      sha256 = "0vw8cvp27is951dlzfzwkrx7l6480wdxsdfp16ihsa34yzcpw837";
+      name = "layer-shell-qt-5.27.9.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/libkscreen-5.27.8.tar.xz";
-      sha256 = "0843db3f6b11nfr41bjf22jc74ff36x727sy548a75z2ipajymll";
-      name = "libkscreen-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/libkscreen-5.27.9.tar.xz";
+      sha256 = "0awvqchf48027f1zfl4n0llavl6nfnp30jvg7sx9anvzx6jb4ggs";
+      name = "libkscreen-5.27.9.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/libksysguard-5.27.8.tar.xz";
-      sha256 = "0zgx8miggiasfk519sqccd54mxa237is06v6nhpixv8a7ccc0950";
-      name = "libksysguard-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/libksysguard-5.27.9.tar.xz";
+      sha256 = "0xi1fb1irp9nxnnqgqwhdza5rf6bw2hpqlz5l0mwipd0xdgarx3h";
+      name = "libksysguard-5.27.9.tar.xz";
     };
   };
   milou = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/milou-5.27.8.tar.xz";
-      sha256 = "1rq8kkk609n0ccm0hrhp06lz82rny42dy3iz085048iasfl7d72d";
-      name = "milou-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/milou-5.27.9.tar.xz";
+      sha256 = "1y2si9gpmj363asvqd2iil14fwzmdd66f1fpsig05w1680dc35p8";
+      name = "milou-5.27.9.tar.xz";
     };
   };
   oxygen = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/oxygen-5.27.8.tar.xz";
-      sha256 = "12y4hfygd7v004cs1ydx01mbypljpvwjwdcww08570dz9zc8aasz";
-      name = "oxygen-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/oxygen-5.27.9.tar.xz";
+      sha256 = "0wx96v6v65yjal1x2c25adp3hnfrmsd2r1m5fzicfcbdk33yn834";
+      name = "oxygen-5.27.9.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/oxygen-sounds-5.27.8.tar.xz";
-      sha256 = "01d4lnfyrpyz7fxj5damdjlwdlfm7lywz82mk1xgs6g0f7lxg5yn";
-      name = "oxygen-sounds-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/oxygen-sounds-5.27.9.tar.xz";
+      sha256 = "0n9plr4xs6wl4v4qm71mxbvgl22cz5c5523bjv5mv5jgvp5wpzg1";
+      name = "oxygen-sounds-5.27.9.tar.xz";
     };
   };
   plank-player = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plank-player-5.27.8.tar.xz";
-      sha256 = "1bgdmiy6bzy08xjj2vd546p632dghpd1q5xlbbjhs6ck4a60q64k";
-      name = "plank-player-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plank-player-5.27.9.tar.xz";
+      sha256 = "0vfmab3fab7izz43j6hssly001sp773swc53xf6z4dx0j210zb3d";
+      name = "plank-player-5.27.9.tar.xz";
     };
   };
   plasma-bigscreen = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-bigscreen-5.27.8.tar.xz";
-      sha256 = "0bigadshjprfsd7wlyn8apmb50ncwr74kb13hbnhh5kqadzv8kfl";
-      name = "plasma-bigscreen-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-bigscreen-5.27.9.tar.xz";
+      sha256 = "14dq3smb8rnpazr8mjs034gg9fidzj08nyggkqqwjiq774khv4wb";
+      name = "plasma-bigscreen-5.27.9.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-browser-integration-5.27.8.tar.xz";
-      sha256 = "1rwmnkkwf52i9c5dj11mr4ny3gylw6mb2g5iwzp7kqyaknnyqjlw";
-      name = "plasma-browser-integration-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-browser-integration-5.27.9.tar.xz";
+      sha256 = "1d9f6fppaqxiwxixxngsvpawx2zbdnj9mwl47x107axnc7gn6355";
+      name = "plasma-browser-integration-5.27.9.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-desktop-5.27.8.tar.xz";
-      sha256 = "1bmw7v8c8a4h63hjfg3ddg1r3ff6s0pri6fmml9430ynk850lrnz";
-      name = "plasma-desktop-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-desktop-5.27.9.tar.xz";
+      sha256 = "1rgjq7sla2x0icphaph2682k67n89znlyhp9nw95p8czpyqgbmkd";
+      name = "plasma-desktop-5.27.9.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-disks-5.27.8.tar.xz";
-      sha256 = "0yg2b8nqcws7sw25pxf4iwhr9qdg983x69arfls85xyjkkchnz4q";
-      name = "plasma-disks-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-disks-5.27.9.tar.xz";
+      sha256 = "0ikz5wv5429bc5i1ms8bdgmkm6x0f3jhs79ry8x2xq9q8f9cdraw";
+      name = "plasma-disks-5.27.9.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-firewall-5.27.8.tar.xz";
-      sha256 = "05w9716bs2fh126v85n6vy5ydglh0xbsasdzzq10mdbkmswjrfbf";
-      name = "plasma-firewall-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-firewall-5.27.9.tar.xz";
+      sha256 = "0mkkz6n7yi382lm5hsgn5pwi8dxz4csmry5jvrscmhg9azcwghpr";
+      name = "plasma-firewall-5.27.9.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-integration-5.27.8.tar.xz";
-      sha256 = "14f732s64mchqfspd5f29x0h03lysk57vvciribzndj5bgkzn77v";
-      name = "plasma-integration-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-integration-5.27.9.tar.xz";
+      sha256 = "1csx7sr9ilr2q5mm6qar945srqm6qak95g9x02g70pyl6d58fajq";
+      name = "plasma-integration-5.27.9.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-mobile-5.27.8.tar.xz";
-      sha256 = "0xzsil3jprpld5hq7b1al4pkbcckdx1iywq9kf4r0hvw70v9r7hn";
-      name = "plasma-mobile-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-mobile-5.27.9.tar.xz";
+      sha256 = "095fjn91zcipkh2blwjs70ff39yfrmh73ny2h6f2djkhgnr1xng0";
+      name = "plasma-mobile-5.27.9.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-nano-5.27.8.tar.xz";
-      sha256 = "1556i16x3cjs42jb1wkyi0y43p1cgmf5hq6hs8kxmdsnky0mbwn2";
-      name = "plasma-nano-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-nano-5.27.9.tar.xz";
+      sha256 = "1g3dyqwx05506mgq3v7n9n1j5dlnhf7lbb8kbk7whk8lfjc468n6";
+      name = "plasma-nano-5.27.9.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-nm-5.27.8.tar.xz";
-      sha256 = "0rischaaq8hbvrkdhhyasss5fq39q2i8n86qhq6alj4s571r6m57";
-      name = "plasma-nm-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-nm-5.27.9.tar.xz";
+      sha256 = "0k2qxyf09k3nk2n2dyg7a1xwx45r7m72nz0azvidlpy0v1j64g1a";
+      name = "plasma-nm-5.27.9.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-pa-5.27.8.tar.xz";
-      sha256 = "02yp7vyzjghhxpzsl8ahza09c2cb2l64jwax2r67kfhsvcr428v9";
-      name = "plasma-pa-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-pa-5.27.9.tar.xz";
+      sha256 = "07am1kk6sj9kr5vl2333lnlh3xjd8f7wkww7ra6vjif21wy7gm94";
+      name = "plasma-pa-5.27.9.tar.xz";
     };
   };
   plasma-remotecontrollers = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-remotecontrollers-5.27.8.tar.xz";
-      sha256 = "1xzs4gjfwfbva12j11fh626w1a8wi2aifc30dnga5c9yghfg75m2";
-      name = "plasma-remotecontrollers-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-remotecontrollers-5.27.9.tar.xz";
+      sha256 = "10zk35yrzpzkjw6a1g7mlr6w0nsi33h1hzrwqsvsqyac5j0yi25y";
+      name = "plasma-remotecontrollers-5.27.9.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-sdk-5.27.8.tar.xz";
-      sha256 = "1fwhfks4a0x4h55g08d5mfdncm2r8c1x35xkbsa7xzm5wdf1v5lz";
-      name = "plasma-sdk-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-sdk-5.27.9.tar.xz";
+      sha256 = "10rshr3d618gis6spi93zj5q012jhi9mm3ixgbvbxvhlzp8k0b3x";
+      name = "plasma-sdk-5.27.9.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-systemmonitor-5.27.8.tar.xz";
-      sha256 = "09qc6l6d17w61bdjn03a45dqp2sw8s8bp5bjh8cq61zrc7yfpimx";
-      name = "plasma-systemmonitor-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-systemmonitor-5.27.9.tar.xz";
+      sha256 = "1c9lyzfx21033335160j3cndkv19icm1lf9nnn88f7gz0zhkz73c";
+      name = "plasma-systemmonitor-5.27.9.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-thunderbolt-5.27.8.tar.xz";
-      sha256 = "05c7k0p6jb1s1bv4i5cilcid68s4pd5h4qp22hajmv14xk6a8pdk";
-      name = "plasma-thunderbolt-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-thunderbolt-5.27.9.tar.xz";
+      sha256 = "0rbmj0b0ckyaz5sqrrzxp4n049asb5hxyap0lslhg9js2vjdk239";
+      name = "plasma-thunderbolt-5.27.9.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-vault-5.27.8.tar.xz";
-      sha256 = "1r6yv9xp0cc0ly04wcnlkwf711jrpb3v5ix8w7rwvki9cnlah1w9";
-      name = "plasma-vault-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-vault-5.27.9.tar.xz";
+      sha256 = "1p6wdvqprr3bfia0lchvmk8c5ii3c629c9c8qy2r4c0xy3l0f42i";
+      name = "plasma-vault-5.27.9.tar.xz";
     };
   };
   plasma-welcome = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-welcome-5.27.8.tar.xz";
-      sha256 = "1laqdh014hmsivnncn5j1annmk6p82dadda3hnr94996fanphpqv";
-      name = "plasma-welcome-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-welcome-5.27.9.tar.xz";
+      sha256 = "1la7sb1ar06x79p80fh1qa09r3qd1gk53f3acr5az5k7gmjhpi1n";
+      name = "plasma-welcome-5.27.9.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.27.8";
+    version = "5.27.9.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-workspace-5.27.8.tar.xz";
-      sha256 = "1w0fnv9n8jcv34nw28v9hc08zb6lnwlwjql5041h13pja6cd4rd5";
-      name = "plasma-workspace-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-workspace-5.27.9.1.tar.xz";
+      sha256 = "8d00b691cfbb4d7218f97d0c68a677f41cba6eaf18e8fe29976c92d3718201b8";
+      name = "plasma-workspace-5.27.9.1.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plasma-workspace-wallpapers-5.27.8.tar.xz";
-      sha256 = "1qkzrgx90r79l2xvwwasiyby58ag00f3bimfgfwm2lk8qa4zm5mg";
-      name = "plasma-workspace-wallpapers-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plasma-workspace-wallpapers-5.27.9.tar.xz";
+      sha256 = "1gkk4ihpqbyfq394n1dhfkwrdfhnrvkgqbfp7xba82iygcx3zcwf";
+      name = "plasma-workspace-wallpapers-5.27.9.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/plymouth-kcm-5.27.8.tar.xz";
-      sha256 = "1spv976q95zip2cs9lwb7hlmcn2cr6gna0cky0lvagpi02kznpqj";
-      name = "plymouth-kcm-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/plymouth-kcm-5.27.9.tar.xz";
+      sha256 = "15cximix1cajylbb0c14q2rz1573kiby7c4h9iysap3ask7g633b";
+      name = "plymouth-kcm-5.27.9.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.27.8";
+    version = "1-5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/polkit-kde-agent-1-5.27.8.tar.xz";
-      sha256 = "13fgz47q1khra7vwl5wkm99bk279gmgivykg3jm9qy57rhakg5sq";
-      name = "polkit-kde-agent-1-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/polkit-kde-agent-1-5.27.9.tar.xz";
+      sha256 = "14h883ghn22xpjwbdld168m59zdmd6i5a7p6gszv2c6y3lpw3f03";
+      name = "polkit-kde-agent-1-5.27.9.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/powerdevil-5.27.8.tar.xz";
-      sha256 = "0jvp6sm6jrxk4j3h30076rv2jp21vpn17sins92phcms1i0yjry5";
-      name = "powerdevil-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/powerdevil-5.27.9.tar.xz";
+      sha256 = "1x78cjlkiz6jl79jhcd3l04glpxzsqbb6rhw1f5az7i3ywc2qh7f";
+      name = "powerdevil-5.27.9.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/qqc2-breeze-style-5.27.8.tar.xz";
-      sha256 = "1h7i3myr56by8j12rc09665qdxn2jhh4jxq25fg27g704ci3b55v";
-      name = "qqc2-breeze-style-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/qqc2-breeze-style-5.27.9.tar.xz";
+      sha256 = "1allsvr51si8v5b4xvzhpms3i4446vr9a9cfwhg72ll8ssfa46ld";
+      name = "qqc2-breeze-style-5.27.9.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/sddm-kcm-5.27.8.tar.xz";
-      sha256 = "1fgflgnirwa9i03fvrsq4dm6g9ikdwm1qqfha2xgk9ji2987rsj6";
-      name = "sddm-kcm-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/sddm-kcm-5.27.9.tar.xz";
+      sha256 = "0s5swqzmvb3hxsn66r99r70ha2gx9913c5vlffv1mawf5p2pzvk1";
+      name = "sddm-kcm-5.27.9.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/systemsettings-5.27.8.tar.xz";
-      sha256 = "1f9zfjw6wcq1rvzvsldg49n0axbi40fnf2qic4lj1yrdb9qi351y";
-      name = "systemsettings-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/systemsettings-5.27.9.tar.xz";
+      sha256 = "0q9qy7i1ndf0pw2irf15l9mvc451s0gwz7hx0wjf5kjppwx2z9ab";
+      name = "systemsettings-5.27.9.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.27.8";
+    version = "5.27.9";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.8/xdg-desktop-portal-kde-5.27.8.tar.xz";
-      sha256 = "0lrz4xfc7d6fv6dl4zxafkd5r2089f2rypkw90zsfqv39hjdy7vy";
-      name = "xdg-desktop-portal-kde-5.27.8.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.9/xdg-desktop-portal-kde-5.27.9.tar.xz";
+      sha256 = "1i2xqks1lx68rf79j67mzibsya43288sf0sl6azhwc14cw15xcdb";
+      name = "xdg-desktop-portal-kde-5.27.9.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/plasma-5/systemsettings.nix b/pkgs/desktops/plasma-5/systemsettings.nix
index 1c438df1b82..b1272081148 100644
--- a/pkgs/desktops/plasma-5/systemsettings.nix
+++ b/pkgs/desktops/plasma-5/systemsettings.nix
@@ -17,6 +17,7 @@
 , kactivities
 , kactivities-stats
 , kirigami2
+, kirigami-addons
 , kcrash
 , plasma-workspace
 }:
@@ -41,6 +42,7 @@ mkDerivation {
     kactivities
     kactivities-stats
     kirigami2
+    kirigami-addons
     kcrash
     plasma-workspace
   ];
diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix
index 9c5d44ade85..0cec370e1ac 100644
--- a/pkgs/desktops/xfce/applications/catfish/default.nix
+++ b/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   nativeBuildInputs = [
-    python3Packages.distutils_extra
+    python3Packages.distutils-extra
     file
     which
     intltool
@@ -64,6 +64,12 @@ python3Packages.buildPythonApplication rec {
   # Disable check because there is no test in the source distribution
   doCheck = false;
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   passthru.updateScript = gitUpdater { rev-prefix = "${pname}-"; };
 
   meta = with lib; {
diff --git a/pkgs/desktops/xfce/applications/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index c23abc1d561..393e6a8c5b2 100644
--- a/pkgs/desktops/xfce/applications/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "apps";
   pname = "gigolo";
-  version = "0.5.2";
+  version = "0.5.3";
   odd-unstable = false;
 
-  sha256 = "sha256-8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
+  sha256 = "sha256-dxaFuKbSqhj/l5JV31cI+XzgdghfbcVwVtwmRiZeff8=";
 
   buildInputs = [ gtk3 glib ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index 8d75389b079..b3f1537a8ac 100644
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -1,9 +1,12 @@
 { lib
 , mkXfceDerivation
+, dbus
 , glib
 , gtk3
+, gtk-layer-shell
 , libcanberra-gtk3
 , libnotify
+, libX11
 , libxfce4ui
 , libxfce4util
 , sqlite
@@ -14,15 +17,19 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-notifyd";
-  version = "0.8.2";
+  version = "0.9.3";
+  odd-unstable = false;
 
-  sha256 = "sha256-M8L2HWTuQDl/prD7s6uptkW4XDscpk6fc+epoxjFNS8=";
+  sha256 = "sha256-kgTKJAUB/w/6vtNm2Ewb2v62t0kFK+T8e5Q3/nKwrMg=";
 
   buildInputs = [
+    dbus
     gtk3
+    gtk-layer-shell
     glib
     libcanberra-gtk3
     libnotify
+    libX11
     libxfce4ui
     libxfce4util
     sqlite
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 4eb6786ffdd..dc2412b329c 100644
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -1,30 +1,34 @@
 { lib
 , mkXfceDerivation
 , exo
+, glib
 , gtk3
 , libxfce4ui
 , xfconf
 , libwnck
+, libX11
 , libXmu
 }:
 
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-taskmanager";
-  version = "1.5.5";
+  version = "1.5.6";
   odd-unstable = false;
 
-  sha256 = "sha256-worHYB9qibRxMaCYQ0+nHA9CSTColewgahyrXiPOnQA=";
+  sha256 = "sha256-2NkjaK6xXsrMimriO2/gTOZowt9KTX4MrWJpPXM0w68=";
 
   nativeBuildInputs = [
     exo
   ];
 
   buildInputs = [
+    glib
     gtk3
     libxfce4ui
     xfconf
     libwnck
+    libX11
     libXmu
   ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 5271fd6c043..3a685614f0c 100644
--- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -2,6 +2,8 @@
 , mkXfceDerivation
 , glib
 , gtk3
+, gtk-layer-shell
+, libX11
 , libxfce4ui
 , vte
 , xfconf
@@ -15,9 +17,10 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-terminal";
-  version = "1.1.0";
+  version = "1.1.1";
+  odd-unstable = false;
 
-  sha256 = "sha256-ilxiP1Org5/uSQOzfRgODmouH0BmK3CmCJj1kutNuII=";
+  sha256 = "sha256-LDfZTZ2EaboIYz+xQNC2NKpJiN8qqfead2XzpKVpL6c=";
 
   nativeBuildInputs = [
     libxslt
@@ -28,6 +31,8 @@ mkXfceDerivation {
   buildInputs = [
     glib
     gtk3
+    gtk-layer-shell
+    libX11
     libxfce4ui
     vte
     xfconf
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
index b0f8a02f6d7..b08a59a5aae 100644
--- a/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -21,9 +21,9 @@
 let unwrapped = mkXfceDerivation {
   category = "xfce";
   pname = "thunar";
-  version = "4.18.7";
+  version = "4.18.8";
 
-  sha256 = "sha256-pxIblhC40X0wdE6+uvmV5ypp4sOZtzn/evcS33PlNpU=";
+  sha256 = "sha256-+VS8Mn9J8VySNEKUMq4xUXXvVgMpWkNVdpv5dzxhZ/M=";
 
   nativeBuildInputs = [
     docbook_xsl
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 25b3e6f8059..7504c8e09d4 100644
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
@@ -14,9 +14,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-dev-tools";
-  version = "4.18.0";
+  version = "4.18.1";
 
-  sha256 = "sha256-VgQiTRMPD1VeUkUnFkX78C2VrsrXFWCdmupL8PQc7+c=";
+  sha256 = "sha256-JUyFlifNVhSnIMaI9qmgCtGIgkpmzYybMfuhPgJiDOg=";
 
   nativeBuildInputs = [
     autoreconfHook
diff --git a/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index d45eb2f6afb..fe7306deb48 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -16,9 +16,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-panel";
-  version = "4.18.4";
+  version = "4.18.5";
 
-  sha256 = "sha256-OEU9NzvgWn6zJGdK9Te2qBbARlwvRrLHuaUocNyGd/g=";
+  sha256 = "sha256-1oh9C2ZlpcUulqhxUEPLhX22R7tko0rMmDixgkgaU9o=";
 
   nativeBuildInputs = [
     gobject-introspection
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 2db20a2ee51..73ce969d05f 100644
--- a/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,5 +1,6 @@
 { lib
 , mkXfceDerivation
+, fetchpatch
 , polkit
 , exo
 , libxfce4util
@@ -19,6 +20,15 @@ mkXfceDerivation {
 
   sha256 = "sha256-qCkE3aVYVwphoO1ZAyzpL1ZtsLaP6XT1H1rlFoBI3yg=";
 
+  patches = [
+    # Add minimal xdg-desktop-portal conf file
+    # https://gitlab.xfce.org/xfce/xfce4-session/-/issues/181
+    (fetchpatch {
+      url = "https://gitlab.xfce.org/xfce/xfce4-session/-/commit/6451c8b21085631d8861e07ff4e1b2ef64a64ad3.patch";
+      sha256 = "sha256-t3opom0iv7QsKoivzk+nXbxI5uFhNmB8/Qwb4QHvcCQ=";
+    })
+  ];
+
   buildInputs = [
     exo
     gtk3
diff --git a/pkgs/desktops/xfce/core/xfconf/default.nix b/pkgs/desktops/xfce/core/xfconf/default.nix
index a25b76f7e02..459044eb2a5 100644
--- a/pkgs/desktops/xfce/core/xfconf/default.nix
+++ b/pkgs/desktops/xfce/core/xfconf/default.nix
@@ -1,11 +1,16 @@
-{ lib, mkXfceDerivation, libxfce4util, gobject-introspection, vala }:
+{ lib
+, mkXfceDerivation
+, libxfce4util
+, gobject-introspection
+, vala
+}:
 
 mkXfceDerivation {
   category = "xfce";
   pname = "xfconf";
-  version = "4.18.1";
+  version = "4.18.3";
 
-  sha256 = "sha256-HS+FzzTTAH8lzBBai3ESdnuvvvZW/vAVSmGe57mwcoo=";
+  sha256 = "sha256-Iu/LHyk/lOvu8uJuJRDxIkabiX0vZB4H99vVKRiugVo=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index 1af46fd5182..16f08da23de 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -1,12 +1,35 @@
-{ lib, mkXfceDerivation, libXtst, libxfce4ui, xfce4-panel, xfconf }:
+{ lib
+, mkXfceDerivation
+, glib
+, gtk3
+, libX11
+, libXtst
+, libxfce4ui
+, libxfce4util
+, qrencode
+, xfce4-panel
+, xfconf
+, wayland
+}:
 
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-clipman-plugin";
-  version = "1.6.4";
-  sha256 = "sha256-N/e97C6xWyF1GUg7gMN0Wcw35awypflMmA+Pdg6alEw=";
+  version = "1.6.5";
+  sha256 = "sha256-aKcIwlNlaJEHgIq0S7+VG/os49+zRqkZXsQVse4B9oE=";
 
-  buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ];
+  buildInputs = [
+    glib
+    gtk3
+    libX11
+    libXtst
+    libxfce4ui
+    libxfce4util
+    qrencode
+    xfce4-panel
+    xfconf
+    wayland
+  ];
 
   meta = with lib; {
     description = "Clipboard manager for Xfce panel";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index fae9523bfe7..1b03efdcd4d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -17,8 +17,8 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-pulseaudio-plugin";
-  version = "0.4.7";
-  sha256 = "sha256-9fumaX4M6NTXHM1gGa4wB/Uq+CZIUnvm9kC+pJNbWXU=";
+  version = "0.4.8";
+  sha256 = "sha256-7vcjARm0O+/hVNFzOpxcgAnqD+wRNg5/eqXLcq4t/iU=";
 
   nativeBuildInputs = [
     automakeAddFlags
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index 1c0cd3f1474..f63453250b3 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -17,10 +17,10 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-whiskermenu-plugin";
-  version = "2.8.0";
+  version = "2.8.1";
   rev-prefix = "v";
   odd-unstable = false;
-  sha256 = "sha256-5ojcIOVIa9WKL2e6iZwRgrAINSM8750zciCwpn9vzJU=";
+  sha256 = "sha256-cKEybD/eTHdS1LXSS1r6QTBnfDiX7nYwnmGKTaagbrs=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index 53a74684cb8..99285b53cb6 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -11,10 +11,10 @@
 mkXfceDerivation {
   category = "thunar-plugins";
   pname  = "thunar-archive-plugin";
-  version = "0.5.1";
+  version = "0.5.2";
   odd-unstable = false;
 
-  sha256 = "sha256-TV70IaZClIyQnMGsJEPN0VxHzZAS5F5jSTLm8VwYuwI=";
+  sha256 = "sha256-vbuFosj2qxDus7vu9WfRiFpLwnTRnmLVGCDa0tNQecU=";
 
   nativeBuildInputs = [
     intltool