about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/plasma-5
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/plasma-5')
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix12
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix13
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix4
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix15
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix15
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix49
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix15
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix15
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/aura-browser.nix17
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix39
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/breeze-grub.nix3
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix54
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/breeze-qt5.nix37
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/default.nix204
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/discover.nix8
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/flatpak-kcm.nix18
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix30
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kde-cli-tools.nix34
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/default.nix40
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix49
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix12
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix31
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix27
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kinfocenter/0001-tool-paths.patch51
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kinfocenter/default.nix103
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kmenuedit.nix23
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kpipewire.nix28
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kscreen.nix45
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix38
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix12
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix10
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix20
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch40
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix142
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwrited.nix12
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix11
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libkscreen/libkscreen-backends-path.patch20
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix49
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/milou.nix27
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/oxygen-sounds.nix8
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/oxygen.nix39
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plank-player.nix17
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-bigscreen.nix47
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-browser-integration.nix39
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix148
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch13
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-disks.nix49
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-integration/default.nix38
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-mobile/default.nix76
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-nano/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix78
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix41
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix42
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-sdk.nix3
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-vault/0004-gocryptfs-path.patch13
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-vault/default.nix34
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-welcome.nix44
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch22
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/default.nix166
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix28
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/powerdevil.nix46
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/qqc2-breeze-style.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/srcs.nix478
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/systemsettings.nix48
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix51
74 files changed, 2214 insertions, 771 deletions
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
index 507b13896fcb..ee43f98fda20 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "bismuth";
-  version = "3.1.2";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "Bismuth-Forge";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sYehZ9f+V7xeqYaw5p6BCm2XWsC/mpmsak6pUFIWAbI=";
+    sha256 = "sha256-c13OFEw6E/I8j/mqeLnuc9Chi6pc3+AgwAMPpCzh974=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix
index 66e1255f223a..1a18e1a89de1 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/caffeine-plus.nix
@@ -1,5 +1,10 @@
-{ lib, mkDerivation, fetchFromGitHub, extra-cmake-modules
-, kwindowsystem, plasma-framework }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, extra-cmake-modules
+, kwindowsystem
+, plasma-framework
+}:
 
 mkDerivation rec {
   pname = "plasma-applet-caffeine-plus";
@@ -13,7 +18,8 @@ mkDerivation rec {
   };
 
   buildInputs = [
-    kwindowsystem plasma-framework
+    kwindowsystem
+    plasma-framework
   ];
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix
index 5255bb4b0501..3ac49717390e 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix
@@ -1,6 +1,13 @@
-{ lib, stdenv
-, cmake, fetchFromGitHub, extra-cmake-modules
-, qtbase, wrapQtAppsHook, ki18n, kdelibs4support, krunner
+{ lib
+, stdenv
+, cmake
+, fetchFromGitHub
+, extra-cmake-modules
+, qtbase
+, wrapQtAppsHook
+, ki18n
+, kdelibs4support
+, krunner
 }:
 
 stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix
index e71a0bd0230c..5e4ac584047c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/addons/virtual-desktop-bar.nix
@@ -19,7 +19,9 @@ mkDerivation rec {
   };
 
   buildInputs = [
-    kwindowsystem plasma-framework qtx11extras
+    kwindowsystem
+    plasma-framework
+    qtx11extras
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix
index 043f52c37efc..2e9864cb1da3 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix
@@ -1,5 +1,11 @@
-{ lib, mkDerivation, fetchFromGitHub
-, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, kcoreaddons
+, kwindowsystem
+, plasma-framework
+, systemsettings
+}:
 
 mkDerivation rec {
   pname = "dynamic_workspaces";
@@ -13,7 +19,10 @@ mkDerivation rec {
   };
 
   buildInputs = [
-    kcoreaddons kwindowsystem plasma-framework systemsettings
+    kcoreaddons
+    kwindowsystem
+    plasma-framework
+    systemsettings
   ];
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix
index 23802bef97bd..b6025c5bdf10 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix
@@ -1,5 +1,11 @@
-{ lib, mkDerivation, fetchFromGitHub
-, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, kcoreaddons
+, kwindowsystem
+, plasma-framework
+, systemsettings
+}:
 
 mkDerivation rec {
   pname = "krohnkite";
@@ -13,7 +19,10 @@ mkDerivation rec {
   };
 
   buildInputs = [
-    kcoreaddons kwindowsystem plasma-framework systemsettings
+    kcoreaddons
+    kwindowsystem
+    plasma-framework
+    systemsettings
   ];
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix
new file mode 100644
index 000000000000..c801199a72a8
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/kzones.nix
@@ -0,0 +1,49 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, kcoreaddons
+, kwindowsystem
+, plasma-framework
+, systemsettings
+}:
+
+mkDerivation rec {
+  pname = "kzones";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "gerritdevriese";
+    repo = "kzones";
+    rev = "v${version}";
+    sha256 = "sha256-E5pi2ttar6bAt7s0m/NCw66Qgg5fL5p5QpXROWuUTvM=";
+  };
+
+  buildInputs = [
+    kcoreaddons
+    kwindowsystem
+    plasma-framework
+    systemsettings
+  ];
+
+  dontBuild = true;
+
+  # 1. --global still installs to $HOME/.local/share so we use --packageroot
+  # 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
+  installPhase = ''
+    runHook preInstall
+
+    plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
+    install -Dm644 ${src}/metadata.desktop $out/share/kservices5/kwin-script-kzones.desktop
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "KWin Script for snapping windows into zones";
+    maintainers = with maintainers; [ matthiasbeyer ];
+    license = licenses.gpl3Plus;
+    inherit (src.meta) homepage;
+    inherit (kwindowsystem.meta) platforms;
+  };
+}
+
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
index 5de935b9ec23..8d38583e1d51 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
@@ -1,5 +1,11 @@
-{ lib, mkDerivation, fetchFromGitHub
-, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, kcoreaddons
+, kwindowsystem
+, plasma-framework
+, systemsettings
+}:
 
 mkDerivation rec {
   pname = "parachute";
@@ -13,7 +19,10 @@ mkDerivation rec {
   };
 
   buildInputs = [
-    kcoreaddons kwindowsystem plasma-framework systemsettings
+    kcoreaddons
+    kwindowsystem
+    plasma-framework
+    systemsettings
   ];
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix
index 8a455cb88826..5f13a95ce081 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/tiling.nix
@@ -1,5 +1,11 @@
-{ lib, mkDerivation, fetchFromGitHub
-, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, kcoreaddons
+, kwindowsystem
+, plasma-framework
+, systemsettings
+}:
 
 mkDerivation rec {
   pname = "kwin-tiling";
@@ -18,7 +24,10 @@ mkDerivation rec {
   '';
 
   buildInputs = [
-    kcoreaddons kwindowsystem plasma-framework systemsettings
+    kcoreaddons
+    kwindowsystem
+    plasma-framework
+    systemsettings
   ];
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix
index 39be6c63f1e3..c4ae4d75d201 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/3rdparty/lightly/default.nix
@@ -22,7 +22,7 @@ mkDerivation rec{
     sha256 = "k1fEZbhzluNlAmj5s/O9X20aCVQxlWQm/Iw/euX7cmI=";
   };
 
-  extraCmakeFlags=["-DBUILD_TESTING=OFF"];
+  extraCmakeFlags = [ "-DBUILD_TESTING=OFF" ];
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
 
diff --git a/nixpkgs/pkgs/desktops/plasma-5/aura-browser.nix b/nixpkgs/pkgs/desktops/plasma-5/aura-browser.nix
new file mode 100644
index 000000000000..67af48b2bcb9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/aura-browser.nix
@@ -0,0 +1,17 @@
+{ mkDerivation
+, extra-cmake-modules
+, qtwebengine
+, qtquickcontrols2
+, kirigami2
+, ki18n
+}:
+mkDerivation {
+  pname = "aura-browser";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    qtwebengine
+    qtquickcontrols2
+    kirigami2
+    ki18n
+  ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix b/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix
index 0474d875997f..a7574cdc655f 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix
@@ -1,16 +1,39 @@
-{
-  mkDerivation, lib, extra-cmake-modules, shared-mime-info,
-  qtbase, qtdeclarative, bluez-qt,
-  kcoreaddons, kdbusaddons, kded, ki18n, kiconthemes, kio, knotifications,
-  kwidgetsaddons, kwindowsystem, plasma-framework
+{ mkDerivation
+, extra-cmake-modules
+, shared-mime-info
+, qtbase
+, qtdeclarative
+, bluez-qt
+, kcoreaddons
+, kcmutils
+, kdbusaddons
+, kded
+, ki18n
+, kiconthemes
+, kio
+, knotifications
+, kwidgetsaddons
+, kwindowsystem
+, plasma-framework
 }:
 
 mkDerivation {
   pname = "bluedevil";
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
-    qtbase qtdeclarative bluez-qt
-    ki18n kio kwindowsystem plasma-framework kcoreaddons kdbusaddons kded
-    kiconthemes knotifications kwidgetsaddons
+    qtbase
+    qtdeclarative
+    bluez-qt
+    ki18n
+    kio
+    kwindowsystem
+    plasma-framework
+    kcoreaddons
+    kdbusaddons
+    kded
+    kiconthemes
+    knotifications
+    kwidgetsaddons
+    kcmutils
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/breeze-grub.nix b/nixpkgs/pkgs/desktops/plasma-5/breeze-grub.nix
index 24d0c96cad97..86ce3dc112d0 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/breeze-grub.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/breeze-grub.nix
@@ -1,5 +1,4 @@
-{
-  mkDerivation
+{ mkDerivation
 }:
 
 mkDerivation {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
index bc60662b434a..8aefcbbe03be 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
@@ -1,26 +1,24 @@
-{
-  mkDerivation,
-  lib,
-  extra-cmake-modules,
-  plymouth,
-  nixos-icons,
-  imagemagick,
-  netpbm,
-  perl,
-  logoName ? null,
-  logoFile ? null,
-  osName ? null,
-  osVersion ? null,
-  topColor ? "black",
-  bottomColor ? "black"
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, plymouth
+, imagemagick
+, netpbm
+, perl
+, logoName ? null
+, logoFile ? null
+, osName ? null
+, osVersion ? null
+, topColor ? "black"
+, bottomColor ? "black"
 }:
 
 let
   validColors = [ "black" "cardboard_grey" "charcoal_grey" "icon_blue" "paper_white" "plasma_blue" "neon_blue" "neon_green" ];
-  resolvedLogoName = if (logoFile != null && logoName == null) then lib.strings.removeSuffix ".png" (baseNameOf(toString logoFile)) else logoName;
+  resolvedLogoName = if (logoFile != null && logoName == null) then lib.strings.removeSuffix ".png" (baseNameOf (toString logoFile)) else logoName;
 in
-  assert lib.asserts.assertOneOf "topColor" topColor validColors;
-  assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors;
+assert lib.asserts.assertOneOf "topColor" topColor validColors;
+assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors;
 
 
 mkDerivation {
@@ -30,21 +28,21 @@ mkDerivation {
   patches = [
     ./install-paths.patch
   ];
-  cmakeFlags = []
-    ++ lib.optional (osName      != null) "-DDISTRO_NAME=${osName}"
-    ++ lib.optional (osVersion   != null) "-DDISTRO_VERSION=${osVersion}"
-    ++ lib.optional (logoName    != null) "-DDISTRO_LOGO=${logoName}"
-    ++ lib.optional (topColor    != null) "-DBACKGROUND_TOP_COLOR=${topColor}"
+  cmakeFlags = [ ]
+    ++ lib.optional (osName != null) "-DDISTRO_NAME=${osName}"
+    ++ lib.optional (osVersion != null) "-DDISTRO_VERSION=${osVersion}"
+    ++ lib.optional (logoName != null) "-DDISTRO_LOGO=${logoName}"
+    ++ lib.optional (topColor != null) "-DBACKGROUND_TOP_COLOR=${topColor}"
     ++ lib.optional (bottomColor != null) "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}"
   ;
 
   postPatch = ''
-      substituteInPlace cmake/FindPlymouth.cmake --subst-var out
+    substituteInPlace cmake/FindPlymouth.cmake --subst-var out
   '' + lib.optionalString (logoFile != null) ''
-      cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png
+    cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png
 
-      # conversion for 16bit taken from the breeze-plymouth readme
-      convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
-      pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png
+    # conversion for 16bit taken from the breeze-plymouth readme
+    convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
+    pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png
   '';
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/breeze-qt5.nix b/nixpkgs/pkgs/desktops/plasma-5/breeze-qt5.nix
index 13a426bb2587..bcabd31eea64 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/breeze-qt5.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/breeze-qt5.nix
@@ -1,9 +1,18 @@
-{
-  mkDerivation,
-  extra-cmake-modules,
-  frameworkintegration, kcmutils, kconfigwidgets, kcoreaddons, kdecoration,
-  kguiaddons, ki18n, kwayland, kwindowsystem, plasma-framework, qtdeclarative,
-  qtx11extras, fftw
+{ mkDerivation
+, extra-cmake-modules
+, frameworkintegration
+, kcmutils
+, kconfigwidgets
+, kcoreaddons
+, kdecoration
+, kguiaddons
+, ki18n
+, kwayland
+, kwindowsystem
+, plasma-framework
+, qtdeclarative
+, qtx11extras
+, fftw
 }:
 
 mkDerivation {
@@ -11,9 +20,19 @@ mkDerivation {
   sname = "breeze";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
-    frameworkintegration kcmutils kconfigwidgets kcoreaddons kdecoration
-    kguiaddons ki18n kwayland kwindowsystem plasma-framework qtdeclarative
-    qtx11extras fftw
+    frameworkintegration
+    kcmutils
+    kconfigwidgets
+    kcoreaddons
+    kdecoration
+    kguiaddons
+    ki18n
+    kwayland
+    kwindowsystem
+    plasma-framework
+    qtdeclarative
+    qtx11extras
+    fftw
   ];
   outputs = [ "bin" "dev" "out" ];
   cmakeFlags = [ "-DUSE_Qt4=OFF" ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/default.nix b/nixpkgs/pkgs/desktops/plasma-5/default.nix
index 41cdc298e987..0c501b4c5a4c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/default.nix
@@ -1,39 +1,47 @@
 /*
 
-# New packages
+  # New packages
 
-READ THIS FIRST
+  READ THIS FIRST
 
-This module is for official packages in KDE Plasma 5. All available packages are
-listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
-below).
+  This module is for official packages in KDE Plasma 5. All available packages are
+  listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
+  below).
 
-IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
+  IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
 
-Many of the packages released upstream are not yet built in Nixpkgs due to lack
-of demand. To add a Nixpkgs build for an upstream package, copy one of the
-existing packages here and modify it as necessary.
+  Many of the packages released upstream are not yet built in Nixpkgs due to lack
+  of demand. To add a Nixpkgs build for an upstream package, copy one of the
+  existing packages here and modify it as necessary.
 
-# Updates
+  # Updates
 
-1. Update the URL in `./fetch.sh`.
-2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5`
+  1. Update the URL in `./fetch.sh`.
+  2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5`
    from the top of the Nixpkgs tree.
-3. Use `nox-review wip` to check that everything builds.
-4. Commit the changes and open a pull request.
+  3. Use `nox-review wip` to check that everything builds.
+  4. Commit the changes and open a pull request.
 
 */
 
-{ libsForQt5, lib, config, fetchurl
-, gconf, gsettings-desktop-schemas
+{ libsForQt5
+, lib
+, config
+, fetchurl
+, gconf
+, gsettings-desktop-schemas
 }:
 
 let
-  minQtVersion = "5.15";
-  broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
   maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
   license = with lib.licenses; [
-    lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
+    lgpl21Plus
+    lgpl3Plus
+    bsd2
+    mit
+    gpl2Plus
+    gpl3Plus
+    fdl12Plus
   ];
 
   srcs = import ./srcs.nix {
@@ -41,33 +49,35 @@ let
     mirror = "mirror://kde";
   };
 
-  mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
+  qtStdenv = libsForQt5.callPackage ({ stdenv }: stdenv) {};
 
-  packages = self: with self;
+  packages = self:
     let
 
       propagate = out:
-        let setupHook = { writeScript }:
-              writeScript "setup-hook" ''
-                if [[ "''${hookName-}" != postHook ]]; then
-                    postHooks+=("source @dev@/nix-support/setup-hook")
-                else
-                    # Propagate $${out} output
-                    propagatedUserEnvPkgs+=" @${out}@"
-
-                    if [ -z "$outputDev" ]; then
-                        echo "error: \$outputDev is unset!" >&2
-                        exit 1
-                    fi
-
-                    # Propagate $dev so that this setup hook is propagated
-                    # But only if there is a separate $dev output
-                    if [ "$outputDev" != out ]; then
-                        propagatedBuildInputs+=" @dev@"
-                    fi
-                fi
-              '';
-        in callPackage setupHook {};
+        let
+          setupHook = { writeScript }:
+            writeScript "setup-hook" ''
+              if [[ "''${hookName-}" != postHook ]]; then
+                  postHooks+=("source @dev@/nix-support/setup-hook")
+              else
+                  # Propagate $${out} output
+                  propagatedUserEnvPkgs+=" @${out}@"
+
+                  if [ -z "$outputDev" ]; then
+                      echo "error: \$outputDev is unset!" >&2
+                      exit 1
+                  fi
+
+                  # Propagate $dev so that this setup hook is propagated
+                  # But only if there is a separate $dev output
+                  if [ "$outputDev" != out ]; then
+                      propagatedBuildInputs+=" @dev@"
+                  fi
+              fi
+            '';
+        in
+        callPackage setupHook { };
 
       propagateBin = propagate "bin";
 
@@ -86,71 +96,80 @@ let
 
             defaultSetupHook = if hasBin && hasDev then propagateBin else null;
             setupHook = args.setupHook or defaultSetupHook;
+            nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ libsForQt5.wrapQtAppsHook ];
 
             meta =
-              let meta = args.meta or {}; in
+              let meta = args.meta or { }; in
               meta // {
                 homepage = meta.homepage or "http://www.kde.org";
                 license = meta.license or license;
-                maintainers = (meta.maintainers or []) ++ maintainers;
+                maintainers = (meta.maintainers or [ ]) ++ maintainers;
                 platforms = meta.platforms or lib.platforms.linux;
-                broken = meta.broken or broken;
               };
           in
-          mkDerivation (args // {
-            inherit pname version meta outputs setupHook src;
+          qtStdenv.mkDerivation (args // {
+            inherit pname version meta outputs setupHook src nativeBuildInputs;
           });
       };
 
-    in {
-      bluedevil = callPackage ./bluedevil.nix {};
-      breeze-gtk = callPackage ./breeze-gtk.nix {};
-      breeze-qt5 = callPackage ./breeze-qt5.nix {};
-      breeze-grub = callPackage ./breeze-grub.nix {};
-      breeze-plymouth = callPackage ./breeze-plymouth {};
-      discover = callPackage ./discover.nix {};
-      kactivitymanagerd = callPackage ./kactivitymanagerd.nix {};
-      kde-cli-tools = callPackage ./kde-cli-tools.nix {};
+    in
+    {
+      aura-browser = callPackage ./aura-browser.nix { };
+      bluedevil = callPackage ./bluedevil.nix { };
+      breeze-gtk = callPackage ./breeze-gtk.nix { };
+      breeze-qt5 = callPackage ./breeze-qt5.nix { };
+      breeze-grub = callPackage ./breeze-grub.nix { };
+      breeze-plymouth = callPackage ./breeze-plymouth { };
+      discover = callPackage ./discover.nix { };
+      flatpak-kcm = callPackage ./flatpak-kcm.nix { };
+      kactivitymanagerd = callPackage ./kactivitymanagerd.nix { };
+      kde-cli-tools = callPackage ./kde-cli-tools.nix { };
       kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
-      kdecoration = callPackage ./kdecoration.nix {};
-      kdeplasma-addons = callPackage ./kdeplasma-addons.nix {};
-      kgamma5 = callPackage ./kgamma5.nix {};
-      khotkeys = callPackage ./khotkeys.nix {};
-      kinfocenter = callPackage ./kinfocenter.nix {};
-      kmenuedit = callPackage ./kmenuedit.nix {};
-      kscreen = callPackage ./kscreen.nix {};
-      kscreenlocker = callPackage ./kscreenlocker.nix {};
-      ksshaskpass = callPackage ./ksshaskpass.nix {};
-      ksystemstats = callPackage ./ksystemstats.nix {};
-      kwallet-pam = callPackage ./kwallet-pam.nix {};
-      kwayland-integration = callPackage ./kwayland-integration.nix {};
-      kwin = callPackage ./kwin {};
-      kwrited = callPackage ./kwrited.nix {};
-      layer-shell-qt = callPackage ./layer-shell-qt.nix {};
-      libkscreen = callPackage ./libkscreen {};
-      libksysguard = callPackage ./libksysguard {};
-      milou = callPackage ./milou.nix {};
-      oxygen = callPackage ./oxygen.nix {};
-      plasma-browser-integration = callPackage ./plasma-browser-integration.nix {};
-      plasma-desktop = callPackage ./plasma-desktop {};
-      plasma-disks = callPackage ./plasma-disks.nix {};
-      plasma-integration = callPackage ./plasma-integration {};
-      plasma-mobile = callPackage ./plasma-mobile {};
-      plasma-nano = callPackage ./plasma-nano {};
-      plasma-nm = callPackage ./plasma-nm {};
+      kdecoration = callPackage ./kdecoration.nix { };
+      kdeplasma-addons = callPackage ./kdeplasma-addons.nix { };
+      kgamma5 = callPackage ./kgamma5.nix { };
+      khotkeys = callPackage ./khotkeys.nix { };
+      kinfocenter = callPackage ./kinfocenter { };
+      kmenuedit = callPackage ./kmenuedit.nix { };
+      kpipewire = callPackage ./kpipewire.nix { };
+      kscreen = callPackage ./kscreen.nix { };
+      kscreenlocker = callPackage ./kscreenlocker.nix { };
+      ksshaskpass = callPackage ./ksshaskpass.nix { };
+      ksystemstats = callPackage ./ksystemstats.nix { };
+      kwallet-pam = callPackage ./kwallet-pam.nix { };
+      kwayland-integration = callPackage ./kwayland-integration.nix { };
+      kwin = callPackage ./kwin { };
+      kwrited = callPackage ./kwrited.nix { };
+      layer-shell-qt = callPackage ./layer-shell-qt.nix { };
+      libkscreen = callPackage ./libkscreen { };
+      libksysguard = callPackage ./libksysguard { };
+      milou = callPackage ./milou.nix { };
+      oxygen = callPackage ./oxygen.nix { };
+      oxygen-sounds = callPackage ./oxygen-sounds.nix { };
+      plank-player = callPackage ./plank-player.nix { };
+      plasma-bigscreen = callPackage ./plasma-bigscreen.nix { };
+      plasma-browser-integration = callPackage ./plasma-browser-integration.nix { };
+      plasma-desktop = callPackage ./plasma-desktop { };
+      plasma-disks = callPackage ./plasma-disks.nix { };
+      plasma-integration = callPackage ./plasma-integration { };
+      plasma-mobile = callPackage ./plasma-mobile { };
+      plasma-nano = callPackage ./plasma-nano { };
+      plasma-nm = callPackage ./plasma-nm { };
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
-      plasma-sdk = callPackage ./plasma-sdk.nix {};
+      plasma-remotecontrollers = callPackage ./plasma-remotecontrollers.nix { };
+      plasma-sdk = callPackage ./plasma-sdk.nix { };
       plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { };
       plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
-      plasma-vault = callPackage ./plasma-vault {};
-      plasma-workspace = callPackage ./plasma-workspace {};
-      plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {};
-      polkit-kde-agent = callPackage ./polkit-kde-agent.nix {};
-      powerdevil = callPackage ./powerdevil.nix {};
-      qqc2-breeze-style = callPackage ./qqc2-breeze-style.nix {};
-      sddm-kcm = callPackage ./sddm-kcm.nix {};
-      systemsettings = callPackage ./systemsettings.nix {};
-      xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix {};
+      plasma-vault = callPackage ./plasma-vault { };
+      plasma-welcome = callPackage ./plasma-welcome.nix { };
+      plasma-workspace = callPackage ./plasma-workspace { };
+      plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix { };
+      polkit-kde-agent = callPackage ./polkit-kde-agent.nix { };
+      powerdevil = callPackage ./powerdevil.nix { };
+      qqc2-breeze-style = callPackage ./qqc2-breeze-style.nix { };
+      sddm-kcm = callPackage ./sddm-kcm.nix { };
+      systemsettings = callPackage ./systemsettings.nix { };
+      xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix { };
 
       thirdParty = let inherit (libsForQt5) callPackage; in {
         plasma-applet-caffeine-plus = callPackage ./3rdparty/addons/caffeine-plus.nix { };
@@ -161,6 +180,7 @@ let
         krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { };
         krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { };
         krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { };
+        kzones = callPackage ./3rdparty/kwin/scripts/kzones.nix { };
         lightly = callPackage ./3rdparty/lightly { };
         parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
       };
diff --git a/nixpkgs/pkgs/desktops/plasma-5/discover.nix b/nixpkgs/pkgs/desktops/plasma-5/discover.nix
index dd6c7a3008ca..b9d3dd80a23c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/discover.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/discover.nix
@@ -1,5 +1,4 @@
 { mkDerivation
-, lib
 , extra-cmake-modules
 , gettext
 , kdoctools
@@ -12,8 +11,8 @@
 , packagekit-qt
 , pcre
 , util-linux
-, qtbase
 , qtquickcontrols2
+, qtwebview
 , qtx11extras
 , karchive
 , kcmutils
@@ -26,6 +25,8 @@
 , kirigami2
 , kitemmodels
 , knewstuff
+, kpurpose
+, kuserfeedback
 , kwindowsystem
 , kxmlgui
 , plasma-framework
@@ -45,6 +46,7 @@ mkDerivation {
     pcre
     util-linux
     qtquickcontrols2
+    qtwebview
     qtx11extras
     karchive
     kcmutils
@@ -57,6 +59,8 @@ mkDerivation {
     kirigami2
     kitemmodels
     knewstuff
+    kpurpose
+    kuserfeedback
     kwindowsystem
     kxmlgui
     plasma-framework
diff --git a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
index 549f3e3c9445..2b34c52d6124 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
+++ b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.25.4/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.5/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/desktops/plasma-5/flatpak-kcm.nix b/nixpkgs/pkgs/desktops/plasma-5/flatpak-kcm.nix
new file mode 100644
index 000000000000..406a0c9c920c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/flatpak-kcm.nix
@@ -0,0 +1,18 @@
+{ mkDerivation
+, extra-cmake-modules
+, flatpak
+, kcmutils
+, kconfig
+, kdeclarative
+}:
+
+mkDerivation {
+  pname = "flatpak-kcm";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    flatpak
+    kcmutils
+    kconfig
+    kdeclarative
+  ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix b/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix
index 57800c316aa7..195e57575608 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix
@@ -1,15 +1,31 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules,
-  boost, kconfig, kcoreaddons, kdbusaddons, ki18n, kio, kglobalaccel,
-  kwindowsystem, kxmlgui, kcrash, qtbase
+{ mkDerivation
+, extra-cmake-modules
+, boost
+, kconfig
+, kcoreaddons
+, kdbusaddons
+, ki18n
+, kio
+, kglobalaccel
+, kwindowsystem
+, kxmlgui
+, kcrash
+, qtbase
 }:
 
 mkDerivation {
   pname = "kactivitymanagerd";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    boost kconfig kcoreaddons kdbusaddons kglobalaccel ki18n kio kwindowsystem
-    kxmlgui kcrash
+    boost
+    kconfig
+    kcoreaddons
+    kdbusaddons
+    kglobalaccel
+    ki18n
+    kio
+    kwindowsystem
+    kxmlgui
+    kcrash
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kde-cli-tools.nix b/nixpkgs/pkgs/desktops/plasma-5/kde-cli-tools.nix
index 02694b085f89..e02f1297c012 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kde-cli-tools.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kde-cli-tools.nix
@@ -1,15 +1,37 @@
-{
-  lib, mkDerivation, extra-cmake-modules, kdoctools,
-  kcmutils, kconfig, kdesu, ki18n, kiconthemes, kinit, kio, kwindowsystem,
-  qtsvg, qtx11extras, kactivities, plasma-workspace
+{ lib
+, mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kconfig
+, kdesu
+, ki18n
+, kiconthemes
+, kinit
+, kio
+, kwindowsystem
+, qtsvg
+, qtx11extras
+, kactivities
+, plasma-workspace
 }:
 
 mkDerivation {
   pname = "kde-cli-tools";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kcmutils kconfig kdesu ki18n kiconthemes kinit kio kwindowsystem qtsvg
-    qtx11extras kactivities plasma-workspace
+    kcmutils
+    kconfig
+    kdesu
+    ki18n
+    kiconthemes
+    kinit
+    kio
+    kwindowsystem
+    qtsvg
+    qtx11extras
+    kactivities
+    plasma-workspace
   ];
   postInstall = ''
     # install a symlink in bin so that kdesu can eventually be found in PATH
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/default.nix b/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
index 6949f73a9ce7..a61fc328236d 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
@@ -1,17 +1,41 @@
-{
-  mkDerivation,
-  extra-cmake-modules, wrapGAppsHook,
-  glib, gtk2, gtk3, karchive, kcmutils, kconfigwidgets, ki18n, kiconthemes, kio,
-  knewstuff, gsettings-desktop-schemas, xsettingsd, kdecoration, sass
+{ mkDerivation
+, extra-cmake-modules
+, wrapGAppsHook
+, glib
+, gtk2
+, gtk3
+, karchive
+, kcmutils
+, kconfigwidgets
+, ki18n
+, kiconthemes
+, kio
+, knewstuff
+, gsettings-desktop-schemas
+, xsettingsd
+, kdecoration
+, sass
 }:
 
 mkDerivation {
   pname = "kde-gtk-config";
   nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook ];
-  dontWrapGApps = true;  # There is nothing to wrap
+  dontWrapGApps = true; # There is nothing to wrap
   buildInputs = [
-    ki18n kio glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes
-    knewstuff gsettings-desktop-schemas xsettingsd kdecoration sass
+    ki18n
+    kio
+    glib
+    gtk2
+    gtk3
+    karchive
+    kcmutils
+    kconfigwidgets
+    kiconthemes
+    knewstuff
+    gsettings-desktop-schemas
+    xsettingsd
+    kdecoration
+    sass
   ];
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix b/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
index 86d146c8b41a..b3cb961e6d5b 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n, kcoreaddons }:
+{ mkDerivation, extra-cmake-modules, qtbase, ki18n, kcoreaddons }:
 
 mkDerivation {
   pname = "kdecoration";
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix b/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix
index 5be47327d723..b8461fbd108d 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kdeplasma-addons.nix
@@ -1,18 +1,47 @@
-{
-  mkDerivation,
-  extra-cmake-modules, kdoctools,
-  kconfig, kconfigwidgets, kcoreaddons, kcmutils, kholidays,
-  kio, knewstuff, kpurpose, kross, krunner, kservice,
-  kunitconversion, ibus, plasma-framework, plasma-workspace, qtdeclarative,
-  qtwebengine, qtx11extras
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kcmutils
+, kholidays
+, kio
+, knewstuff
+, kpurpose
+, kross
+, krunner
+, kservice
+, kunitconversion
+, ibus
+, plasma-framework
+, plasma-workspace
+, qtdeclarative
+, qtwebengine
+, qtx11extras
 }:
 
 mkDerivation {
   pname = "kdeplasma-addons";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kconfig kconfigwidgets kcoreaddons kcmutils kholidays kio
-    knewstuff kpurpose kross krunner kservice kunitconversion ibus
-    plasma-framework plasma-workspace qtdeclarative qtwebengine qtx11extras
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kcmutils
+    kholidays
+    kio
+    knewstuff
+    kpurpose
+    kross
+    krunner
+    kservice
+    kunitconversion
+    ibus
+    plasma-framework
+    plasma-workspace
+    qtdeclarative
+    qtwebengine
+    qtx11extras
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix b/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix
index be5b191c3de7..df552e1c87a8 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix
@@ -1,7 +1,11 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  kconfig, kconfigwidgets, ki18n, qtbase, qtx11extras, libXxf86vm
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kconfig
+, kconfigwidgets
+, ki18n
+, qtx11extras
+, libXxf86vm
 }:
 
 mkDerivation {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix b/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix
index dfd5d4668a22..244756ec8017 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix
@@ -1,17 +1,32 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  qtbase,
-  kcmutils, kdbusaddons, kdelibs4support, kglobalaccel, ki18n, kio, kxmlgui,
-  plasma-framework, plasma-workspace, qtx11extras
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kdbusaddons
+, kdelibs4support
+, kglobalaccel
+, ki18n
+, kio
+, kxmlgui
+, plasma-framework
+, plasma-workspace
+, qtx11extras
 }:
 
 mkDerivation {
   pname = "khotkeys";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kcmutils kdbusaddons kdelibs4support kglobalaccel ki18n kio kxmlgui
-    plasma-framework plasma-workspace qtx11extras
+    kcmutils
+    kdbusaddons
+    kdelibs4support
+    kglobalaccel
+    ki18n
+    kio
+    kxmlgui
+    plasma-framework
+    plasma-workspace
+    qtx11extras
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix
deleted file mode 100644
index 662662cdb2fd..000000000000
--- a/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  qtbase,
-  kcmutils, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
-  kdeclarative, ki18n, kiconthemes, kio, kirigami2, kpackage, kservice,
-  kwayland, kwidgetsaddons, kxmlgui, solid, systemsettings,
-  libraw1394, libGLU, pciutils,
-}:
-
-mkDerivation {
-  pname = "kinfocenter";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [
-    kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
-    kdeclarative ki18n kiconthemes kio kirigami2 kpackage kservice kwayland
-    kwidgetsaddons kxmlgui solid systemsettings
-
-    libraw1394 libGLU pciutils
-  ];
-  preFixup = ''
-    # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in
-    # the same directory, while it is actually located in a completely different
-    # store path
-    ln -sf ${lib.getBin systemsettings}/bin/systemsettings5 $out/bin/kinfocenter
-  '';
-}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/0001-tool-paths.patch b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/0001-tool-paths.patch
new file mode 100644
index 000000000000..c6cf9bd8d6df
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/0001-tool-paths.patch
@@ -0,0 +1,51 @@
+diff --git a/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in b/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in
+index f591b9c..e883212 100644
+--- a/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in
++++ b/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in
+@@ -63,6 +63,6 @@
+         "Name[x-test]": "xxWindow Managerxx",
+         "Name[zh_CN]": "窗口管理器"
+     },
+-    "TryExec": "@QtBinariesDir@/qdbus",
++    "TryExec": "@qdbus@",
+     "X-KDE-KInfoCenter-Category": "graphical_information"
+ }
+diff --git a/Modules/kwinsupportinfo/main.cpp b/Modules/kwinsupportinfo/main.cpp
+index 667c079..b727b67 100644
+--- a/Modules/kwinsupportinfo/main.cpp
++++ b/Modules/kwinsupportinfo/main.cpp
+@@ -19,7 +19,7 @@ public:
+     explicit KCMKWinSupportInfo(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
+         : ConfigModule(parent, data, args)
+     {
+-        auto outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"),
++        auto outputContext = new CommandOutputContext(QStringLiteral("@qdbus@"),
+                                                       {QStringLiteral("org.kde.KWin"), QStringLiteral("/KWin"), QStringLiteral("supportInformation")},
+                                                       parent);
+         qmlRegisterSingletonInstance("org.kde.kinfocenter.kwinsupportinfo.private", 1, 0, "InfoOutputContext", outputContext);
+diff --git a/Modules/xserver/kcm_xserver.json b/Modules/xserver/kcm_xserver.json
+index 04acd6b..24b8f36 100644
+--- a/Modules/xserver/kcm_xserver.json
++++ b/Modules/xserver/kcm_xserver.json
+@@ -130,7 +130,7 @@
+         "Name[zh_CN]": "X 服务器",
+         "Name[zh_TW]": "X 伺服器"
+     },
+-    "TryExec": "xdpyinfo",
++    "TryExec": "@xdpyinfo@",
+     "X-DocPath": "kinfocenter/graphical.html#xserver",
+     "X-KDE-KInfoCenter-Category": "graphical_information",
+     "X-KDE-Keywords": "X,X-Server,XServer,XFree86,Display,VideoCard,System Information",
+diff --git a/Modules/xserver/main.cpp b/Modules/xserver/main.cpp
+index c406ff7..a261b90 100644
+--- a/Modules/xserver/main.cpp
++++ b/Modules/xserver/main.cpp
+@@ -17,7 +17,7 @@ public:
+     explicit KCMXServer(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
+         : ConfigModule(parent, data, args)
+     {
+-        auto outputContext = new CommandOutputContext(QStringLiteral("xdpyinfo"), {}, parent);
++        auto outputContext = new CommandOutputContext(QStringLiteral("@xdpyinfo@"), {}, parent);
+         qmlRegisterSingletonInstance("org.kde.kinfocenter.xserver.private", 1, 0, "InfoOutputContext", outputContext);
+ 
+         auto *about = new KAboutData(QStringLiteral("kcm_xserver"), i18nc("@label kcm name", "X-Server"), QStringLiteral("1.0"), QString(), KAboutLicense::GPL);
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/default.nix b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/default.nix
new file mode 100644
index 000000000000..bbc8c03f37c1
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter/default.nix
@@ -0,0 +1,103 @@
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, qttools
+, kcmutils
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kdbusaddons
+, kdeclarative
+, ki18n
+, kiconthemes
+, kio
+, kirigami2
+, kpackage
+, kservice
+, kwayland
+, kwidgetsaddons
+, kxmlgui
+, solid
+, systemsettings
+, dmidecode
+, fwupd
+, libraw1394
+, libusb1
+, libGLU
+, pciutils
+, smartmontools
+, util-linux
+, vulkan-tools
+, wayland-utils
+, xdpyinfo
+}:
+
+let
+  inherit (lib) getBin getExe;
+
+  qdbus = "${getBin qttools}/bin/qdbus";
+
+in
+mkDerivation {
+  pname = "kinfocenter";
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+
+  buildInputs = [
+    kcmutils
+    kcompletion
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kdbusaddons
+    kdeclarative
+    ki18n
+    kiconthemes
+    kio
+    kirigami2
+    kpackage
+    kservice
+    kwayland
+    kwidgetsaddons
+    kxmlgui
+    solid
+    systemsettings
+
+    dmidecode
+    fwupd
+    libraw1394
+    libusb1
+    libGLU
+    pciutils
+    smartmontools
+    util-linux
+    vulkan-tools
+    wayland-utils
+    xdpyinfo
+  ];
+
+  patches = [
+    ./0001-tool-paths.patch
+  ];
+
+  postPatch = ''
+    for f in Modules/kwinsupportinfo/{kcm_kwinsupportinfo.json.in,main.cpp}; do
+      substituteInPlace $f \
+        --replace "@qdbus@" "${qdbus}"
+    done
+
+    for f in Modules/xserver/{kcm_xserver.json,main.cpp}; do
+      substituteInPlace $f \
+        --replace "@xdpyinfo@" "${getExe xdpyinfo}"
+    done
+  '';
+
+  # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in
+  # the same directory, while it is actually located in a completely different
+  # store path
+  preFixup = ''
+    ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter
+  '';
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kmenuedit.nix b/nixpkgs/pkgs/desktops/plasma-5/kmenuedit.nix
index 6a9d055abe43..57b327a7cdc4 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kmenuedit.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kmenuedit.nix
@@ -1,14 +1,25 @@
-{
-  mkDerivation,
-  extra-cmake-modules, kdoctools,
-  kdbusaddons, khotkeys, ki18n, kiconthemes, kio, kxmlgui,
-  sonnet
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kdbusaddons
+, khotkeys
+, ki18n
+, kiconthemes
+, kio
+, kxmlgui
+, sonnet
 }:
 
 mkDerivation {
   pname = "kmenuedit";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kdbusaddons khotkeys ki18n kiconthemes kio kxmlgui sonnet
+    kdbusaddons
+    khotkeys
+    ki18n
+    kiconthemes
+    kio
+    kxmlgui
+    sonnet
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kpipewire.nix b/nixpkgs/pkgs/desktops/plasma-5/kpipewire.nix
new file mode 100644
index 000000000000..59169cd510c8
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/kpipewire.nix
@@ -0,0 +1,28 @@
+{ mkDerivation
+, extra-cmake-modules
+, kwayland
+, ki18n
+, kcoreaddons
+, plasma-wayland-protocols
+, libepoxy
+, ffmpeg
+, mesa
+, pipewire
+, wayland
+}:
+
+mkDerivation {
+  pname = "kpipewire";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kwayland
+    ki18n
+    kcoreaddons
+    plasma-wayland-protocols
+    ffmpeg
+    mesa
+    pipewire
+    wayland
+  ];
+  propagatedBuildInputs = [ libepoxy ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kscreen.nix b/nixpkgs/pkgs/desktops/plasma-5/kscreen.nix
index 49f77fc5ff8c..ca5ad59072f0 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kscreen.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kscreen.nix
@@ -1,17 +1,44 @@
-{
-  mkDerivation,
-  extra-cmake-modules,
-  kconfig, kcmutils, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n,
-  kwidgetsaddons, kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects, qtsensors,
-  kwindowsystem, kdeclarative, plasma-framework, qtx11extras
+{ mkDerivation
+, extra-cmake-modules
+, kconfig
+, kcmutils
+, kconfigwidgets
+, kdbusaddons
+, kglobalaccel
+, ki18n
+, kwidgetsaddons
+, kxmlgui
+, libkscreen
+, qtdeclarative
+, qtgraphicaleffects
+, qtsensors
+, kwindowsystem
+, kdeclarative
+, plasma-framework
+, qtx11extras
+, layer-shell-qt
 }:
 
 mkDerivation {
   pname = "kscreen";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    kconfig kcmutils kconfigwidgets kdbusaddons kglobalaccel ki18n
-    kwidgetsaddons kxmlgui libkscreen qtdeclarative qtgraphicaleffects qtsensors
-    kwindowsystem kdeclarative plasma-framework qtx11extras
+    kconfig
+    kcmutils
+    kconfigwidgets
+    kdbusaddons
+    kglobalaccel
+    ki18n
+    kwidgetsaddons
+    kxmlgui
+    libkscreen
+    qtdeclarative
+    qtgraphicaleffects
+    qtsensors
+    kwindowsystem
+    kdeclarative
+    plasma-framework
+    qtx11extras
+    layer-shell-qt
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix b/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
index b37bbc6c8456..b7510cb95bce 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -1,17 +1,39 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  kcmutils, kcrash, kdeclarative, kglobalaccel, kidletime,
-  kwayland, libXcursor, pam, plasma-framework, qtbase, qtdeclarative, qtx11extras,
-  wayland, layer-shell-qt,
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kcrash
+, kdeclarative
+, kglobalaccel
+, kidletime
+, libkscreen
+, kwayland
+, libXcursor
+, pam
+, plasma-framework
+, qtdeclarative
+, qtx11extras
+, wayland
+, layer-shell-qt
 }:
 
 mkDerivation {
   pname = "kscreenlocker";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kcmutils kcrash kdeclarative kglobalaccel kidletime kwayland
-    libXcursor pam plasma-framework qtdeclarative qtx11extras wayland
+    kcmutils
+    kcrash
+    kdeclarative
+    kglobalaccel
+    kidletime
+    libkscreen
+    kwayland
+    libXcursor
+    pam
+    plasma-framework
+    qtdeclarative
+    qtx11extras
+    wayland
     layer-shell-qt
   ];
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix b/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix
index 4cbf08044934..072b78f53d6b 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix
@@ -1,7 +1,11 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  kcoreaddons, ki18n, kwallet, kwidgetsaddons, qtbase,
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcoreaddons
+, ki18n
+, kwallet
+, kwidgetsaddons
+, qtbase
 }:
 
 mkDerivation {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix b/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix
index d5f96e42981b..5b552a1f7860 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/ksystemstats.nix
@@ -1,11 +1,15 @@
-{ mkDerivation, lib
+{ mkDerivation
+, lib
 , extra-cmake-modules
-, libksysguard, libnl, lm_sensors, networkmanager-qt
+, libksysguard
+, libnl
+, lm_sensors
+, networkmanager-qt
 }:
 
 mkDerivation {
   pname = "ksystemstats";
-  NIX_CFLAGS_COMPILE = [ "-I${lib.getBin libksysguard}/share" ];
+  env.NIX_CFLAGS_COMPILE = toString [ "-I${lib.getBin libksysguard}/share" ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ libksysguard libnl lm_sensors networkmanager-qt ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix b/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix
index 5462814e8de2..abe1c866671b 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -1,12 +1,22 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules,
-  kguiaddons, kidletime, kwayland, kwindowsystem, qtbase,
-  wayland-protocols, wayland-scanner, wayland
+{ mkDerivation
+, extra-cmake-modules
+, kguiaddons
+, kidletime
+, kwayland
+, kwindowsystem
+, qtbase
+, wayland-protocols
+, wayland-scanner
+, wayland
 }:
 
 mkDerivation {
   pname = "kwayland-integration";
   nativeBuildInputs = [ extra-cmake-modules wayland-scanner ];
   buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-protocols wayland ];
+
+  meta = {
+    description = "Integration plugins for various KDE frameworks for the Wayland windowing system";
+    homepage = "https://invent.kde.org/plasma/kwayland-integration";
+  };
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch b/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch
new file mode 100644
index 000000000000..e6408605aa43
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch
@@ -0,0 +1,40 @@
+From 232e480ab1303f37d37d295b57fdcbb6b6648bca Mon Sep 17 00:00:00 2001
+From: Alois Wohlschlager <alois1@gmx-topmail.de>
+Date: Sun, 7 Aug 2022 16:12:31 +0200
+Subject: [PATCH] Lower CAP_SYS_NICE from the ambient set
+
+The capabilities wrapper raises CAP_SYS_NICE into the ambient set so it
+is inherited by the wrapped program. However, we don't want it to leak
+into the entire desktop environment.
+
+Lower the capability again at startup so that the kernel will clear it
+on exec.
+---
+ src/main_wayland.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/main_wayland.cpp b/src/main_wayland.cpp
+index 1720e14e7..f2bb446b0 100644
+--- a/src/main_wayland.cpp
++++ b/src/main_wayland.cpp
+@@ -39,7 +39,9 @@
+ #include <QWindow>
+ #include <qplatformdefs.h>
+ 
++#include <linux/capability.h>
+ #include <sched.h>
++#include <sys/prctl.h>
+ #include <sys/resource.h>
+ 
+ #include <iomanip>
+@@ -285,6 +287,7 @@ static QString automaticBackendSelection()
+ 
+ int main(int argc, char *argv[])
+ {
++    prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_LOWER, CAP_SYS_NICE, 0, 0);
+     KWin::Application::setupMalloc();
+     KWin::Application::setupLocalizedString();
+     KWin::gainRealTime();
+-- 
+2.37.1
+
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch b/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
index 50c7cef3f8cd..d0be721b044c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
@@ -13,9 +13,9 @@ index efd236b..a69c046 100644
 --- a/src/plugins/qpa/main.cpp
 +++ b/src/plugins/qpa/main.cpp
 @@ -23,7 +23,7 @@ public:
+
  QPlatformIntegration *KWinIntegrationPlugin::create(const QString &system, const QStringList &paramList)
  {
-     Q_UNUSED(paramList)
 -    if (!QCoreApplication::applicationFilePath().endsWith(QLatin1String("kwin_wayland")) && !qEnvironmentVariableIsSet("KWIN_FORCE_OWN_QPA")) {
 +    if (!QCoreApplication::applicationFilePath().endsWith(QLatin1String("kwin_wayland")) && !QCoreApplication::applicationFilePath().endsWith(QLatin1String(".kwin_wayland-wrapped")) && !qEnvironmentVariableIsSet("KWIN_FORCE_OWN_QPA")) {
          // Not KWin
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix b/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
index 74c6b1b7faa5..2334604903fe 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
@@ -1,20 +1,61 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools, fetchpatch,
-
-  libepoxy, lcms2, libICE, libSM, libcap, libdrm, libinput, libxkbcommon, mesa,
-  pipewire, udev, wayland, xcb-util-cursor, xwayland,
-  plasma-wayland-protocols, wayland-protocols, libxcvt,
-
-  qtdeclarative, qtmultimedia, qtquickcontrols2, qtscript, qtsensors,
-  qtvirtualkeyboard, qtx11extras,
-
-  breeze-qt5, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets,
-  kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
-  kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
-  krunner, kscreenlocker, kservice, kwayland, kwidgetsaddons,
-  kwindowsystem, kxmlgui, plasma-framework, libqaccessibilityclient,
-  python3
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, fetchpatch
+, libepoxy
+, lcms2
+, libICE
+, libSM
+, libcap
+, libdrm
+, libinput
+, libxkbcommon
+, mesa
+, pipewire
+, udev
+, wayland
+, xcb-util-cursor
+, xwayland
+, plasma-wayland-protocols
+, wayland-protocols
+, libxcvt
+, qtdeclarative
+, qtmultimedia
+, qtquickcontrols2
+, qtscript
+, qtsensors
+, qtvirtualkeyboard
+, qtx11extras
+, breeze-qt5
+, kactivities
+, kcompletion
+, kcmutils
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kcrash
+, kdeclarative
+, kdecoration
+, kglobalaccel
+, ki18n
+, kiconthemes
+, kidletime
+, kinit
+, kio
+, knewstuff
+, knotifications
+, kpackage
+, krunner
+, kscreenlocker
+, kservice
+, kwayland
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+, plasma-framework
+, libqaccessibilityclient
+, python3
 }:
 
 # TODO (ttuegel): investigate qmlplugindump failure
@@ -23,18 +64,60 @@ mkDerivation {
   pname = "kwin";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    libepoxy lcms2 libICE libSM libcap libdrm libinput libxkbcommon mesa pipewire
-    udev wayland xcb-util-cursor xwayland
-    libxcvt plasma-wayland-protocols wayland-protocols
+    libepoxy
+    lcms2
+    libICE
+    libSM
+    libcap
+    libdrm
+    libinput
+    libxkbcommon
+    mesa
+    pipewire
+    udev
+    wayland
+    xcb-util-cursor
+    xwayland
+    libxcvt
+    plasma-wayland-protocols
+    wayland-protocols
 
-    qtdeclarative qtmultimedia qtquickcontrols2 qtscript qtsensors
-    qtvirtualkeyboard qtx11extras
+    qtdeclarative
+    qtmultimedia
+    qtquickcontrols2
+    qtscript
+    qtsensors
+    qtvirtualkeyboard
+    qtx11extras
 
-    breeze-qt5 kactivities kcmutils kcompletion kconfig kconfigwidgets
-    kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
-    kidletime kinit kio knewstuff knotifications kpackage krunner kscreenlocker
-    kservice kwayland kwidgetsaddons kwindowsystem kxmlgui
-    plasma-framework libqaccessibilityclient
+    breeze-qt5
+    kactivities
+    kcmutils
+    kcompletion
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kcrash
+    kdeclarative
+    kdecoration
+    kglobalaccel
+    ki18n
+    kiconthemes
+    kidletime
+    kinit
+    kio
+    knewstuff
+    knotifications
+    kpackage
+    krunner
+    kscreenlocker
+    kservice
+    kwayland
+    kwidgetsaddons
+    kwindowsystem
+    kxmlgui
+    plasma-framework
+    libqaccessibilityclient
 
   ];
   outputs = [ "out" "dev" ];
@@ -48,6 +131,7 @@ mkDerivation {
     ./0002-xwayland.patch
     ./0003-plugins-qpa-allow-using-nixos-wrapper.patch
     ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+    ./0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch
     # Pass special environments through arguemnts to `kwin_wayland`, bypassing
     # ld.so(8) environment stripping due to `kwin_wayland`'s capabilities.
     # We need this to have `TZDIR` correctly set for `plasmashell`, or
@@ -58,9 +142,11 @@ mkDerivation {
       sha256 = "sha256-f35G+g2MVABLDbAkCed3ZmtDWrzYn1rdD08mEx35j4k=";
     })
   ];
+
   CXXFLAGS = [
-    ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
+    ''-DNIXPKGS_XWAYLAND=\"${lib.getExe xwayland}\"''
   ];
+
   postInstall = ''
     # Some package(s) refer to these service types by the wrong name.
     # I would prefer to patch those packages, but I cannot find them!
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix b/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix
index 9ba1afaf9f83..2ce029be9de8 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix
@@ -1,7 +1,11 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules,
-  kcoreaddons, kdbusaddons, ki18n, knotifications, kpty, qtbase,
+{ mkDerivation
+, extra-cmake-modules
+, kcoreaddons
+, kdbusaddons
+, ki18n
+, knotifications
+, kpty
+, qtbase
 }:
 
 mkDerivation {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix b/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix
index 812637795531..d437c4cf0b75 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/layer-shell-qt.nix
@@ -1,6 +1,13 @@
-{ mkDerivation, lib
+{ mkDerivation
 , extra-cmake-modules
-, kguiaddons, kidletime, kwayland, kwindowsystem, qtbase, wayland-scanner, wayland, wayland-protocols
+, kguiaddons
+, kidletime
+, kwayland
+, kwindowsystem
+, qtbase
+, wayland-scanner
+, wayland
+, wayland-protocols
 }:
 
 mkDerivation {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
index 6798a2cdcb0e..961b56736ae5 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
@@ -1,16 +1,20 @@
-{
-  mkDerivation, lib, propagate,
-  extra-cmake-modules,
-  qtbase,
-  wayland-scanner, kwayland,
-  plasma-wayland-protocols, wayland,
-  libXrandr, qtx11extras
+{ mkDerivation
+, propagate
+, extra-cmake-modules
+, wayland-scanner
+, kconfig
+, kwayland
+, plasma-wayland-protocols
+, wayland
+, libXrandr
+, qtx11extras
+, qttools
 }:
 
 mkDerivation {
   pname = "libkscreen";
   nativeBuildInputs = [ extra-cmake-modules wayland-scanner ];
-  buildInputs = [ kwayland plasma-wayland-protocols wayland libXrandr qtx11extras ];
+  buildInputs = [ kconfig kwayland plasma-wayland-protocols wayland libXrandr qtx11extras qttools ];
   outputs = [ "out" "dev" ];
   patches = [
     ./libkscreen-backends-path.patch
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/libkscreen-backends-path.patch b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/libkscreen-backends-path.patch
index 3d19f2d89fa1..948c045db4b1 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/libkscreen-backends-path.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/libkscreen-backends-path.patch
@@ -1,16 +1,20 @@
-Index: libkscreen-5.9.4/src/backendmanager.cpp
-===================================================================
---- libkscreen-5.9.4.orig/src/backendmanager.cpp
-+++ libkscreen-5.9.4/src/backendmanager.cpp
-@@ -172,14 +172,11 @@ QFileInfo BackendManager::preferredBackend(const QString &backend)
+diff --git a/src/backendmanager.cpp b/src/backendmanager.cpp
+index e1013d5..4bded53 100644
+--- a/src/backendmanager.cpp
++++ b/src/backendmanager.cpp
+@@ -164,18 +164,11 @@ QFileInfo BackendManager::preferredBackend(const QString &backend)
+ 
  QFileInfoList BackendManager::listBackends()
  {
-     // Compile a list of installed backends first
+-    // Compile a list of installed backends first
 -    const QString backendFilter = QStringLiteral("KSC_*");
 -    const QStringList paths = QCoreApplication::libraryPaths();
 -    QFileInfoList finfos;
 -    for (const QString &path : paths) {
--        const QDir dir(path + QLatin1String("/kf5/kscreen/"), backendFilter, QDir::SortFlags(QDir::QDir::Name), QDir::NoDotAndDotDot | QDir::Files);
+-        const QDir dir(path + QStringLiteral("/kf" QT_STRINGIFY(QT_VERSION_MAJOR) "/kscreen/"),
+-                       backendFilter,
+-                       QDir::SortFlags(QDir::QDir::Name),
+-                       QDir::NoDotAndDotDot | QDir::Files);
 -        finfos.append(dir.entryInfoList());
 -    }
 -    return finfos;
@@ -21,4 +25,4 @@ Index: libkscreen-5.9.4/src/backendmanager.cpp
 +    return dir.entryInfoList();
  }
  
- KScreen::AbstractBackend *BackendManager::loadBackendPlugin(QPluginLoader *loader, const QString &name, const QVariantMap &arguments)
+ void BackendManager::setBackendArgs(const QVariantMap &arguments)
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix b/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
index ef4e44384448..17e9decf4549 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -1,9 +1,24 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules,
-  kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
-  knewstuff, kservice, kwidgetsaddons, kwindowsystem, plasma-framework,
-  qtbase, qtscript, qtwebengine, qtx11extras, libnl, libpcap, qtsensors, lm_sensors,
+{ mkDerivation
+, extra-cmake-modules
+, kauth
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, ki18n
+, kiconthemes
+, knewstuff
+, kservice
+, kwidgetsaddons
+, kwindowsystem
+, plasma-framework
+, qtscript
+, qtwebengine
+, qtx11extras
+, libnl
+, libpcap
+, qtsensors
+, lm_sensors
 }:
 
 mkDerivation {
@@ -13,9 +28,25 @@ mkDerivation {
   ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
-    kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
-    qtwebengine knewstuff libnl libpcap qtsensors lm_sensors
+    kauth
+    kconfig
+    ki18n
+    kiconthemes
+    kwindowsystem
+    kcompletion
+    kconfigwidgets
+    kcoreaddons
+    kservice
+    kwidgetsaddons
+    plasma-framework
+    qtscript
+    qtx11extras
+    qtwebengine
+    knewstuff
+    libnl
+    libpcap
+    qtsensors
+    lm_sensors
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/milou.nix b/nixpkgs/pkgs/desktops/plasma-5/milou.nix
index 8ae5061436d1..1045e5f68e52 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/milou.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/milou.nix
@@ -1,15 +1,28 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules,
-  kcoreaddons, kdeclarative, ki18n, kitemmodels, krunner, kservice,
-  plasma-framework, qtbase, qtscript, qtdeclarative
+{ mkDerivation
+, extra-cmake-modules
+, kcoreaddons
+, kdeclarative
+, ki18n
+, kitemmodels
+, krunner
+, kservice
+, plasma-framework
+, qtscript
+, qtdeclarative
 }:
 
 mkDerivation {
   pname = "milou";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    kcoreaddons kdeclarative ki18n kitemmodels krunner kservice plasma-framework
-    qtdeclarative qtscript
+    kcoreaddons
+    kdeclarative
+    ki18n
+    kitemmodels
+    krunner
+    kservice
+    plasma-framework
+    qtdeclarative
+    qtscript
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/oxygen-sounds.nix b/nixpkgs/pkgs/desktops/plasma-5/oxygen-sounds.nix
new file mode 100644
index 000000000000..78fdebc416c8
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/oxygen-sounds.nix
@@ -0,0 +1,8 @@
+{ mkDerivation
+, extra-cmake-modules
+}:
+
+mkDerivation {
+  pname = "oxygen-sounds";
+  nativeBuildInputs = [ extra-cmake-modules ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/oxygen.nix b/nixpkgs/pkgs/desktops/plasma-5/oxygen.nix
index 78603c3c306a..a9e4eb18820b 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/oxygen.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/oxygen.nix
@@ -1,18 +1,39 @@
-{
-  mkDerivation,
-  extra-cmake-modules,
-  frameworkintegration, kcmutils, kcompletion, kconfig, kdecoration, kguiaddons,
-  ki18n, kwidgetsaddons, kservice, kwayland, kwindowsystem, qtdeclarative,
-  qtx11extras, libXdmcp
+{ mkDerivation
+, extra-cmake-modules
+, frameworkintegration
+, kcmutils
+, kcompletion
+, kconfig
+, kdecoration
+, kguiaddons
+, ki18n
+, kwidgetsaddons
+, kservice
+, kwayland
+, kwindowsystem
+, qtdeclarative
+, qtx11extras
+, libXdmcp
 }:
 
 mkDerivation {
   pname = "oxygen";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
-    frameworkintegration kcmutils kcompletion kconfig kdecoration kguiaddons
-    ki18n kservice kwayland kwidgetsaddons kwindowsystem qtdeclarative
-    qtx11extras libXdmcp
+    frameworkintegration
+    kcmutils
+    kcompletion
+    kconfig
+    kdecoration
+    kguiaddons
+    ki18n
+    kservice
+    kwayland
+    kwidgetsaddons
+    kwindowsystem
+    qtdeclarative
+    qtx11extras
+    libXdmcp
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plank-player.nix b/nixpkgs/pkgs/desktops/plasma-5/plank-player.nix
new file mode 100644
index 000000000000..f67cd8728ee7
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/plank-player.nix
@@ -0,0 +1,17 @@
+{ mkDerivation
+, extra-cmake-modules
+, qtquickcontrols2
+, qtmultimedia
+, kirigami2
+, ki18n
+}:
+mkDerivation {
+  pname = "plank-player";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    qtquickcontrols2
+    qtmultimedia
+    kirigami2
+    ki18n
+  ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-bigscreen.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-bigscreen.nix
new file mode 100644
index 000000000000..f94b49efabc7
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-bigscreen.nix
@@ -0,0 +1,47 @@
+{ mkDerivation
+, extra-cmake-modules
+, kactivities
+, kactivities-stats
+, plasma-framework
+, ki18n
+, kirigami2
+, kdeclarative
+, kcmutils
+, knotifications
+, kio
+, kwayland
+, kwindowsystem
+, plasma-workspace
+, qtmultimedia
+}:
+mkDerivation {
+  pname = "plasma-bigscreen";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kactivities
+    kactivities-stats
+    plasma-framework
+    ki18n
+    kirigami2
+    kdeclarative
+    kcmutils
+    knotifications
+    kio
+    kwayland
+    kwindowsystem
+    plasma-workspace
+    qtmultimedia
+  ];
+
+  postPatch = ''
+    substituteInPlace bin/plasma-bigscreen-wayland.in \
+      --replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
+  '';
+
+  preFixup = ''
+    wrapQtApp $out/bin/plasma-bigscreen-x11
+    wrapQtApp $out/bin/plasma-bigscreen-wayland
+  '';
+
+  passthru.providedSessions = [ "plasma-bigscreen-x11" "plasma-bigscreen-wayland" ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-browser-integration.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-browser-integration.nix
index 1ddd844444d8..06325911a9df 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-browser-integration.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-browser-integration.nix
@@ -1,9 +1,17 @@
-{
-  mkDerivation,
-  extra-cmake-modules,
-  qtbase,
-  kfilemetadata, kio, ki18n, kconfig , kdbusaddons, knotifications, kpurpose,
-  krunner, kwindowsystem, kactivities, plasma-workspace
+{ mkDerivation
+, extra-cmake-modules
+, qtbase
+, kfilemetadata
+, kio
+, ki18n
+, kconfig
+, kdbusaddons
+, knotifications
+, kpurpose
+, krunner
+, kwindowsystem
+, kactivities
+, plasma-workspace
 }:
 
 mkDerivation {
@@ -12,7 +20,22 @@ mkDerivation {
     extra-cmake-modules
   ];
   buildInputs = [
-    qtbase kfilemetadata kio ki18n kconfig kdbusaddons knotifications kpurpose
-    krunner kwindowsystem kactivities plasma-workspace
+    qtbase
+    kfilemetadata
+    kio
+    ki18n
+    kconfig
+    kdbusaddons
+    knotifications
+    kpurpose
+    krunner
+    kwindowsystem
+    kactivities
+    plasma-workspace
   ];
+
+  meta = {
+    description = "Components necessary to integrate browsers into the Plasma Desktop";
+    homepage = "https://community.kde.org/Plasma/Browser_Integration";
+  };
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index 6c8d8a3bc4b6..f4ab7969cfea 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -1,45 +1,137 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-
-  boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio,
-  libxkbfile, xf86inputevdev, xf86inputsynaptics, xinput, xkeyboard_config,
-  xorgserver, util-linux,
-
-  accounts-qt, qtdeclarative, qtquickcontrols, qtquickcontrols2, qtsvg,
-  qtx11extras,
-
-  attica, baloo, kaccounts-integration, kactivities, kactivities-stats, kauth,
-  kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons,
-  kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications, knotifyconfig,
-  kpeople, krunner, kscreenlocker, kwallet, kwin, phonon,
-  plasma-framework, plasma-workspace, qqc2-desktop-style, xf86inputlibinput
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, wayland-scanner
+, boost
+, fontconfig
+, ibus
+, libXcursor
+, libXft
+, libcanberra_kde
+, libpulseaudio
+, libxkbfile
+, xf86inputevdev
+, xf86inputsynaptics
+, xinput
+, xkeyboard_config
+, xorgserver
+, util-linux
+, wayland
+, wayland-protocols
+, accounts-qt
+, qtdeclarative
+, qtquickcontrols
+, qtquickcontrols2
+, qtsvg
+, qtx11extras
+, attica
+, baloo
+, kaccounts-integration
+, kactivities
+, kactivities-stats
+, kauth
+, kcmutils
+, kdbusaddons
+, kdeclarative
+, kded
+, kdelibs4support
+, kemoticons
+, kglobalaccel
+, ki18n
+, kitemmodels
+, knewstuff
+, knotifications
+, knotifyconfig
+, kpeople
+, krunner
+, kscreenlocker
+, kwallet
+, kwin
+, phonon
+, plasma-framework
+, plasma-workspace
+, qqc2-desktop-style
+, xf86inputlibinput
+, glib
+, gsettings-desktop-schemas
+, runCommandLocal
+, makeWrapper
 }:
 
 mkDerivation {
   pname = "plasma-desktop";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools wayland-scanner ];
   buildInputs = [
-    boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft xorgserver
-    libxkbfile phonon xf86inputlibinput xf86inputevdev xf86inputsynaptics xinput
+    boost
+    fontconfig
+    ibus
+    libcanberra_kde
+    libpulseaudio
+    libXcursor
+    libXft
+    xorgserver
+    libxkbfile
+    phonon
+    xf86inputlibinput
+    xf86inputevdev
+    xf86inputsynaptics
+    xinput
     xkeyboard_config
+    wayland
+    wayland-protocols
 
-    accounts-qt qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras
+    accounts-qt
+    qtdeclarative
+    qtquickcontrols
+    qtquickcontrols2
+    qtsvg
+    qtx11extras
 
-    attica baloo kaccounts-integration kactivities kactivities-stats kauth
-    kcmutils kdbusaddons kdeclarative kded kdelibs4support kemoticons
-    kglobalaccel ki18n kitemmodels knewstuff knotifications knotifyconfig
-    kpeople krunner kscreenlocker kwallet kwin plasma-framework
-    plasma-workspace qqc2-desktop-style
+    attica
+    baloo
+    kaccounts-integration
+    kactivities
+    kactivities-stats
+    kauth
+    kcmutils
+    kdbusaddons
+    kdeclarative
+    kded
+    kdelibs4support
+    kemoticons
+    kglobalaccel
+    ki18n
+    kitemmodels
+    knewstuff
+    knotifications
+    knotifyconfig
+    kpeople
+    krunner
+    kscreenlocker
+    kwallet
+    kwin
+    plasma-framework
+    plasma-workspace
+    qqc2-desktop-style
   ];
 
   patches = [
     ./hwclock-path.patch
     ./tzdir.patch
+    ./kcm-access.patch
   ];
-  CXXFLAGS = [
-    ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
-  ];
+  CXXFLAGS =
+    let
+      # run gsettings with desktop schemas for using in kcm_accces kcm
+      gsettings-wrapper = runCommandLocal "gsettings-wrapper" { nativeBuildInputs = [ makeWrapper ]; } ''
+        makeWrapper ${glib}/bin/gsettings $out --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas.out}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
+      '';
+    in
+    [
+      ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/bin/hwclock\"''
+      ''-DNIXPKGS_GSETTINGS=\"${gsettings-wrapper}\"''
+    ];
   postInstall = ''
     # Display ~/Desktop contents on the desktop by default.
     sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch
new file mode 100644
index 000000000000..89f6dd8b84f7
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/kcm-access.patch
@@ -0,0 +1,13 @@
+diff --git a/kcms/access/kcmaccess.cpp b/kcms/access/kcmaccess.cpp
+index 4f8d3e2..a96f755 100644
+--- a/kcms/access/kcmaccess.cpp
++++ b/kcms/access/kcmaccess.cpp
+@@ -176,7 +176,7 @@ void KAccessConfig::launchOrcaConfiguration()
+                                       QStringLiteral("screen-reader-enabled"),
+                                       QStringLiteral("true")};
+ 
+-    int ret = QProcess::execute(QStringLiteral("gsettings"), gsettingArgs);
++    int ret = QProcess::execute(QStringLiteral(NIXPKGS_GSETTINGS), gsettingArgs);
+     if (ret) {
+         const QString errorStr = QLatin1String("gsettings ") + gsettingArgs.join(QLatin1Char(' '));
+         setOrcaLaunchFeedback(i18n("Could not set gsettings for Orca: \"%1\" failed", errorStr));
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-disks.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-disks.nix
index 8ddd53548e75..801bf4d978b3 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-disks.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-disks.nix
@@ -1,18 +1,49 @@
-{
-  mkDerivation, extra-cmake-modules, kdoctools,
-  kcmutils, kconfig, kdbusaddons, khtml, ki18n, kiconthemes, kio, kitemviews,
-  kservice, kwindowsystem, kxmlgui, qtquickcontrols, qtquickcontrols2,
-  kactivities, kactivities-stats, kirigami2, kcrash, plasma-workspace,
-  systemsettings
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kconfig
+, kdbusaddons
+, khtml
+, ki18n
+, kiconthemes
+, kio
+, kitemviews
+, kservice
+, kwindowsystem
+, kxmlgui
+, qtquickcontrols
+, qtquickcontrols2
+, kactivities
+, kactivities-stats
+, kirigami2
+, kcrash
+, plasma-workspace
+, systemsettings
 }:
 
 mkDerivation {
   pname = "plasma-disks";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kcmutils kconfig kdbusaddons khtml ki18n kiconthemes kio kitemviews kservice
-    kwindowsystem kxmlgui qtquickcontrols qtquickcontrols2
-    kactivities kactivities-stats kirigami2 kcrash plasma-workspace
+    kcmutils
+    kconfig
+    kdbusaddons
+    khtml
+    ki18n
+    kiconthemes
+    kio
+    kitemviews
+    kservice
+    kwindowsystem
+    kxmlgui
+    qtquickcontrols
+    qtquickcontrols2
+    kactivities
+    kactivities-stats
+    kirigami2
+    kcrash
+    plasma-workspace
     systemsettings
   ];
   outputs = [ "bin" "dev" "out" ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-integration/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-integration/default.nix
index 2c6bd8337ff1..cf900af71438 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-integration/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -1,9 +1,17 @@
-{
-  mkDerivation,
-  extra-cmake-modules,
-  breeze-qt5, kconfig, kconfigwidgets, kiconthemes, kio, knotifications,
-  kwayland, libXcursor, qtquickcontrols2, wayland, wayland-protocols,
-  plasma-wayland-protocols
+{ mkDerivation
+, extra-cmake-modules
+, breeze-qt5
+, kconfig
+, kconfigwidgets
+, kiconthemes
+, kio
+, knotifications
+, kwayland
+, libXcursor
+, qtquickcontrols2
+, wayland
+, wayland-protocols
+, plasma-wayland-protocols
 }:
 
 # TODO: install Noto Sans and Oxygen Mono fonts with plasma-integration
@@ -12,8 +20,22 @@ mkDerivation {
   pname = "plasma-integration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
-    libXcursor qtquickcontrols2 wayland wayland-protocols
+    breeze-qt5
+    kconfig
+    kconfigwidgets
+    kiconthemes
+    kio
+    knotifications
+    kwayland
+    libXcursor
+    qtquickcontrols2
+    wayland
+    wayland-protocols
     plasma-wayland-protocols
   ];
+
+  meta = {
+    description = "A set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace";
+    homepage = "https://invent.kde.org/plasma/plasma-integration";
+  };
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-mobile/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-mobile/default.nix
index 7ce5f827589a..a37a8cfe12b8 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-mobile/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-mobile/default.nix
@@ -1,33 +1,67 @@
-{
-  mkDerivation, lib,
-
-  extra-cmake-modules, kdoctools,
-
-  coreutils, dbus, gnugrep, gnused, libdbusmenu, pam, wayland, appstream,
-
-  kdeclarative, kdelibs4support, kpeople, kconfig, krunner, kinit, kwayland, kwin,
-  plasma-framework, telepathy, libphonenumber, protobuf, libqofono, modemmanager-qt,
-  networkmanager-qt, plasma-workspace,
-  maliit-framework, maliit-keyboard,
-
-  qtwayland, qttools
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, libdbusmenu
+, pam
+, wayland
+, appstream
+, kdeclarative
+, kdelibs4support
+, kpeople
+, kconfig
+, krunner
+, kinit
+, kirigami-addons
+, kwayland
+, kwin
+, plasma-framework
+, telepathy
+, libphonenumber
+, protobuf
+, libqofono
+, modemmanager-qt
+, networkmanager-qt
+, plasma-workspace
+, maliit-framework
+, maliit-keyboard
+, qtfeedback
+, qttools
 }:
 
-let inherit (lib) getBin getLib; in
-
 mkDerivation {
   pname = "plasma-mobile";
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    appstream libdbusmenu pam wayland
-    kdeclarative kdelibs4support kpeople kconfig krunner kinit kwayland kwin
-    plasma-framework telepathy libphonenumber protobuf libqofono modemmanager-qt
-    networkmanager-qt maliit-framework maliit-keyboard plasma-workspace
+    appstream
+    libdbusmenu
+    pam
+    wayland
+    kdeclarative
+    kdelibs4support
+    kpeople
+    kconfig
+    krunner
+    kinit
+    kirigami-addons
+    kwayland
+    kwin
+    plasma-framework
+    telepathy
+    libphonenumber
+    protobuf
+    libqofono
+    modemmanager-qt
+    networkmanager-qt
+    maliit-framework
+    maliit-keyboard
+    plasma-workspace
+    qtfeedback
   ];
 
   postPatch = ''
-    substituteInPlace bin/kwinwrapper.in \
+    substituteInPlace bin/startplasmamobile.in \
       --replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
 
     substituteInPlace bin/plasma-mobile.desktop.cmake \
@@ -36,7 +70,7 @@ mkDerivation {
 
   # Ensures dependencies like libqofono (at the very least) are present for the shell.
   preFixup = ''
-    wrapQtApp "$out/bin/kwinwrapper"
+    wrapQtApp "$out/bin/startplasmamobile"
   '';
 
   passthru.providedSessions = [ "plasma-mobile" ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-nano/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-nano/default.nix
index 6e2608c7f97b..50f0d321b394 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-nano/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-nano/default.nix
@@ -1,7 +1,6 @@
-{
-  mkDerivation,
-  extra-cmake-modules,
-  plasma-framework
+{ mkDerivation
+, extra-cmake-modules
+, plasma-framework
 }:
 
 mkDerivation {
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix
index 54c8079cf5f4..1915196e4949 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix
@@ -1,28 +1,74 @@
-{
-  mkDerivation, lib, substituteAll,
-  extra-cmake-modules, kdoctools,
-  kcompletion, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative,
-  ki18n, kiconthemes, kinit, kio, kitemviews, knotifications, kservice, kwallet,
-  kwidgetsaddons, kwindowsystem, kxmlgui, plasma-framework, prison, solid,
-
-  mobile-broadband-provider-info, openconnect, openvpn,
-  modemmanager-qt, networkmanager-qt, qca-qt5,
-  qtbase, qtdeclarative, qttools,
+{ mkDerivation
+, substituteAll
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kcompletion
+, kconfigwidgets
+, kcoreaddons
+, kdbusaddons
+, kdeclarative
+, ki18n
+, kiconthemes
+, kinit
+, kio
+, kitemviews
+, knotifications
+, kservice
+, kwallet
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+, plasma-framework
+, prison
+, solid
+, mobile-broadband-provider-info
+, openconnect
+, openvpn
+, modemmanager-qt
+, networkmanager-qt
+, qca-qt5
+, qtdeclarative
+, qttools
 }:
 
 mkDerivation {
   pname = "plasma-nm";
   nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
   buildInputs = [
-    kdeclarative ki18n kio kwindowsystem plasma-framework kcompletion
-    kconfigwidgets kcoreaddons kdbusaddons kiconthemes
-    kinit kitemviews knotifications kservice kwallet kwidgetsaddons kxmlgui
-    prison solid
+    kdeclarative
+    ki18n
+    kio
+    kwindowsystem
+    plasma-framework
+    kcompletion
+    kcmutils
+    kconfigwidgets
+    kcoreaddons
+    kdbusaddons
+    kiconthemes
+    kinit
+    kitemviews
+    knotifications
+    kservice
+    kwallet
+    kwidgetsaddons
+    kxmlgui
+    prison
+    solid
 
     qtdeclarative
-    modemmanager-qt networkmanager-qt qca-qt5
-    mobile-broadband-provider-info openconnect
+    modemmanager-qt
+    networkmanager-qt
+    qca-qt5
+    mobile-broadband-provider-info
+    openconnect
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_MOBILE=ON"
   ];
+
   patches = [
     (substituteAll {
       src = ./0002-openvpn-binary-path.patch;
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix
index 9e47356579e3..0256461db94c 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix
@@ -1,20 +1,43 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  kconfigwidgets, kcoreaddons, kdeclarative, kglobalaccel, ki18n, kwindowsystem, plasma-framework,
-  qtbase, qtdeclarative,
-  gconf, glib, libcanberra-gtk3, libpulseaudio, sound-theme-freedesktop
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kconfigwidgets
+, kcoreaddons
+, kdeclarative
+, kglobalaccel
+, ki18n
+, kwindowsystem
+, plasma-framework
+, qtbase
+, qtdeclarative
+, gconf
+, glib
+, libcanberra-gtk3
+, libpulseaudio
+, sound-theme-freedesktop
 }:
 
 mkDerivation {
   pname = "plasma-pa";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    gconf glib libcanberra-gtk3 libpulseaudio sound-theme-freedesktop
+    gconf
+    glib
+    libcanberra-gtk3
+    libpulseaudio
+    sound-theme-freedesktop
 
-    kconfigwidgets kcoreaddons kdeclarative kglobalaccel ki18n plasma-framework
+    kcmutils
+    kconfigwidgets
+    kcoreaddons
+    kdeclarative
+    kglobalaccel
+    ki18n
+    plasma-framework
     kwindowsystem
 
-    qtbase qtdeclarative
+    qtbase
+    qtdeclarative
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix
new file mode 100644
index 000000000000..be1c6ff42eff
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-remotecontrollers.nix
@@ -0,0 +1,42 @@
+{ mkDerivation
+, extra-cmake-modules
+, kconfig
+, knotifications
+, ki18n
+, solid
+, kcoreaddons
+, kdeclarative
+, kcmutils
+, kpackage
+, kscreenlocker
+, kwindowsystem
+, wayland
+, pkg-config
+, libcec
+, libcec_platform
+, libevdev
+, plasma-workspace
+, plasma-wayland-protocols
+}:
+mkDerivation {
+  pname = "plasma-remotecontrollers";
+  nativeBuildInputs = [ extra-cmake-modules pkg-config ];
+  buildInputs = [
+    kconfig
+    knotifications
+    ki18n
+    solid
+    kcoreaddons
+    kdeclarative
+    kcmutils
+    kpackage
+    kscreenlocker
+    kwindowsystem
+    wayland
+    libcec
+    libcec_platform
+    libevdev
+    plasma-workspace
+    plasma-wayland-protocols
+  ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-sdk.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-sdk.nix
index 8ab2d635b28d..e92521c148b6 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-sdk.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-sdk.nix
@@ -1,5 +1,4 @@
 { mkDerivation
-, lib
 , extra-cmake-modules
 , karchive
 , kcompletion
@@ -11,6 +10,7 @@
 , ki18n
 , kiconthemes
 , kio
+, kitemmodels
 , plasma-framework
 , kservice
 , ktexteditor
@@ -33,6 +33,7 @@ mkDerivation {
     ki18n
     kiconthemes
     kio
+    kitemmodels
     plasma-framework
     kservice
     ktexteditor
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix
index 80a54c93d58b..44f69995a15d 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix
@@ -1,5 +1,4 @@
 { mkDerivation
-, lib
 , extra-cmake-modules
 , kdoctools
 , qtquickcontrols2
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/0004-gocryptfs-path.patch b/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/0004-gocryptfs-path.patch
new file mode 100644
index 000000000000..8790f877ff07
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/0004-gocryptfs-path.patch
@@ -0,0 +1,13 @@
+diff --git a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp
+index 2d6df94..3e8ec9a 100644
+--- a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp
++++ b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp
+@@ -202,7 +202,7 @@ QProcess *GocryptfsBackend::gocryptfs(const QStringList &arguments) const
+     auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
+     KConfigGroup backendConfig(config, "GocryptfsBackend");
+ 
+-    return process("gocryptfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
++    return process(NIXPKGS_GOCRYPTFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
+ }
+ 
+ QString GocryptfsBackend::getConfigFilePath(const Device &device) const
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/default.nix
index b6ceb37a71ff..3bc432b0d509 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-vault/default.nix
@@ -1,16 +1,15 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules,
-
-  kactivities,
-  plasma-framework,
-  kwindowsystem,
-  networkmanager-qt,
-  libksysguard,
-
-  encfs,
-  cryfs,
-  fuse
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kactivities
+, plasma-framework
+, kwindowsystem
+, networkmanager-qt
+, libksysguard
+, encfs
+, cryfs
+, fuse
+, gocryptfs
 }:
 
 mkDerivation {
@@ -21,20 +20,23 @@ mkDerivation {
     ./0001-encfs-path.patch
     ./0002-cryfs-path.patch
     ./0003-fusermount-path.patch
+    ./0004-gocryptfs-path.patch
   ];
 
   buildInputs = [
-    kactivities plasma-framework kwindowsystem libksysguard
+    kactivities
+    plasma-framework
+    kwindowsystem
+    libksysguard
     networkmanager-qt
   ];
 
   CXXFLAGS = [
     ''-DNIXPKGS_ENCFS=\"${lib.getBin encfs}/bin/encfs\"''
     ''-DNIXPKGS_ENCFSCTL=\"${lib.getBin encfs}/bin/encfsctl\"''
-
     ''-DNIXPKGS_CRYFS=\"${lib.getBin cryfs}/bin/cryfs\"''
-
     ''-DNIXPKGS_FUSERMOUNT=\"${lib.getBin fuse}/bin/fusermount\"''
+    ''-DNIXPKGS_GOCRYPTFS=\"${lib.getBin gocryptfs}/bin/gocryptfs\"''
   ];
 
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-welcome.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-welcome.nix
new file mode 100644
index 000000000000..1ae778b3282a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-welcome.nix
@@ -0,0 +1,44 @@
+{ mkDerivation
+, extra-cmake-modules
+, qtquickcontrols2
+, accounts-qt
+, kaccounts-integration
+, kcoreaddons
+, kconfigwidgets
+, kdbusaddons
+, kdeclarative
+, ki18n
+, kio
+, kirigami2
+, knewstuff
+, knotifications
+, kservice
+, kuserfeedback
+, kwindowsystem
+, plasma-framework
+, signond
+}:
+
+mkDerivation {
+  pname = "plasma-welcome";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    qtquickcontrols2
+    accounts-qt
+    kaccounts-integration
+    kcoreaddons
+    kconfigwidgets
+    kdbusaddons
+    kdeclarative
+    ki18n
+    kio
+    kirigami2
+    knewstuff
+    knotifications
+    kservice
+    kuserfeedback
+    kwindowsystem
+    plasma-framework
+    signond
+  ];
+}
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix
index 8ae136ac78ba..799973c21538 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix
@@ -1,4 +1,4 @@
-{ mkDerivation , extra-cmake-modules }:
+{ mkDerivation, extra-cmake-modules }:
 
 mkDerivation {
   pname = "plasma-workspace-wallpapers";
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
index 211316e24736..45c9f695b452 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
@@ -1,23 +1,9 @@
-From 914d2ec5e669ecf8771cc1308028990f733fb8cc Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Wed, 5 Feb 2020 05:03:11 -0600
-Subject: [PATCH] absolute-wallpaper-install-dir
-
----
- sddm-theme/theme.conf.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
-index a560da3..f723c1e 100644
---- a/sddm-theme/theme.conf.cmake
-+++ b/sddm-theme/theme.conf.cmake
+--- a/lookandfeel/sddm-theme/theme.conf.cmake
++++ b/lookandfeel/sddm-theme/theme.conf.cmake
 @@ -4,5 +4,5 @@ logo=${KDE_INSTALL_FULL_DATADIR}/sddm/themes/breeze/default-logo.svg
  type=image
  color=#1d99f3
  fontSize=10
--background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.jpg
-+background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.jpg
+-background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.png
++background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.png
  needsFullUserModel=false
--- 
-2.30.0
-
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index f785ee9165c0..7cc615355663 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -1,23 +1,70 @@
-{
-  mkDerivation, lib,
-
-  extra-cmake-modules, kdoctools,
-
-  coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor,
-  libXtst, libXft, pam, wayland, xmessage, xprop, xrdb, xsetroot,
-
-  baloo, breeze-qt5, kactivities, kactivities-stats, kcmutils, kconfig, kcrash,
-  kdbusaddons, kdeclarative, kdelibs4support, kdesu, kglobalaccel, kidletime,
-  kinit, kjsembed, knewstuff, knotifyconfig, kpackage, kpeople, krunner,
-  kscreenlocker, ktexteditor, ktextwidgets, kwallet, kwayland, kwin,
-  kxmlrpcclient, libkscreen, libksysguard, libqalculate, networkmanager-qt,
-  phonon, plasma-framework, prison, solid, kholidays, kquickcharts,
-  appstream-qt, plasma-wayland-protocols,
-
-  qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools,
-  qtwayland, qtx11extras, qqc2-desktop-style,
-
-  pipewire, libdrm
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, isocodes
+, libdbusmenu
+, libSM
+, libXcursor
+, libXtst
+, libXft
+, pam
+, wayland
+, xmessage
+, xsetroot
+, baloo
+, breeze-qt5
+, kactivities
+, kactivities-stats
+, kcmutils
+, kconfig
+, kcrash
+, kdbusaddons
+, kdeclarative
+, kdelibs4support
+, kdesu
+, kglobalaccel
+, kidletime
+, kinit
+, kjsembed
+, knewstuff
+, knotifyconfig
+, kpackage
+, kpeople
+, krunner
+, kscreenlocker
+, ktexteditor
+, ktextwidgets
+, kwallet
+, kwayland
+, kwin
+, kxmlrpcclient
+, libkscreen
+, libksysguard
+, libqalculate
+, networkmanager-qt
+, phonon
+, plasma-framework
+, prison
+, solid
+, kholidays
+, kquickcharts
+, appstream-qt
+, plasma-wayland-protocols
+, kpipewire
+, libkexiv2
+, kuserfeedback
+, qtgraphicaleffects
+, qtquickcontrols
+, qtquickcontrols2
+, qtscript
+, qttools
+, qtwayland
+, qtx11extras
+, qqc2-desktop-style
+, polkit-qt
+, pipewire
+, libdrm
 }:
 
 let inherit (lib) getBin getLib; in
@@ -28,19 +75,67 @@ mkDerivation {
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    isocodes libdbusmenu libSM libXcursor libXtst libXft pam wayland
+    isocodes
+    libdbusmenu
+    libSM
+    libXcursor
+    libXtst
+    libXft
+    pam
+    wayland
 
-    baloo kactivities kactivities-stats kcmutils kconfig kcrash kdbusaddons
-    kdeclarative kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
-    knotifyconfig kpackage kpeople krunner kscreenlocker ktexteditor
-    ktextwidgets kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard
-    libqalculate networkmanager-qt phonon plasma-framework prison solid
-    kholidays kquickcharts appstream-qt plasma-wayland-protocols
+    baloo
+    kactivities
+    kactivities-stats
+    kcmutils
+    kconfig
+    kcrash
+    kdbusaddons
+    kdeclarative
+    kdelibs4support
+    kdesu
+    kglobalaccel
+    kidletime
+    kjsembed
+    knewstuff
+    knotifyconfig
+    kpackage
+    kpeople
+    krunner
+    kscreenlocker
+    ktexteditor
+    ktextwidgets
+    kwallet
+    kwayland
+    kwin
+    kxmlrpcclient
+    libkscreen
+    libksysguard
+    libqalculate
+    networkmanager-qt
+    phonon
+    plasma-framework
+    prison
+    solid
+    kholidays
+    kquickcharts
+    appstream-qt
+    plasma-wayland-protocols
+    kpipewire
+    libkexiv2
 
-    qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland
-    qtx11extras qqc2-desktop-style
+    kuserfeedback
+    qtgraphicaleffects
+    qtquickcontrols
+    qtquickcontrols2
+    qtscript
+    qtwayland
+    qtx11extras
+    qqc2-desktop-style
+    polkit-qt
 
-    pipewire libdrm
+    pipewire
+    libdrm
   ];
   propagatedUserEnvPkgs = [ qtgraphicaleffects ];
   outputs = [ "out" "dev" ];
@@ -60,12 +155,15 @@ mkDerivation {
       --replace 'ecm_query_qt(QtBinariesDir QT_INSTALL_BINS)' 'set(QtBinariesDir "${lib.getBin qttools}/bin")'
   '';
 
-  NIX_CFLAGS_COMPILE = [
+  # work around wrapQtAppsHook double-wrapping kcminit_startup,
+  # which is a symlink to kcminit
+  postFixup = ''
+    ln -sf $out/bin/kcminit $out/bin/kcminit_startup
+  '';
+
+  env.NIX_CFLAGS_COMPILE = toString [
     ''-DNIXPKGS_XMESSAGE="${getBin xmessage}/bin/xmessage"''
-    ''-DNIXPKGS_XRDB="${getBin xrdb}/bin/xrdb"''
     ''-DNIXPKGS_XSETROOT="${getBin xsetroot}/bin/xsetroot"''
-    ''-DNIXPKGS_XPROP="${getBin xprop}/bin/xprop"''
-    ''-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT="${getBin dbus}/bin/dbus-update-activation-environment"''
     ''-DNIXPKGS_START_KDEINIT_WRAPPER="${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"''
     ''-DNIXPKGS_KDEINIT5_SHUTDOWN="${getBin kinit}/bin/kdeinit5_shutdown"''
   ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix b/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix
index 82ebf3e31365..f96c642f7b28 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix
@@ -1,15 +1,31 @@
-{
-  mkDerivation, lib, extra-cmake-modules,
-  kcoreaddons, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, knotifications,
-  kwidgetsaddons, kwindowsystem, polkit-qt, qtbase
+{ mkDerivation
+, extra-cmake-modules
+, kcoreaddons
+, kconfig
+, kcrash
+, kdbusaddons
+, ki18n
+, kiconthemes
+, knotifications
+, kwidgetsaddons
+, kwindowsystem
+, polkit-qt
 }:
 
 mkDerivation {
   pname = "polkit-kde-agent";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
-    kdbusaddons kwidgetsaddons kcoreaddons kcrash kconfig ki18n kiconthemes
-    knotifications kwindowsystem polkit-qt
+    kdbusaddons
+    kwidgetsaddons
+    kcoreaddons
+    kcrash
+    kconfig
+    ki18n
+    kiconthemes
+    knotifications
+    kwindowsystem
+    polkit-qt
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/powerdevil.nix b/nixpkgs/pkgs/desktops/plasma-5/powerdevil.nix
index bb511c21ba67..d60f9701dee6 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/powerdevil.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/powerdevil.nix
@@ -1,17 +1,45 @@
-{
-  mkDerivation,
-  extra-cmake-modules, kdoctools,
-  bluez-qt, kactivities, kauth, kconfig, kdbusaddons,
-  kglobalaccel, ki18n, kidletime, kio, knotifyconfig, kwayland, libkscreen,
-  networkmanager-qt, plasma-workspace, qtx11extras, solid, udev
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, bluez-qt
+, kactivities
+, kauth
+, kconfig
+, kdbusaddons
+, kglobalaccel
+, ki18n
+, kidletime
+, kio
+, knotifyconfig
+, kwayland
+, libkscreen
+, networkmanager-qt
+, plasma-workspace
+, qtx11extras
+, solid
+, udev
 }:
 
 mkDerivation {
   pname = "powerdevil";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kconfig kdbusaddons knotifyconfig solid udev bluez-qt kactivities kauth
-    kglobalaccel ki18n kio kidletime kwayland libkscreen
-    networkmanager-qt plasma-workspace qtx11extras
+    kconfig
+    kdbusaddons
+    knotifyconfig
+    solid
+    udev
+    bluez-qt
+    kactivities
+    kauth
+    kglobalaccel
+    ki18n
+    kio
+    kidletime
+    kwayland
+    libkscreen
+    networkmanager-qt
+    plasma-workspace
+    qtx11extras
   ];
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/qqc2-breeze-style.nix b/nixpkgs/pkgs/desktops/plasma-5/qqc2-breeze-style.nix
index a45488c287d2..fbaf65bf0cf2 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/qqc2-breeze-style.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/qqc2-breeze-style.nix
@@ -1,5 +1,4 @@
 { mkDerivation
-, lib
 , extra-cmake-modules
 , kconfig
 , kconfigwidgets
diff --git a/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix b/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix
index 50801d31774b..55f934587d0d 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix
@@ -1,11 +1,9 @@
 { mkDerivation
-, lib
 , extra-cmake-modules
 , shared-mime-info
 , libpthreadstubs
 , libXcursor
 , libXdmcp
-, qtbase
 , qtquickcontrols2
 , qtx11extras
 , karchive
diff --git a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
index 4cffaba594a2..db17c0437275 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix
@@ -3,428 +3,476 @@
 { fetchurl, mirror }:
 
 {
+  aura-browser = {
+    version = "5.27.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.5/aura-browser-5.27.5.tar.xz";
+      sha256 = "0vqw9kxskx3d6wfgrfbhrsw2vy71zr3cwhmfk7qj4vfpmilmsvy5";
+      name = "aura-browser-5.27.5.tar.xz";
+    };
+  };
   bluedevil = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/bluedevil-5.25.4.tar.xz";
-      sha256 = "1cygnmigwqx1mqynfafcypkvf9bmz05rmrfwlxsksvll8yd9xn84";
-      name = "bluedevil-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/bluedevil-5.27.5.tar.xz";
+      sha256 = "1vadllkv4fjjwqb30jyawi56jflslw5nc391r0bixg55cpk5llv1";
+      name = "bluedevil-5.27.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/breeze-5.25.4.tar.xz";
-      sha256 = "0lw0vj07z8l19v2z31d601kfanqixy3dbsv0lf8q273xv3li9sbp";
-      name = "breeze-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/breeze-5.27.5.tar.xz";
+      sha256 = "0s68zr21wniqsdkb14lzqz0hj7hb4mbvcwrq7sf8yxf0z1ds7n3h";
+      name = "breeze-5.27.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/breeze-grub-5.25.4.tar.xz";
-      sha256 = "10n380h77czwgbpcjhriai43pk9q08l9j819nqm9wbwmsw7gj31s";
-      name = "breeze-grub-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/breeze-grub-5.27.5.tar.xz";
+      sha256 = "0kkrsda7ml3cbvfxb0ng3np1bk61fnl1jndk3c13lyi0jj97na7f";
+      name = "breeze-grub-5.27.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/breeze-gtk-5.25.4.tar.xz";
-      sha256 = "1x9a74f2anybvgmj4yl7pzz14jckjly55sb8hhlyrd1mp2k8p4mi";
-      name = "breeze-gtk-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/breeze-gtk-5.27.5.tar.xz";
+      sha256 = "0s69alp490yhm2v42vkngz99ji4b10n6fd36ybf72m6nnkd6v5f4";
+      name = "breeze-gtk-5.27.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/breeze-plymouth-5.25.4.tar.xz";
-      sha256 = "0wfhhaknvy51zrgfkcjrgc5s3q8y3pqb4r92nr37055cdvncwz79";
-      name = "breeze-plymouth-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/breeze-plymouth-5.27.5.tar.xz";
+      sha256 = "0k014dvx2sw4hd63n74vjglg8dgyjjlvipxhb5cfp44x7ch52wii";
+      name = "breeze-plymouth-5.27.5.tar.xz";
     };
   };
   discover = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/discover-5.25.4.tar.xz";
-      sha256 = "154sjr7c8dwlf1m22vh3wqiyfii8xpmxmfrf36i9r0xyb0zb5zg6";
-      name = "discover-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/discover-5.27.5.tar.xz";
+      sha256 = "06xk780a60f4a1n2052q1wxydjvvb8nlw9r2cj7x4rg02s57hpvq";
+      name = "discover-5.27.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.25.4";
+    version = "5.27.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.5/drkonqi-5.27.5.tar.xz";
+      sha256 = "0mmcp5fzlygcchv5v10mn39iqfxjxig9x8h74n3hq0rw7arax3a4";
+      name = "drkonqi-5.27.5.tar.xz";
+    };
+  };
+  flatpak-kcm = {
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/drkonqi-5.25.4.tar.xz";
-      sha256 = "06na44x22bxd94r24xkzc373d0rhmv6l1awfq0bzh9cxpy8yg3f4";
-      name = "drkonqi-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/flatpak-kcm-5.27.5.tar.xz";
+      sha256 = "16ms8l7cncbmll808mb0hfjsfjpg1m3f1j38y9zh1hal0rw42xbv";
+      name = "flatpak-kcm-5.27.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kactivitymanagerd-5.25.4.tar.xz";
-      sha256 = "1cpz08jkmxw9576h9mkn15vwg3bxgk8k6w4f38rkiasxzj6zfamd";
-      name = "kactivitymanagerd-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kactivitymanagerd-5.27.5.tar.xz";
+      sha256 = "06dn0cnspp2qsjxa10vz81vrhhb6przr9lcfyia4gi65gdrg82d2";
+      name = "kactivitymanagerd-5.27.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.25.4";
+    version = "5.27.5.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kde-cli-tools-5.25.4.tar.xz";
-      sha256 = "00p6vm9qw871hjclvw21nh93dq60r1ylb95hscx917gfx42dan8x";
-      name = "kde-cli-tools-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kde-cli-tools-5.27.5.1.tar.xz";
+      sha256 = "sha256-E13W626S1tKdeL6Ls/ag1eBcJrPP2kmLJIB8HihEiIU=";
+      name = "kde-cli-tools-5.27.5.1.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kde-gtk-config-5.25.4.tar.xz";
-      sha256 = "03cr5v7sr67vhcidr87min8z1ld5dm0n6yh79c1ghp1hp5ndscl8";
-      name = "kde-gtk-config-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kde-gtk-config-5.27.5.tar.xz";
+      sha256 = "0a0hbif6xvlfg6jm2kmzsfjr2f73c7pxbn8amam6z4h1171bfys7";
+      name = "kde-gtk-config-5.27.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kdecoration-5.25.4.tar.xz";
-      sha256 = "1yw7qjrf0c9xl2mncasbh3c1nf3c8x1v8ccfnp540z9slqi5qfmi";
-      name = "kdecoration-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kdecoration-5.27.5.tar.xz";
+      sha256 = "0hmy621b8zb8jvanw6w6y8mgrfspkl5d92sgl5zx00lqqz2zdyzg";
+      name = "kdecoration-5.27.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kdeplasma-addons-5.25.4.tar.xz";
-      sha256 = "1lgmmqr798cfxmllalgzixf3v9xbiiazbn3vkcdqxcj6cjf730c0";
-      name = "kdeplasma-addons-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kdeplasma-addons-5.27.5.tar.xz";
+      sha256 = "1y8gaqmbqcjvzpxk6bb7bjgycrmsnw3cjk741csb0xbw66q1ldf9";
+      name = "kdeplasma-addons-5.27.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kgamma5-5.25.4.tar.xz";
-      sha256 = "1m72dl1rxsh56pmacx0q0qda7lr4359azik2lnhw7nhs30z4p25a";
-      name = "kgamma5-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kgamma5-5.27.5.tar.xz";
+      sha256 = "1nadx1fgpz1k7c2j93wk4ipzp6pydz8ak1p9p2pv9a24753jcrkv";
+      name = "kgamma5-5.27.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/khotkeys-5.25.4.tar.xz";
-      sha256 = "0hkicwkcjb4p4k5yh8d60h6khsvrqkhjx42aby6rxd3mgvrqd3xy";
-      name = "khotkeys-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/khotkeys-5.27.5.tar.xz";
+      sha256 = "087cws4g8p0fzalspnizsd8fxk3745g9ar03pl746fqyvqk57s43";
+      name = "khotkeys-5.27.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kinfocenter-5.25.4.tar.xz";
-      sha256 = "0ns2xsqghglg4ikq7w556y1kh20gs677km1vs0paw50xhi7jzbd2";
-      name = "kinfocenter-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kinfocenter-5.27.5.tar.xz";
+      sha256 = "0j6w9b4pf353l0dfv8b8a90q4swylqxwx818271abs1bkq271s8b";
+      name = "kinfocenter-5.27.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kmenuedit-5.25.4.tar.xz";
-      sha256 = "1y3ml4jscb28nvadh7iq2y240qifv71dv2nkd32i69h52xdrvz27";
-      name = "kmenuedit-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kmenuedit-5.27.5.tar.xz";
+      sha256 = "09qiydq3v4yl51cn0l2ndsr54m33n6x3ngz9q18j4nf4pk266qj4";
+      name = "kmenuedit-5.27.5.tar.xz";
+    };
+  };
+  kpipewire = {
+    version = "5.27.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.5/kpipewire-5.27.5.tar.xz";
+      sha256 = "166xggr22k2ksnsx97kngc02r8fy0fagd2m7zghdbl5axvf6lcj1";
+      name = "kpipewire-5.27.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kscreen-5.25.4.tar.xz";
-      sha256 = "1wjpyq56iw8axbjhsa82w67g54v6y3rv5nx623d1kddvlzlhh8pf";
-      name = "kscreen-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kscreen-5.27.5.tar.xz";
+      sha256 = "0s24halra8gnczmlj8kvbqvls1njck2abxbdsvn7gm3rkg1sm5vj";
+      name = "kscreen-5.27.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kscreenlocker-5.25.4.tar.xz";
-      sha256 = "0zfvkdvyqxxxgpiimqjxhavwna0z94i28ky8qmvbcmn1705x5lvx";
-      name = "kscreenlocker-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kscreenlocker-5.27.5.tar.xz";
+      sha256 = "14pch0w4cgsx1q18hssdnjxdbdcparyrqqr9kd5a33zdqbqhg22c";
+      name = "kscreenlocker-5.27.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/ksshaskpass-5.25.4.tar.xz";
-      sha256 = "0dzhddylzigaaigacynncd5q0s4884dgr4wyrrdpqj42d47wjikz";
-      name = "ksshaskpass-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/ksshaskpass-5.27.5.tar.xz";
+      sha256 = "1mqckg3j5flx02fji7lcqv2iip4nblrzf2wqq23q7six7rljdvgn";
+      name = "ksshaskpass-5.27.5.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/ksystemstats-5.25.4.tar.xz";
-      sha256 = "0ray2v90vv1j1sbd7fx4x5n7s7xwlil1zynwi4pzpgnyi13zq60x";
-      name = "ksystemstats-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/ksystemstats-5.27.5.tar.xz";
+      sha256 = "1y6w6v1vf2bphspk7a3lgwgmz6ahdycbbsrr6qn8mkf9z36q97fm";
+      name = "ksystemstats-5.27.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kwallet-pam-5.25.4.tar.xz";
-      sha256 = "14j3xngwliqhhvw60izv5kdjvv8xhqw8cjsc4l22v8jj4m8yw2xk";
-      name = "kwallet-pam-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kwallet-pam-5.27.5.tar.xz";
+      sha256 = "144ijabyj9w2yi9j5r0m945l6ysccwyq27cc0mc21mjyqa6sm6ka";
+      name = "kwallet-pam-5.27.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kwayland-integration-5.25.4.tar.xz";
-      sha256 = "1iqnwcp08kg91pwm3i4grd0i4bqf8h1z0n0fhcw6l0cbhdkcad39";
-      name = "kwayland-integration-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kwayland-integration-5.27.5.tar.xz";
+      sha256 = "1y8qrdyvz61zcxsp9ylz7bg6hp7wk7is5p0n3s25650dlx0grqcs";
+      name = "kwayland-integration-5.27.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kwin-5.25.4.tar.xz";
-      sha256 = "0zahw7hd3g775a6iyglvv60h9vw52jc9pg9ffkg4mpqb00f159p8";
-      name = "kwin-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kwin-5.27.5.tar.xz";
+      sha256 = "1si01jrhxa6sfqgl2ljl5czyls5mli7b4n6yy6jiws0rb6qjc4mv";
+      name = "kwin-5.27.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/kwrited-5.25.4.tar.xz";
-      sha256 = "0xn20irka7adbqfc8w6gnhwp0pbv7bz7l7g16qddv1wq3xix9053";
-      name = "kwrited-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/kwrited-5.27.5.tar.xz";
+      sha256 = "14fcby31017mmplcp5v2mfmfnlds5mgn35b725d06z584xcfrfpj";
+      name = "kwrited-5.27.5.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/layer-shell-qt-5.25.4.tar.xz";
-      sha256 = "0pd88nnp925l09gzq4cajjnx810df4n0ssd65i1bmvgnxynzh5i7";
-      name = "layer-shell-qt-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/layer-shell-qt-5.27.5.tar.xz";
+      sha256 = "088xilf31485mqxw09v2h7v3dayzd19c6yipmlxpyhzhg6jnmpyc";
+      name = "layer-shell-qt-5.27.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/libkscreen-5.25.4.tar.xz";
-      sha256 = "17ib0sgrhmmf3f8w3fni0825xz5581av5vnz8gca41vyf12css25";
-      name = "libkscreen-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/libkscreen-5.27.5.tar.xz";
+      sha256 = "0rgbdlchhks5bxicdc8v7388wlg5b6ms9phlp5jfh1l7iprg7br9";
+      name = "libkscreen-5.27.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/libksysguard-5.25.4.tar.xz";
-      sha256 = "1kzpimhkagsmqj0cky4cfav1kbzyfjaj2l5xdapnmaygbm6r8086";
-      name = "libksysguard-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/libksysguard-5.27.5.tar.xz";
+      sha256 = "052yx04sihlvf7j94y140g9hldq9fjad9ziqdgmczvszy0xbazky";
+      name = "libksysguard-5.27.5.tar.xz";
     };
   };
   milou = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/milou-5.25.4.tar.xz";
-      sha256 = "17npfn7gwiqrvy5w8vzpc38c4bgkx3vjgjkm1caizn04zfk7xar7";
-      name = "milou-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/milou-5.27.5.tar.xz";
+      sha256 = "1602imffywir1il1xsq3n413fjxg4s3w9c49z20yn1igcwz0l6qv";
+      name = "milou-5.27.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/oxygen-5.25.4.tar.xz";
-      sha256 = "1cd76fa2szhb3apabyvl76p8vdk97229g5sgv94xx9pr7rx8a67y";
-      name = "oxygen-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/oxygen-5.27.5.tar.xz";
+      sha256 = "1gby4a9sf666i10nwjv4wswsbi34idcczz0cknfan08ahal4wxpv";
+      name = "oxygen-5.27.5.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.25.4";
+    version = "5.27.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.5/oxygen-sounds-5.27.5.tar.xz";
+      sha256 = "0rl55k6h34bcf5pk71942m3bf831ymh4kk89xkimczq4qki33yr1";
+      name = "oxygen-sounds-5.27.5.tar.xz";
+    };
+  };
+  plank-player = {
+    version = "5.27.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.5/plank-player-5.27.5.tar.xz";
+      sha256 = "0anws5npjdqq0p94fdrqmvyc55x3vwfx8v59l10k8qmj6habarph";
+      name = "plank-player-5.27.5.tar.xz";
+    };
+  };
+  plasma-bigscreen = {
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/oxygen-sounds-5.25.4.tar.xz";
-      sha256 = "0v8j8kf86ri1z14mgqc1c6kkpsbih8rjph35sr5y0i4av9mh6p9b";
-      name = "oxygen-sounds-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-bigscreen-5.27.5.tar.xz";
+      sha256 = "1wab0l0cz5a82lgq83s9ipmjqmj5nzzfk689lbz3swxns71qx03n";
+      name = "plasma-bigscreen-5.27.5.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-browser-integration-5.25.4.tar.xz";
-      sha256 = "1l3n4psbqimfar5qsmrfp3nhgg3v9yy93rkjpvyqgdmizi44scqw";
-      name = "plasma-browser-integration-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-browser-integration-5.27.5.tar.xz";
+      sha256 = "09frs7yxaiqi10j9f7vnr05nk53mvx0jshjk9wlz1cibcwflb45l";
+      name = "plasma-browser-integration-5.27.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-desktop-5.25.4.tar.xz";
-      sha256 = "1jkjc412n1wn17qrmx0sv91pzv5xjsljms3bsln6bbxj5fkhmkfm";
-      name = "plasma-desktop-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-desktop-5.27.5.tar.xz";
+      sha256 = "1c8wx4al96vnz9p02ml8ax6dzna1xvm6gvnn2w3n93v56hqmfasg";
+      name = "plasma-desktop-5.27.5.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-disks-5.25.4.tar.xz";
-      sha256 = "04hs8jg7f5bm5rjcb6i6zidyamq6cfry5sm5mj6hqdj0qmn9i396";
-      name = "plasma-disks-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-disks-5.27.5.tar.xz";
+      sha256 = "02s8n7da2i2zjqi2q9k8fddqr4868dqyx9bf1lyfag3bb64y447a";
+      name = "plasma-disks-5.27.5.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-firewall-5.25.4.tar.xz";
-      sha256 = "12rmf7x8dyyb1k5ycj43kn4c0wzidig4h5wdh1igrgcvyypmjjcl";
-      name = "plasma-firewall-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-firewall-5.27.5.tar.xz";
+      sha256 = "0hav4d2pgsvzvr9lw93v3zm473gii44x012fs1gx6dgcaam90b73";
+      name = "plasma-firewall-5.27.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-integration-5.25.4.tar.xz";
-      sha256 = "1cbcp722pzbfiqfl5rcw6py74jbxg83k96kdx2m0g3ix1f0dmkbi";
-      name = "plasma-integration-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-integration-5.27.5.tar.xz";
+      sha256 = "0ywzz2s46kaidzg5cagx2wp4kqndynfssz6a29czpw1811iwbvcd";
+      name = "plasma-integration-5.27.5.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-mobile-5.25.4.tar.xz";
-      sha256 = "0b0n3mjlj33191jgs8xqbk35y5nglfz4d8dih3qmg3kbs81qizwy";
-      name = "plasma-mobile-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-mobile-5.27.5.tar.xz";
+      sha256 = "0h61q8nkwl5adrgm0353l2kada76760rqzwb94xdc7r9cjxjy6yc";
+      name = "plasma-mobile-5.27.5.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-nano-5.25.4.tar.xz";
-      sha256 = "1pn6025wb3w855f3vy77879qlrb266bikw3nhar1dzv3sfgxw4w9";
-      name = "plasma-nano-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-nano-5.27.5.tar.xz";
+      sha256 = "1w6pq6wrnb3lq2jyfx9lpn11vmfka5rw4mn52cdz8997g4zyrhlj";
+      name = "plasma-nano-5.27.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-nm-5.25.4.tar.xz";
-      sha256 = "147p572pmkrgg52pvwhzs8lvxy3rs8y622n9lj7hjc6hrlh14qk2";
-      name = "plasma-nm-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-nm-5.27.5.tar.xz";
+      sha256 = "0bm6ihcg5cgfzz1pcj7zg2bjm8gik3rcjj4mp03ac1v29gj4hbqm";
+      name = "plasma-nm-5.27.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-pa-5.25.4.tar.xz";
-      sha256 = "0v92jk826jj2kf11hlxh3xrxl9nsj6835ik2pmb192xbn6gpb4lm";
-      name = "plasma-pa-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-pa-5.27.5.tar.xz";
+      sha256 = "1241v4igi3d1n2x46vp9qgqvw2gngsk75gx3rnjnivfypxrkzay2";
+      name = "plasma-pa-5.27.5.tar.xz";
     };
   };
-  plasma-sdk = {
-    version = "5.25.4";
+  plasma-remotecontrollers = {
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-sdk-5.25.4.tar.xz";
-      sha256 = "00s345l5jj1kfdvyyfq8718khfy88n6gyajb07n582q266mry39l";
-      name = "plasma-sdk-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-remotecontrollers-5.27.5.tar.xz";
+      sha256 = "04d0rp4jpavn999lbvfni007l98i1zglwv7byrkb494zs40gqylc";
+      name = "plasma-remotecontrollers-5.27.5.tar.xz";
     };
   };
-  plasma-systemmonitor = {
-    version = "5.25.4";
+  plasma-sdk = {
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-systemmonitor-5.25.4.tar.xz";
-      sha256 = "1fj0vyjdk6h3f4p9aagh03hyhbf69y2qwlavs2zr7d0iadih7b4c";
-      name = "plasma-systemmonitor-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-sdk-5.27.5.tar.xz";
+      sha256 = "05b9n2h7qkxm5yws4mi4f929dassi6hng0p730dx5fw7fsr4a0pi";
+      name = "plasma-sdk-5.27.5.tar.xz";
     };
   };
-  plasma-tests = {
-    version = "5.25.4";
+  plasma-systemmonitor = {
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-tests-5.25.4.tar.xz";
-      sha256 = "0d86zmlmagik2chagsm549yg78vy2qw3kl67skrlrmbkv82dhrz2";
-      name = "plasma-tests-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-systemmonitor-5.27.5.tar.xz";
+      sha256 = "0d1ficiqv7zjcc1fkh7jx4f7pcpkygk1pyfm8gsp10i0iwwm3rc2";
+      name = "plasma-systemmonitor-5.27.5.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-thunderbolt-5.25.4.tar.xz";
-      sha256 = "0hjvkss0qfmwhrsba83wfxwxhikvzf56faan325ic0iv7fdaj3ns";
-      name = "plasma-thunderbolt-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-thunderbolt-5.27.5.tar.xz";
+      sha256 = "1mchvgh180m8anjznpwihay934c331fqc88l1wyiqqn6072n819i";
+      name = "plasma-thunderbolt-5.27.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.25.4";
+    version = "5.27.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.5/plasma-vault-5.27.5.tar.xz";
+      sha256 = "1s176masmip1qzv5am3phkwvb7yalmiasgzbx7r2rq705bh2pwkl";
+      name = "plasma-vault-5.27.5.tar.xz";
+    };
+  };
+  plasma-welcome = {
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-vault-5.25.4.tar.xz";
-      sha256 = "10ym2gk46yr1vgjnm1li1shdawklvvy3yvjcanm8ic5llchbxvzq";
-      name = "plasma-vault-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-welcome-5.27.5.tar.xz";
+      sha256 = "1ddfyi1a2ccs8ny9is0x8fjz0yh2v65sin85nrv6j483n3qqxjfb";
+      name = "plasma-welcome-5.27.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-workspace-5.25.4.tar.xz";
-      sha256 = "1aw9ms6rzxrk384xzdc3sqwqs1shbnkap40vfwxp4jamjk0pyglw";
-      name = "plasma-workspace-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-workspace-5.27.5.tar.xz";
+      sha256 = "05rayz8n3qgpnddr4wpzjwgvk3if4vnnwb1ccpm841zxxsr9a2zd";
+      name = "plasma-workspace-5.27.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plasma-workspace-wallpapers-5.25.4.tar.xz";
-      sha256 = "1vjrfmzib17cb9r2q17rv4zmnqsk5mf55vy8kzx71djjif7gaqiy";
-      name = "plasma-workspace-wallpapers-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plasma-workspace-wallpapers-5.27.5.tar.xz";
+      sha256 = "0h6871pwn000jzilhh4w5wa3s017cgkphhj4sxxpqds7q7f5x013";
+      name = "plasma-workspace-wallpapers-5.27.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/plymouth-kcm-5.25.4.tar.xz";
-      sha256 = "1wbgcccc1ili3j0k1njgj1q6jl35s20gf9m25s9d3mjwd9xnxrbv";
-      name = "plymouth-kcm-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/plymouth-kcm-5.27.5.tar.xz";
+      sha256 = "0r00kmqzkzpjvp3s02h7vjiiyzfpvzn5j158jf6khvb4vywljqjr";
+      name = "plymouth-kcm-5.27.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.25.4";
+    version = "1-5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/polkit-kde-agent-1-5.25.4.tar.xz";
-      sha256 = "0skadgzv97vfl4n2x889fiy5gsr6n894fr5viq3rizs0qsqc68b5";
-      name = "polkit-kde-agent-1-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/polkit-kde-agent-1-5.27.5.tar.xz";
+      sha256 = "0brab8hn2qdnxzzx0q37m40h67s00s0zpc2wx1gzbnbl1kzv9qra";
+      name = "polkit-kde-agent-1-5.27.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/powerdevil-5.25.4.tar.xz";
-      sha256 = "1nznjxi59xc6pmyh0vainznhp9ig1ini3i87iapayawpnpf8sdxx";
-      name = "powerdevil-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/powerdevil-5.27.5.tar.xz";
+      sha256 = "03jhzcwg1kjhm8ly3w12slgdxbyycqymijgnh3llrvzgawn8cy83";
+      name = "powerdevil-5.27.5.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/qqc2-breeze-style-5.25.4.tar.xz";
-      sha256 = "0sylffvbfdi44lmz6s78scf2p2iswf6p8g209wbd5fm1dgi6yi2z";
-      name = "qqc2-breeze-style-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/qqc2-breeze-style-5.27.5.tar.xz";
+      sha256 = "0vcq59m074zvcivlhk0jp7k5vywmamfdq4bsacvsjzxhlvzkvjlh";
+      name = "qqc2-breeze-style-5.27.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/sddm-kcm-5.25.4.tar.xz";
-      sha256 = "1gqz9j6vha8i6bra63pfqrpl5wsg9a7qz351z5rkj5jwnkw1dxl7";
-      name = "sddm-kcm-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/sddm-kcm-5.27.5.tar.xz";
+      sha256 = "16hrmbl413zy89if8yj9jsvnzv58rvs7w6y5isq33drkzvgz41an";
+      name = "sddm-kcm-5.27.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/systemsettings-5.25.4.tar.xz";
-      sha256 = "130739bfxl1jwkn3f4h7dnr7dv2i76g6sd2svmg0qy60cnwvcgcv";
-      name = "systemsettings-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/systemsettings-5.27.5.tar.xz";
+      sha256 = "1nxla37vr1j1h2vklm6cdzr5h5my9d3m05nr9dr1wcxsmaq4wifm";
+      name = "systemsettings-5.27.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.25.4";
+    version = "5.27.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.25.4/xdg-desktop-portal-kde-5.25.4.tar.xz";
-      sha256 = "13gva3mci9gawlxpw4ymdma8w6lc2b3y8z36699kmzli4vib214g";
-      name = "xdg-desktop-portal-kde-5.25.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.5/xdg-desktop-portal-kde-5.27.5.tar.xz";
+      sha256 = "1aqsiwfhca7nimdflwnq86fai4lhjqpi4pi4xyp8pcgrrwj3zykw";
+      name = "xdg-desktop-portal-kde-5.27.5.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/systemsettings.nix b/nixpkgs/pkgs/desktops/plasma-5/systemsettings.nix
index c83bbcecf567..1c438df1b82f 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/systemsettings.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/systemsettings.nix
@@ -1,17 +1,49 @@
-{
-  mkDerivation, extra-cmake-modules, kdoctools,
-  kcmutils, kconfig, kdbusaddons, khtml, ki18n, kiconthemes, kio, kitemviews,
-  kservice, kwindowsystem, kxmlgui, qtquickcontrols, qtquickcontrols2,
-  kactivities, kactivities-stats, kirigami2, kcrash, plasma-workspace
+{ mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kcmutils
+, kconfig
+, kdbusaddons
+, khtml
+, ki18n
+, kiconthemes
+, kio
+, kitemviews
+, kservice
+, kwindowsystem
+, kxmlgui
+, qtquickcontrols
+, qtquickcontrols2
+, kactivities
+, kactivities-stats
+, kirigami2
+, kcrash
+, plasma-workspace
 }:
 
 mkDerivation {
   pname = "systemsettings";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    kcmutils kconfig kdbusaddons khtml ki18n kiconthemes kio kitemviews kservice
-    kwindowsystem kxmlgui qtquickcontrols qtquickcontrols2
-    kactivities kactivities-stats kirigami2 kcrash plasma-workspace
+    kcmutils
+    kconfig
+    kdbusaddons
+    khtml
+    ki18n
+    kiconthemes
+    kio
+    kitemviews
+    kservice
+    kwindowsystem
+    kxmlgui
+    qtquickcontrols
+    qtquickcontrols2
+    kactivities
+    kactivities-stats
+    kirigami2
+    kcrash
+    plasma-workspace
   ];
   outputs = [ "bin" "dev" "out" ];
+  meta.mainProgram = "systemsettings5";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
index 00533367d4ce..cbda6124a319 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
@@ -1,19 +1,50 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, gettext, kdoctools,
-  cups, libepoxy, mesa, pcre, pipewire, wayland, wayland-protocols,
-  kcoreaddons, knotifications, kwayland, kwidgetsaddons, kwindowsystem,
-  kirigami2, kdeclarative, plasma-framework, plasma-wayland-protocols, kio,
-  qtbase
+{ mkDerivation
+, extra-cmake-modules
+, gettext
+, kdoctools
+, cups
+, libepoxy
+, mesa
+, pcre
+, pipewire
+, wayland
+, wayland-protocols
+, kcoreaddons
+, knotifications
+, kwayland
+, kwidgetsaddons
+, kwindowsystem
+, kirigami2
+, kdeclarative
+, plasma-framework
+, plasma-wayland-protocols
+, plasma-workspace
+, kio
+, qtbase
 }:
 
 mkDerivation {
   pname = "xdg-desktop-portal-kde";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools ];
   buildInputs = [
-    cups libepoxy mesa pcre pipewire wayland wayland-protocols
+    cups
+    libepoxy
+    mesa
+    pcre
+    pipewire
+    wayland
+    wayland-protocols
 
-    kio kcoreaddons knotifications kwayland kwidgetsaddons kwindowsystem
-    kirigami2 kdeclarative plasma-framework plasma-wayland-protocols
+    kio
+    kcoreaddons
+    knotifications
+    kwayland
+    kwidgetsaddons
+    kwindowsystem
+    kirigami2
+    kdeclarative
+    plasma-framework
+    plasma-wayland-protocols
+    plasma-workspace
   ];
 }