about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/plasma-5/bluedevil.nix13
-rw-r--r--pkgs/desktops/plasma-5/default.nix3
-rw-r--r--pkgs/desktops/plasma-5/discover.nix5
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kactivitymanagerd.nix5
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/kdecoration.nix3
-rw-r--r--pkgs/desktops/plasma-5/kgamma5.nix5
-rw-r--r--pkgs/desktops/plasma-5/kinfocenter.nix4
-rw-r--r--pkgs/desktops/plasma-5/kscreenlocker.nix5
-rw-r--r--pkgs/desktops/plasma-5/ksshaskpass.nix3
-rw-r--r--pkgs/desktops/plasma-5/ksysguard.nix5
-rw-r--r--pkgs/desktops/plasma-5/kwayland-integration.nix3
-rw-r--r--pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch25
-rw-r--r--pkgs/desktops/plasma-5/kwayland-server/default.nix19
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix11
-rw-r--r--pkgs/desktops/plasma-5/kwrited.nix3
-rw-r--r--pkgs/desktops/plasma-5/libkscreen/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/default.nix9
-rw-r--r--pkgs/desktops/plasma-5/milou.nix5
-rw-r--r--pkgs/desktops/plasma-5/oxygen.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-disks.nix19
-rw-r--r--pkgs/desktops/plasma-5/plasma-nm/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/plasma-pa.nix7
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch68
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix8
-rw-r--r--pkgs/desktops/plasma-5/polkit-kde-agent.nix5
-rw-r--r--pkgs/desktops/plasma-5/powerdevil.nix16
-rw-r--r--pkgs/desktops/plasma-5/sddm-kcm.nix5
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix402
-rw-r--r--pkgs/desktops/plasma-5/user-manager.nix13
-rw-r--r--pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix12
33 files changed, 382 insertions, 321 deletions
diff --git a/pkgs/desktops/plasma-5/bluedevil.nix b/pkgs/desktops/plasma-5/bluedevil.nix
index b5ff3f5dd05d..7500dda7e3f2 100644
--- a/pkgs/desktops/plasma-5/bluedevil.nix
+++ b/pkgs/desktops/plasma-5/bluedevil.nix
@@ -1,14 +1,17 @@
 {
-  mkDerivation, extra-cmake-modules, shared-mime-info,
-  bluez-qt, kcoreaddons, kdbusaddons, kded, ki18n, kiconthemes, kio,
-  knotifications, kwidgetsaddons, kwindowsystem, plasma-framework, qtdeclarative
+  mkDerivation, lib, extra-cmake-modules, shared-mime-info,
+  qtbase, qtdeclarative, bluez-qt,
+  kcoreaddons, kdbusaddons, kded, ki18n, kiconthemes, kio, knotifications,
+  kwidgetsaddons, kwindowsystem, plasma-framework
 }:
 
 mkDerivation {
   name = "bluedevil";
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
-    bluez-qt ki18n kio kwindowsystem plasma-framework qtdeclarative kcoreaddons
-    kdbusaddons kded kiconthemes knotifications kwidgetsaddons
+    qtbase qtdeclarative bluez-qt
+    ki18n kio kwindowsystem plasma-framework kcoreaddons kdbusaddons kded
+    kiconthemes knotifications kwidgetsaddons
   ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 39299d8c83c0..014f794b5e83 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -118,6 +118,7 @@ let
       ksysguard = callPackage ./ksysguard.nix {};
       kwallet-pam = callPackage ./kwallet-pam.nix {};
       kwayland-integration = callPackage ./kwayland-integration.nix {};
+      kwayland-server = callPackage ./kwayland-server {};
       kwin = callPackage ./kwin {};
       kwrited = callPackage ./kwrited.nix {};
       libkscreen = callPackage ./libkscreen {};
@@ -126,6 +127,7 @@ let
       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-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
@@ -137,7 +139,6 @@ let
       powerdevil = callPackage ./powerdevil.nix {};
       sddm-kcm = callPackage ./sddm-kcm.nix {};
       systemsettings = callPackage ./systemsettings.nix {};
-      user-manager = callPackage ./user-manager.nix {};
       xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix {};
 
       thirdParty = let inherit (libsForQt5) callPackage; in {
diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix
index ccfeaa4f63e3..37632ab2f76d 100644
--- a/pkgs/desktops/plasma-5/discover.nix
+++ b/pkgs/desktops/plasma-5/discover.nix
@@ -1,14 +1,15 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, gettext, kdoctools, python,
   appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, util-linux,
-  qtquickcontrols2,
+  qtbase, qtquickcontrols2,
   karchive, kconfig, kcrash, kdbusaddons, kdeclarative, kio, kirigami2, kitemmodels,
   knewstuff, kwindowsystem, kxmlgui, plasma-framework
 }:
 
 mkDerivation {
   name = "discover";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
   buildInputs = [
     # discount is needed for libmarkdown
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index abb5659526f7..dbc4eef057b9 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.18.5/ )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.20.4/ )
diff --git a/pkgs/desktops/plasma-5/kactivitymanagerd.nix b/pkgs/desktops/plasma-5/kactivitymanagerd.nix
index d2870c27e659..5c856b9d39c2 100644
--- a/pkgs/desktops/plasma-5/kactivitymanagerd.nix
+++ b/pkgs/desktops/plasma-5/kactivitymanagerd.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   boost, kconfig, kcoreaddons, kdbusaddons, ki18n, kio, kglobalaccel,
-  kwindowsystem, kxmlgui, kcrash
+  kwindowsystem, kxmlgui, kcrash, qtbase
 }:
 
 mkDerivation {
   name = "kactivitymanagerd";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     boost kconfig kcoreaddons kdbusaddons kglobalaccel ki18n kio kwindowsystem
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
index c1ed6dbd6c6e..798f8d807af1 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
@@ -2,7 +2,7 @@
   mkDerivation,
   extra-cmake-modules, wrapGAppsHook,
   glib, gtk2, gtk3, karchive, kcmutils, kconfigwidgets, ki18n, kiconthemes, kio,
-  knewstuff, gsettings-desktop-schemas, xsettingsd
+  knewstuff, gsettings-desktop-schemas, xsettingsd, kdecoration, sass
 }:
 
 mkDerivation {
@@ -11,7 +11,7 @@ mkDerivation {
   dontWrapGApps = true;  # There is nothing to wrap
   buildInputs = [
     ki18n kio glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes
-    knewstuff gsettings-desktop-schemas xsettingsd
+    knewstuff gsettings-desktop-schemas xsettingsd kdecoration sass
   ];
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
diff --git a/pkgs/desktops/plasma-5/kdecoration.nix b/pkgs/desktops/plasma-5/kdecoration.nix
index 569da3c70349..9a09ce30f4c9 100644
--- a/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/pkgs/desktops/plasma-5/kdecoration.nix
@@ -1,8 +1,9 @@
-{ mkDerivation, extra-cmake-modules, qtbase, ki18n }:
+{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n }:
 
 mkDerivation {
   name = "kdecoration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ki18n ];
   outputs = [ "out" "dev" ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/kgamma5.nix b/pkgs/desktops/plasma-5/kgamma5.nix
index ccbf3820b908..e7cc42e77cd5 100644
--- a/pkgs/desktops/plasma-5/kgamma5.nix
+++ b/pkgs/desktops/plasma-5/kgamma5.nix
@@ -1,11 +1,12 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  kconfig, kconfigwidgets, ki18n, qtx11extras, libXxf86vm
+  kconfig, kconfigwidgets, ki18n, qtbase, qtx11extras, libXxf86vm
 }:
 
 mkDerivation {
   name = "kgamma5";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kconfig kconfigwidgets ki18n qtx11extras libXxf86vm ];
+  meta.broken = lib.versionOlder qtbase.version "5.15";
 }
diff --git a/pkgs/desktops/plasma-5/kinfocenter.nix b/pkgs/desktops/plasma-5/kinfocenter.nix
index cf353af58919..c8213482d79d 100644
--- a/pkgs/desktops/plasma-5/kinfocenter.nix
+++ b/pkgs/desktops/plasma-5/kinfocenter.nix
@@ -1,6 +1,7 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
+  qtbase,
   kcmutils, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
   kdeclarative, kdelibs4support, ki18n, kiconthemes, kio, kirigami2, kpackage,
   kservice, kwayland, kwidgetsaddons, kxmlgui, libraw1394, libGLU, pciutils,
@@ -9,6 +10,7 @@
 
 mkDerivation {
   name = "kinfocenter";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
diff --git a/pkgs/desktops/plasma-5/kscreenlocker.nix b/pkgs/desktops/plasma-5/kscreenlocker.nix
index e748121132c1..ace14b385e6b 100644
--- a/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -1,13 +1,14 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kcmutils, kcrash, kdeclarative, kdelibs4support, kglobalaccel, kidletime,
-  kwayland, libXcursor, pam, plasma-framework, qtdeclarative, qtx11extras,
+  kwayland, libXcursor, pam, plasma-framework, qtbase, qtdeclarative, qtx11extras,
   wayland,
 }:
 
 mkDerivation {
   name = "kscreenlocker";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcmutils kcrash kdeclarative kdelibs4support kglobalaccel kidletime kwayland
diff --git a/pkgs/desktops/plasma-5/ksshaskpass.nix b/pkgs/desktops/plasma-5/ksshaskpass.nix
index 39e260f6c708..c4dabd71343e 100644
--- a/pkgs/desktops/plasma-5/ksshaskpass.nix
+++ b/pkgs/desktops/plasma-5/ksshaskpass.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kcoreaddons, ki18n, kwallet, kwidgetsaddons, qtbase,
 }:
@@ -8,4 +8,5 @@ mkDerivation {
   name = "ksshaskpass";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcoreaddons ki18n kwallet kwidgetsaddons qtbase ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/ksysguard.nix b/pkgs/desktops/plasma-5/ksysguard.nix
index 72793fdf0838..0581b8bde74a 100644
--- a/pkgs/desktops/plasma-5/ksysguard.nix
+++ b/pkgs/desktops/plasma-5/ksysguard.nix
@@ -1,13 +1,14 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   libcap, libpcap, lm_sensors,
   kconfig, kcoreaddons, kdelibs4support, ki18n, kiconthemes, kitemviews,
-  knewstuff, libksysguard
+  knewstuff, libksysguard, qtbase
 }:
 
 mkDerivation {
   name = "ksysguard";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard
diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix
index 667d3ead1768..2e923094dc54 100644
--- a/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kguiaddons, kidletime, kwayland, kwindowsystem, qtbase,
 }:
@@ -8,4 +8,5 @@ mkDerivation {
   name = "kwayland-integration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch b/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch
new file mode 100644
index 000000000000..771e093bb9e8
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch
@@ -0,0 +1,25 @@
+From 80bca7370d4b8bafcf18abcda30f02e190f419a4 Mon Sep 17 00:00:00 2001
+From: Tom Hall <tahall256@protonmail.ch>
+Date: Sat, 29 Aug 2020 19:14:30 +0100
+Subject: [PATCH] Use KDE_INSTALL_TARGETS_DEFAULT_ARGS when installing targets
+
+---
+ src/server/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
+index 0f99682..35e3601 100644
+--- a/src/server/CMakeLists.txt
++++ b/src/server/CMakeLists.txt
+@@ -356,7 +356,7 @@ set_target_properties(KWaylandServer PROPERTIES VERSION   ${KWAYLANDSERVER_VERSI
+                                                 SOVERSION ${KWAYLANDSERVER_SOVERSION}
+ )
+ 
+-install(TARGETS KWaylandServer EXPORT KWaylandServerTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
++install(TARGETS KWaylandServer EXPORT KWaylandServerTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
+ 
+ set(SERVER_LIB_HEADERS
+   ${CMAKE_CURRENT_BINARY_DIR}/KWaylandServer/kwaylandserver_export.h
+-- 
+2.26.2
+
diff --git a/pkgs/desktops/plasma-5/kwayland-server/default.nix b/pkgs/desktops/plasma-5/kwayland-server/default.nix
new file mode 100644
index 000000000000..6d2a3fabff2b
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kwayland-server/default.nix
@@ -0,0 +1,19 @@
+{
+  mkDerivation, lib, cmake,
+  extra-cmake-modules, kdoctools,
+  kwayland, plasma-wayland-protocols,
+  wayland, wayland-protocols, qtbase
+}:
+
+mkDerivation {
+  name = "kwayland-server";
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules #kdoctools
+  ];
+  buildInputs = [
+    kwayland plasma-wayland-protocols wayland wayland-protocols
+  ];
+  patches = [ ./0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
+}
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index e2fb0877ec86..f0b07fba736e 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -11,7 +11,7 @@
   breeze-qt5, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets,
   kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
   kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
-  kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem, kxmlgui,
+  kscreenlocker, kservice, kwayland, kwayland-server, kwidgetsaddons, kwindowsystem, kxmlgui,
   plasma-framework, libcap, libdrm, mesa
 }:
 
@@ -30,18 +30,13 @@ mkDerivation {
     breeze-qt5 kactivities kcmutils kcompletion kconfig kconfigwidgets
     kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
     kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice
-    kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework
+    kwayland kwayland-server kwidgetsaddons kwindowsystem kxmlgui plasma-framework
     libcap libdrm mesa
   ];
-  outputs = [ "bin" "dev" "out" ];
+  outputs = [ "dev" "out" ];
   patches = [
     ./0001-follow-symlinks.patch
     ./0002-xwayland.patch
-    (fetchpatch { # included in >= 5.18.6
-      name = "EGL_TEXTURE_Y_XUXV_WL.diff";
-      url = "https://github.com/KDE/kwin/commit/2c76cc478.diff";
-      sha256 = "1ywaky05h5j1x758q3yhp3ap45ispffghyxynqz5lybl5n6yyxhy";
-    })
   ];
   CXXFLAGS = [
     ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
diff --git a/pkgs/desktops/plasma-5/kwrited.nix b/pkgs/desktops/plasma-5/kwrited.nix
index f6f6187e9462..e6ee4829bcbf 100644
--- a/pkgs/desktops/plasma-5/kwrited.nix
+++ b/pkgs/desktops/plasma-5/kwrited.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kcoreaddons, kdbusaddons, ki18n, knotifications, kpty, qtbase,
 }:
@@ -8,4 +8,5 @@ mkDerivation {
   name = "kwrited";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcoreaddons kdbusaddons ki18n knotifications kpty qtbase ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/libkscreen/default.nix b/pkgs/desktops/plasma-5/libkscreen/default.nix
index db952944ecaa..08a9e6f4f24b 100644
--- a/pkgs/desktops/plasma-5/libkscreen/default.nix
+++ b/pkgs/desktops/plasma-5/libkscreen/default.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   name = "libkscreen";
   meta = {
-    broken = builtins.compareVersions qtbase.version "5.12.0" < 0;
+    broken = lib.versionOlder qtbase.version "5.15.0";
   };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kwayland libXrandr qtx11extras ];
diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix
index 96d113e11fb6..8178d4079500 100644
--- a/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -1,13 +1,14 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
-  kservice, kwidgetsaddons, kwindowsystem, plasma-framework, qtscript, qtwebengine,
-  qtx11extras
+  knewstuff, kservice, kwidgetsaddons, kwindowsystem, plasma-framework,
+  qtbase, qtscript, qtwebengine, qtx11extras
 }:
 
 mkDerivation {
   name = "libksysguard";
+  meta.broken = lib.versionOlder qtbase.version "5.14.0";
   patches = [
     ./0001-qdiriterator-follow-symlinks.patch
   ];
@@ -15,7 +16,7 @@ mkDerivation {
   buildInputs = [
     kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
     kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
-    qtwebengine
+    qtwebengine knewstuff
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/pkgs/desktops/plasma-5/milou.nix b/pkgs/desktops/plasma-5/milou.nix
index 790979d664fc..ab23703a470b 100644
--- a/pkgs/desktops/plasma-5/milou.nix
+++ b/pkgs/desktops/plasma-5/milou.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kcoreaddons, kdeclarative, ki18n, kitemmodels, krunner, kservice,
-  plasma-framework, qtscript, qtdeclarative
+  plasma-framework, qtbase, qtscript, qtdeclarative
 }:
 
 mkDerivation {
   name = "milou";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcoreaddons kdeclarative ki18n kitemmodels krunner kservice plasma-framework
diff --git a/pkgs/desktops/plasma-5/oxygen.nix b/pkgs/desktops/plasma-5/oxygen.nix
index 1b1f34f17b53..6eea3c923197 100644
--- a/pkgs/desktops/plasma-5/oxygen.nix
+++ b/pkgs/desktops/plasma-5/oxygen.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   frameworkintegration, kcmutils, kcompletion, kconfig, kdecoration, kguiaddons,
   ki18n, kwidgetsaddons, kservice, kwayland, kwindowsystem, qtdeclarative,
-  qtx11extras
+  qtx11extras, libXdmcp
 }:
 
 mkDerivation {
@@ -12,7 +12,7 @@ mkDerivation {
   propagatedBuildInputs = [
     frameworkintegration kcmutils kcompletion kconfig kdecoration kguiaddons
     ki18n kservice kwayland kwidgetsaddons kwindowsystem qtdeclarative
-    qtx11extras
+    qtx11extras libXdmcp
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index 73e449a13624..a07a50f04927 100644
--- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -19,7 +19,7 @@ mkDerivation {
   name = "plasma-desktop";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft
+    boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft xorgserver
     libxkbfile phonon xf86inputevdev xf86inputsynaptics xinput xkeyboard_config
 
     qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras
@@ -35,7 +35,7 @@ mkDerivation {
     ./tzdir.patch
   ];
   postPatch = ''
-    sed '1i#include <cmath>' -i kcms/touchpad/src/backends/x11/synapticstouchpad.cpp
+    sed '1i#include <cmath>' -i kcms/touchpad/backends/x11/synapticstouchpad.cpp
   '';
   CXXFLAGS = [
     "-I${lib.getDev xorgserver}/include/xorg"
diff --git a/pkgs/desktops/plasma-5/plasma-disks.nix b/pkgs/desktops/plasma-5/plasma-disks.nix
new file mode 100644
index 000000000000..f97b061292a5
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-disks.nix
@@ -0,0 +1,19 @@
+{
+  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 {
+  name = "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
+    systemsettings
+  ];
+  outputs = [ "bin" "dev" "out" ];
+}
diff --git a/pkgs/desktops/plasma-5/plasma-nm/default.nix b/pkgs/desktops/plasma-5/plasma-nm/default.nix
index 8296d549782f..31fd35589577 100644
--- a/pkgs/desktops/plasma-5/plasma-nm/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-nm/default.nix
@@ -1,15 +1,17 @@
 {
-  mkDerivation, substituteAll,
+  mkDerivation, lib, substituteAll,
   extra-cmake-modules, kdoctools,
   kcompletion, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative,
   kdelibs4support, ki18n, kiconthemes, kinit, kio, kitemviews, knotifications,
   kservice, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
   mobile-broadband-provider-info, modemmanager-qt, networkmanager-qt,
-  openconnect, openvpn, plasma-framework, qca-qt5, qtdeclarative, qttools, solid
+  openconnect, openvpn, plasma-framework, qca-qt5, qtbase, qtdeclarative,
+  qttools, solid
 }:
 
 mkDerivation {
   name = "plasma-nm";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
   buildInputs = [
     kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework
diff --git a/pkgs/desktops/plasma-5/plasma-pa.nix b/pkgs/desktops/plasma-5/plasma-pa.nix
index e29df104f3c7..00f5fefdc434 100644
--- a/pkgs/desktops/plasma-5/plasma-pa.nix
+++ b/pkgs/desktops/plasma-5/plasma-pa.nix
@@ -1,8 +1,8 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kconfigwidgets, kcoreaddons, kdeclarative, kglobalaccel, ki18n, kwindowsystem, plasma-framework,
-  qtdeclarative,
+  qtbase, qtdeclarative,
   gconf, glib, libcanberra-gtk3, libpulseaudio, sound-theme-freedesktop
 }:
 
@@ -15,6 +15,7 @@ mkDerivation {
     kconfigwidgets kcoreaddons kdeclarative kglobalaccel ki18n plasma-framework
     kwindowsystem
 
-    qtdeclarative
+    qtbase qtdeclarative
   ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
index 120800926296..ea8afedbe5ba 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
@@ -1,19 +1,33 @@
-From 6477e377fcca39c07ef5f91a55084d7d74715d00 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Tue, 28 Jan 2020 05:00:53 -0600
-Subject: [PATCH 1/2] startkde
+From d653bc84c8aed33072237ed858194a8a73b6a2e7 Mon Sep 17 00:00:00 2001
+From: Tom Hall <tahall256@protonmail.ch>
+Date: Mon, 7 Sep 2020 18:09:52 +0100
+Subject: [PATCH] startkde
 
 ---
+ startkde/plasma-session/startup.cpp     |  2 +-
  startkde/startplasma-waylandsession.cpp |  2 +-
  startkde/startplasma-x11.cpp            |  2 +-
- startkde/startplasma.cpp                | 24 ++++++++++--------------
- 3 files changed, 12 insertions(+), 16 deletions(-)
+ startkde/startplasma.cpp                | 22 +++++++++-------------
+ 4 files changed, 12 insertions(+), 16 deletions(-)
 
+diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/startup.cpp
+index 89cc144ba..8ca9e81d2 100644
+--- a/startkde/plasma-session/startup.cpp
++++ b/startkde/plasma-session/startup.cpp
+@@ -211,7 +211,7 @@ Startup::Startup(QObject *parent):
+     upAndRunning(QStringLiteral("ksmserver"));
+     const AutoStart autostart;
+ 
+-    QProcess::execute(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), QStringList());
++    QProcess::execute(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), QStringList());
+ 
+     KJob* phase1;
+     QProcessEnvironment kdedProcessEnv;
 diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
-index 87c71c6b3..5fc53140e 100644
+index f59654d18..5e3a93db0 100644
 --- a/startkde/startplasma-waylandsession.cpp
 +++ b/startkde/startplasma-waylandsession.cpp
-@@ -67,7 +67,7 @@ int main(int /*argc*/, char** /*argv*/)
+@@ -61,7 +61,7 @@ int main(int argc, char** argv)
      waitForKonqi();
      out << "startplasma-waylandsession: Shutting down...\n";
  
@@ -23,10 +37,10 @@ index 87c71c6b3..5fc53140e 100644
      cleanupX11();
      out << "startplasma-waylandsession: Done.\n";
 diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
-index 3314b6283..14cbe29fa 100644
+index ae1c4d101..0df24b5be 100644
 --- a/startkde/startplasma-x11.cpp
 +++ b/startkde/startplasma-x11.cpp
-@@ -111,7 +111,7 @@ int main(int /*argc*/, char** /*argv*/)
+@@ -110,7 +110,7 @@ int main(int argc, char** argv)
  
      out << "startkde: Shutting down...\n";
  
@@ -36,10 +50,10 @@ index 3314b6283..14cbe29fa 100644
      cleanupPlasmaEnvironment();
      cleanupX11();
 diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
-index 4c9f5cef6..5ea4c2cf1 100644
+index a055d5635..62afb1513 100644
 --- a/startkde/startplasma.cpp
 +++ b/startkde/startplasma.cpp
-@@ -34,7 +34,7 @@ QTextStream out(stderr);
+@@ -41,7 +41,7 @@ QTextStream out(stderr);
  void messageBox(const QString &text)
  {
      out << text;
@@ -48,7 +62,7 @@ index 4c9f5cef6..5ea4c2cf1 100644
  }
  
  QStringList allServices(const QLatin1String& prefix)
-@@ -242,15 +242,15 @@ void setupX11()
+@@ -262,15 +262,15 @@ void setupX11()
  //     If the user has overwritten fonts, the cursor font may be different now
  //     so don't move this up.
  
@@ -69,20 +83,7 @@ index 4c9f5cef6..5ea4c2cf1 100644
  }
  
  // TODO: Check if Necessary
-@@ -267,11 +267,7 @@ bool syncDBusEnvironment()
- {
-     int exitCode;
-     // At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
--    if (!QStandardPaths::findExecutable(QStringLiteral("dbus-update-activation-environment")).isEmpty()) {
--        exitCode = runSync(QStringLiteral("dbus-update-activation-environment"), { QStringLiteral("--systemd"), QStringLiteral("--all") });
--    } else {
--        exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR "/ksyncdbusenv"), {});
--    }
-+		exitCode = runSync(QStringLiteral(NIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT), { QStringLiteral("--systemd"), QStringLiteral("--all") });
-     return exitCode == 0;
- }
- 
-@@ -287,7 +283,7 @@ void setupFontDpi()
+@@ -306,7 +302,7 @@ void setupFontDpi()
      //TODO port to c++?
      const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0));
      QProcess p;
@@ -91,7 +92,7 @@ index 4c9f5cef6..5ea4c2cf1 100644
      p.setProcessChannelMode(QProcess::ForwardedChannels);
      p.write(input);
      p.closeWriteChannel();
-@@ -309,7 +305,7 @@ QProcess* setupKSplash()
+@@ -328,7 +324,7 @@ QProcess* setupKSplash()
          KConfigGroup ksplashCfg = cfg.group("KSplash");
          if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
              p = new QProcess;
@@ -100,15 +101,6 @@ index 4c9f5cef6..5ea4c2cf1 100644
          }
      }
      return p;
-@@ -331,7 +327,7 @@ bool startKDEInit()
- {
-     // We set LD_BIND_NOW to increase the efficiency of kdeinit.
-     // kdeinit unsets this variable before loading applications.
--    const int exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
-+    const int exitCode = runSync(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
-     if (exitCode != 0) {
-         messageBox(QStringLiteral("startkde: Could not start kdeinit5. Check your installation."));
-         return false;
 -- 
-2.25.1
+2.28.0
 
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 6472856cd9b7..e1becaab95b6 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -4,7 +4,7 @@
   extra-cmake-modules, kdoctools,
 
   coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor,
-  libXtst, pam, wayland, xmessage, xprop, xrdb, xsetroot,
+  libXtst, libXft, pam, wayland, xmessage, xprop, xrdb, xsetroot,
 
   baloo, breeze-qt5, kactivities, kactivities-stats, kcmutils, kconfig, kcrash,
   kdbusaddons, kdeclarative, kdelibs4support, kdesu, kglobalaccel, kidletime,
@@ -12,7 +12,7 @@
   kscreenlocker, ktexteditor, ktextwidgets, kwallet, kwayland, kwin,
   kxmlrpcclient, libkscreen, libksysguard, libqalculate, networkmanager-qt,
   phonon, plasma-framework, prison, solid, kholidays, kquickcharts,
-  appstream-qt,
+  appstream-qt, plasma-wayland-protocols,
 
   qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools,
   qtwayland, qtx11extras, qqc2-desktop-style,
@@ -25,14 +25,14 @@ mkDerivation {
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    isocodes libdbusmenu libSM libXcursor libXtst 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
+    kholidays kquickcharts appstream-qt plasma-wayland-protocols
 
     qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland
     qtx11extras qqc2-desktop-style
diff --git a/pkgs/desktops/plasma-5/polkit-kde-agent.nix b/pkgs/desktops/plasma-5/polkit-kde-agent.nix
index c25b3d2744b7..27f03e2d931e 100644
--- a/pkgs/desktops/plasma-5/polkit-kde-agent.nix
+++ b/pkgs/desktops/plasma-5/polkit-kde-agent.nix
@@ -1,7 +1,7 @@
 {
-  mkDerivation, extra-cmake-modules,
+  mkDerivation, lib, extra-cmake-modules,
   kcoreaddons, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, knotifications,
-  kwidgetsaddons, kwindowsystem, polkit-qt
+  kwidgetsaddons, kwindowsystem, polkit-qt, qtbase
 }:
 
 mkDerivation {
@@ -12,4 +12,5 @@ mkDerivation {
     knotifications kwindowsystem polkit-qt
   ];
   outputs = [ "out" "dev" ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/powerdevil.nix b/pkgs/desktops/plasma-5/powerdevil.nix
index 979d69a02f61..28e6db853a16 100644
--- a/pkgs/desktops/plasma-5/powerdevil.nix
+++ b/pkgs/desktops/plasma-5/powerdevil.nix
@@ -19,18 +19,10 @@ mkDerivation {
     "-DHAVE_DDCUTIL=On"
   ];
   patches = [
-    # This fixes an issue where 'DDCA_Feature_List*' cannot be converted to
-    # 'DDCA_Feature_List'.
-    # https://bugs.kde.org/show_bug.cgi?id=423605
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/powerdevil/-/commit/fcb26be2fb279e6ad3b7b814d26a5921d16201eb.patch";
-      sha256 = "0gdyaa0nd1c1d6x2h0m933lascm8zm5sikd99wxmkf7hhaby6k2s";
-    })
-
     # Reduce log message spam by setting the default log level to Warning.
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/powerdevil/-/commit/c7590f9065ec9547b7fabad77a548bbc0c693113.patch";
-      sha256 = "077whhi0jrb3bajx357k7n66hv7nchis8jix0nfc1zjvi9fm6pi2";
-    })
+    #(fetchpatch {
+    #  url = "https://invent.kde.org/plasma/powerdevil/-/commit/c7590f9065ec9547b7fabad77a548bbc0c693113.patch";
+    #  sha256 = "077whhi0jrb3bajx357k7n66hv7nchis8jix0nfc1zjvi9fm6pi2";
+    #})
   ];
 }
diff --git a/pkgs/desktops/plasma-5/sddm-kcm.nix b/pkgs/desktops/plasma-5/sddm-kcm.nix
index 6becf3bf420b..a9f51e50a268 100644
--- a/pkgs/desktops/plasma-5/sddm-kcm.nix
+++ b/pkgs/desktops/plasma-5/sddm-kcm.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation, extra-cmake-modules, shared-mime-info,
+  mkDerivation, lib, extra-cmake-modules, shared-mime-info,
   libpthreadstubs, libXcursor, libXdmcp,
-  qtquickcontrols2, qtx11extras,
+  qtbase, qtquickcontrols2, qtx11extras,
   karchive, ki18n, kio, knewstuff
 }:
 
 mkDerivation {
   name = "sddm-kcm";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
     libpthreadstubs libXcursor libXdmcp
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 6f9214ccd60c..ecca8c5bfdde 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -1,390 +1,398 @@
 # DO NOT EDIT! This file is generated automatically.
-# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/
 { fetchurl, mirror }:
 
 {
   bluedevil = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/bluedevil-5.18.5.tar.xz";
-      sha256 = "5350efbaee01c78fd451e96bb2aceb7986d45ab05500476d1e95c4e79ec89a66";
-      name = "bluedevil-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/bluedevil-5.20.4.tar.xz";
+      sha256 = "522ad4ff3f3fc4e213328f821041d40b5126d0d3ca49ecc9aea35c59e2c64129";
+      name = "bluedevil-5.20.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-5.18.5.tar.xz";
-      sha256 = "1d08dfd24df4a4fcacad1e3759e559e82f6014ba63dc75dc32a24de6cd133563";
-      name = "breeze-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-5.20.4.tar.xz";
+      sha256 = "b61b3f9961c196bbcfb33519bbec06d19e6267182f7215e21071a5619681b30f";
+      name = "breeze-5.20.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-grub-5.18.5.tar.xz";
-      sha256 = "24c40171601b82d1c7d01eb85d16718a2f46cf23ee792f5524ac89fda3d278b1";
-      name = "breeze-grub-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-grub-5.20.4.tar.xz";
+      sha256 = "8692b6800e89b97973b50d6915f9ca028cdcb0354c34b54719af54441e3f3feb";
+      name = "breeze-grub-5.20.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-gtk-5.18.5.tar.xz";
-      sha256 = "41c7e83a28c033903d4fcab3da28a4c74ddb72958e66693a2d2e451f716cb7e9";
-      name = "breeze-gtk-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-gtk-5.20.4.tar.xz";
+      sha256 = "8905b3a0ff40a48ed2f00f69b7e30c4658deb9fbd1afc61700a28d078693b61d";
+      name = "breeze-gtk-5.20.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-plymouth-5.18.5.tar.xz";
-      sha256 = "c0d48dc5a02f3236ff657f86ee8cf532cf885a0e8b36bfe79f007e4d5e277281";
-      name = "breeze-plymouth-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-plymouth-5.20.4.tar.xz";
+      sha256 = "879d4bd8d0c42a5c1f51497a4ee4ebb3e69f7904170bafa392b95e1c0ce05ada";
+      name = "breeze-plymouth-5.20.4.tar.xz";
     };
   };
   discover = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/discover-5.18.5.tar.xz";
-      sha256 = "d5ce4f4668c50ba9be37e04227db4bbe469e00470c87907f1e217fdcad6e76b6";
-      name = "discover-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/discover-5.20.4.tar.xz";
+      sha256 = "3669648fa39e14a8da059373c9a01caacfd5b126d61daed65d5d7aae7ab30012";
+      name = "discover-5.20.4.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/drkonqi-5.18.5.tar.xz";
-      sha256 = "b1a626c4ed2f9de8f8bc3359d8827e7fa6ac17486b8477674e47627fcf6efad1";
-      name = "drkonqi-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/drkonqi-5.20.4.tar.xz";
+      sha256 = "55d4a166ee74c4a935c69cec64ecd8eb3fdd79aae8dcd996f6432a873be3fac8";
+      name = "drkonqi-5.20.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kactivitymanagerd-5.18.5.tar.xz";
-      sha256 = "24f32eb4585d427ee62e08a9fa2f057353085c62644d6bec8fb4b2568e507ac7";
-      name = "kactivitymanagerd-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kactivitymanagerd-5.20.4.tar.xz";
+      sha256 = "210215dd9a49fda98febb60f73f4cc95eda3eb9ec96c0db2f2881f6be13afb34";
+      name = "kactivitymanagerd-5.20.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kde-cli-tools-5.18.5.tar.xz";
-      sha256 = "e3981d1a17111f4e284b787a6e841d7ff47f4fdbca0ad17e105c0a047e5aaaa8";
-      name = "kde-cli-tools-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kde-cli-tools-5.20.4.tar.xz";
+      sha256 = "55f35158715bafdd51e448a2760327ed4f91c54fcd3da807dec2736d077b16a3";
+      name = "kde-cli-tools-5.20.4.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kdecoration-5.18.5.tar.xz";
-      sha256 = "f09856245f2cb08d9013da4c3128b5438f1e2f58af40031eb547ae765f57a9c8";
-      name = "kdecoration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kdecoration-5.20.4.tar.xz";
+      sha256 = "8d1224a50a2e8c0ec24faab4453432eb8083b35a63e479523de95dce644226e8";
+      name = "kdecoration-5.20.4.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kde-gtk-config-5.18.5.tar.xz";
-      sha256 = "9d7b1fd8b61f9f99c5a5721ea0227c4562588834a4886d66637f4c092f0e53ab";
-      name = "kde-gtk-config-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kde-gtk-config-5.20.4.tar.xz";
+      sha256 = "db3510cb08788c915be5e034106145597de5a412236b60c57b8db4b64dbbd7b1";
+      name = "kde-gtk-config-5.20.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kdeplasma-addons-5.18.5.tar.xz";
-      sha256 = "1d135a32a7442f79dba4cb4e23221cd2ad1aad36b54fb12bfa91918daf3ff53f";
-      name = "kdeplasma-addons-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kdeplasma-addons-5.20.4.tar.xz";
+      sha256 = "44768c7fb00386bc4f005c773bca59d8acc354f8a3f43efa6565cefc74d490d7";
+      name = "kdeplasma-addons-5.20.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kgamma5-5.18.5.tar.xz";
-      sha256 = "3aa89e361646214fb4910409644b941c83a85505d3d8a1d37984598d3e54269f";
-      name = "kgamma5-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kgamma5-5.20.4.tar.xz";
+      sha256 = "59b1247dfc3c45247cff62e3706b52c9a1be2cf9cfe6e92c9c7299fc5cb51b41";
+      name = "kgamma5-5.20.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/khotkeys-5.18.5.tar.xz";
-      sha256 = "8f02fdf3bbecdc31c305c276fe2b3b2eca6dc10195e65c723ee9148fed81e766";
-      name = "khotkeys-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/khotkeys-5.20.4.tar.xz";
+      sha256 = "13c7e5a38f095056c6411b8dc91fc0640256c0a6f0a5166ba716e2454388d648";
+      name = "khotkeys-5.20.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kinfocenter-5.18.5.tar.xz";
-      sha256 = "a9679bce4cd2d64e6f471c89de6da410237263b02512768f3acd0a4932b12ec5";
-      name = "kinfocenter-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kinfocenter-5.20.4.tar.xz";
+      sha256 = "09af2cafde33d0c8a824451ca532a443b6f571e20037fe6b31245c9984e9a6b3";
+      name = "kinfocenter-5.20.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kmenuedit-5.18.5.tar.xz";
-      sha256 = "59d998972121662d2835d43ff5be36eca7bf62e66e39fd67b7005e8ef8afd5f6";
-      name = "kmenuedit-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kmenuedit-5.20.4.tar.xz";
+      sha256 = "32c2d2eb979e43e4cc0892aa9460eb8ebaf603b77385b9f058a48ca4347dde4b";
+      name = "kmenuedit-5.20.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kscreen-5.18.5.tar.xz";
-      sha256 = "9b6238447a4a38babdff482724ae3d33786b211e8b4224aaadafaad7435f6ba2";
-      name = "kscreen-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kscreen-5.20.4.tar.xz";
+      sha256 = "4063fae5cb40a22a98fd0cc217e9b0ea4aef6518203c4bbe2664d5d01dfb9d9c";
+      name = "kscreen-5.20.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kscreenlocker-5.18.5.tar.xz";
-      sha256 = "b4269cd027e1fee721760a22ca5d738d3d98622fa222fcf9e57d2da77a4e18d2";
-      name = "kscreenlocker-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kscreenlocker-5.20.4.tar.xz";
+      sha256 = "d80d4625a0a48a7a63c5ff8255e8639eb2fb57ebc436c46979949b39fc530126";
+      name = "kscreenlocker-5.20.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/ksshaskpass-5.18.5.tar.xz";
-      sha256 = "c483c17d6ce2e3dffd54fc812f97b88c32f5def6e8c5e7a526e23f5e7f208cc5";
-      name = "ksshaskpass-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/ksshaskpass-5.20.4.tar.xz";
+      sha256 = "a391ba0490ca41a33207adb6aff2233165d4aeed119fd056489d6eccfc81f218";
+      name = "ksshaskpass-5.20.4.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/ksysguard-5.18.5.tar.xz";
-      sha256 = "4acb352698b612a21a5eccf22042ab46265d50bbf3aa85844bbca762a64c9e2f";
-      name = "ksysguard-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/ksysguard-5.20.4.tar.xz";
+      sha256 = "a5f247b24ce75a28f301446fbeb25abf968e77e0c32cd4be9b574a21d3bbfaf4";
+      name = "ksysguard-5.20.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwallet-pam-5.18.5.tar.xz";
-      sha256 = "bc4fe3dde503645d6233c3932d3cf74a7f5bf7acefb96bd6dbd224c8919d841a";
-      name = "kwallet-pam-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwallet-pam-5.20.4.tar.xz";
+      sha256 = "0749056e9acbbc194b20be5b0921383013ed6c268c22cf905aeeda32514d3ac9";
+      name = "kwallet-pam-5.20.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwayland-integration-5.18.5.tar.xz";
-      sha256 = "82d6943d79a9a2a9bce10623adb2c9af396a2dcf258a723bb349aafbde20e6d5";
-      name = "kwayland-integration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwayland-integration-5.20.4.tar.xz";
+      sha256 = "2dd985dd8d21cdc7743b9f297d0d582f960339b4714953564f2f047d28cee53d";
+      name = "kwayland-integration-5.20.4.tar.xz";
+    };
+  };
+  kwayland-server = {
+    version = "5.20.4";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.20.4/kwayland-server-5.20.4.tar.xz";
+      sha256 = "3edc7b73baa6fa8b0bec51272e8786bab41998b0f675262d5086fdf6c1e9bb44";
+      name = "kwayland-server-5.20.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwin-5.18.5.tar.xz";
-      sha256 = "ca39c63fd740432e95490031fd9d5ac003da034582014fa41c2be2b89627ddf8";
-      name = "kwin-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwin-5.20.4.tar.xz";
+      sha256 = "c59861e9d456974bffaff2cb371cd8d31bdb789f89a60af632089c556111662a";
+      name = "kwin-5.20.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwrited-5.18.5.tar.xz";
-      sha256 = "45ffa31d3d141ce453fb09fd823d7edd8e6c782b353bce22b8c879ad794fd1fe";
-      name = "kwrited-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwrited-5.20.4.tar.xz";
+      sha256 = "f02b900538246f4df2707585052b732552d2ea115a16f8fbda618fa02e5a1bb2";
+      name = "kwrited-5.20.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/libkscreen-5.18.5.tar.xz";
-      sha256 = "a962319000324200ec1abe3c58b1b8ab71ed4cc7c88a3c7e03a1c8eca86c287c";
-      name = "libkscreen-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/libkscreen-5.20.4.tar.xz";
+      sha256 = "ce1bd03a25b101793fa1472ac3fc696079e607a6f45330ea724845bda288d28d";
+      name = "libkscreen-5.20.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/libksysguard-5.18.5.tar.xz";
-      sha256 = "d4d7030a2869a546a211844aa158dcef3598386cc035a8655529938ba102440b";
-      name = "libksysguard-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/libksysguard-5.20.4.tar.xz";
+      sha256 = "a89968476cb8a888550e1a5138ab8e86eeb49788187192cba71f79abd4aad422";
+      name = "libksysguard-5.20.4.tar.xz";
     };
   };
   milou = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/milou-5.18.5.tar.xz";
-      sha256 = "7ec763833c025aa719d1e25f3c5c1c8b6c934a48bf346517e94660e09d8582b2";
-      name = "milou-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/milou-5.20.4.tar.xz";
+      sha256 = "123ac9470a94f2eb6e4212979d2df4160fa15962b1fc18551bfcdfe5aa18a201";
+      name = "milou-5.20.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/oxygen-5.18.5.tar.xz";
-      sha256 = "479bdfa80b3f2216075470ab4be1e3159a17620870acf276144b9639134609f8";
-      name = "oxygen-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/oxygen-5.20.4.tar.xz";
+      sha256 = "e58cb6a2e1976a973e24d974556e6306a076ce1295f33a9a1bc56a8715857f67";
+      name = "oxygen-5.20.4.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-browser-integration-5.18.5.tar.xz";
-      sha256 = "3a087a836657b5304e2e0ef9ebefb84ce1f896bfbfc5dbf948d4b3eb7b709383";
-      name = "plasma-browser-integration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-browser-integration-5.20.4.tar.xz";
+      sha256 = "55057e4f15a1e8b2d2f0489d32f95bb89f610ae99184b587ba90f7db0e8292b4";
+      name = "plasma-browser-integration-5.20.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-desktop-5.18.5.tar.xz";
-      sha256 = "aeb106018fd90da79c8a3c444d880282846a842029b1223e7830db2d4b42df9f";
-      name = "plasma-desktop-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-desktop-5.20.4.tar.xz";
+      sha256 = "3864e80bb9b8da596188162b14cd9bb77e7a8abedfb0fa41c8c72d47139d1355";
+      name = "plasma-desktop-5.20.4.tar.xz";
+    };
+  };
+  plasma-disks = {
+    version = "5.20.4";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.20.4/plasma-disks-5.20.4.tar.xz";
+      sha256 = "f0110588b2603905962beedd596cfa6eb6371b7bac2186aa845d22237199d845";
+      name = "plasma-disks-5.20.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-integration-5.18.5.tar.xz";
-      sha256 = "c99b987efb2ab965cc2a55793ef94c7ccb2152ca5d75956a40ec99261ad4b870";
-      name = "plasma-integration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-integration-5.20.4.tar.xz";
+      sha256 = "4dbaf6a05d69df02e73c88970be3d7a1efb62a3931edf06c9760cd3bb87e1299";
+      name = "plasma-integration-5.20.4.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-nano-5.18.5.tar.xz";
-      sha256 = "d2f29b05894573517cb3336088e102d3604b1c2735e9bbe605119f559f0c6341";
-      name = "plasma-nano-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-nano-5.20.4.tar.xz";
+      sha256 = "8e23e0ce53654daf4ab688edd6a7852b5d859bfd86b4e1795a60f570dda409bd";
+      name = "plasma-nano-5.20.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-nm-5.18.5.tar.xz";
-      sha256 = "1e091d01993708220f89501bb8a289279bf527d0593fd9e4b9223e6e8caf9aaa";
-      name = "plasma-nm-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-nm-5.20.4.tar.xz";
+      sha256 = "7b4d1026f2caa709a9ae284cd18342d1c573276f9b4c356ef47779dadb8b57cf";
+      name = "plasma-nm-5.20.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-pa-5.18.5.tar.xz";
-      sha256 = "28765c07f584e7688a85c9761155e606440936de2ebb678917dac2c85f5d0209";
-      name = "plasma-pa-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-pa-5.20.4.tar.xz";
+      sha256 = "56fb4809966aa33290c46fed968f2c7186c415663f032c75b3279c57134674f3";
+      name = "plasma-pa-5.20.4.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-phone-components-5.18.5.tar.xz";
-      sha256 = "d0c091367ae07c71457a0c03d1023ac48d8665385a6a1b0e32f6ae7ad1fa7070";
-      name = "plasma-phone-components-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-phone-components-5.20.4.tar.xz";
+      sha256 = "80053324bfb6431946df67e712638f797c2bcd9cb78766629a0372de7f6f727e";
+      name = "plasma-phone-components-5.20.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-sdk-5.18.5.tar.xz";
-      sha256 = "5f399231d16d62f9880f953891477f74e0b1f7b931448a4b0fbb97f37acd2fe5";
-      name = "plasma-sdk-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-sdk-5.20.4.tar.xz";
+      sha256 = "49d29c1c95832c585ea3c0b26f8fb46f5fa0fac726f9f7e9cbf0ab83415a00ea";
+      name = "plasma-sdk-5.20.4.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-tests-5.18.5.tar.xz";
-      sha256 = "3251ea30cb3c62de9bba2deb152370ea9e0e56b7506efd655888f1892c18413a";
-      name = "plasma-tests-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-tests-5.20.4.tar.xz";
+      sha256 = "35234da922aad986db73ca4d2ca1c0440dbff24e200b98584246b060cc7a2735";
+      name = "plasma-tests-5.20.4.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-thunderbolt-5.18.5.tar.xz";
-      sha256 = "c61dc7abe350ead15ca4d6111606aaf19773c38a0307ae8a7d8a7c60b82be5d1";
-      name = "plasma-thunderbolt-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-thunderbolt-5.20.4.tar.xz";
+      sha256 = "7c37c66815242b5d1e208df3b4dbf4fe0d8542ac9aa352d06c548fc172348429";
+      name = "plasma-thunderbolt-5.20.4.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-vault-5.18.5.tar.xz";
-      sha256 = "cae2713823e8c59c7a2beb96d362a15024fe260cf10419ba037e8a798f3c1b41";
-      name = "plasma-vault-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-vault-5.20.4.tar.xz";
+      sha256 = "525226a143e6bb173e8106ed2f2313a529ed380a0a1488b096a60af6d08d881c";
+      name = "plasma-vault-5.20.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-workspace-5.18.5.tar.xz";
-      sha256 = "14e82033be745f4db46a70d319e2c86012295ea31056092bc974004189b92354";
-      name = "plasma-workspace-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-workspace-5.20.4.tar.xz";
+      sha256 = "12bfe6c3f62e4d1d2f7bc02ccb2e2ed5aee2ffe21c310987e42a2205374c30c9";
+      name = "plasma-workspace-5.20.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-workspace-wallpapers-5.18.5.tar.xz";
-      sha256 = "f8da3bd7b97a9944639ed0860303b8a7a008905246313e1983367810a3a84d6d";
-      name = "plasma-workspace-wallpapers-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-workspace-wallpapers-5.20.4.tar.xz";
+      sha256 = "4740d67e85910ed398c048916963f31c6632698d6a4494bc09cc1b0cd14e2808";
+      name = "plasma-workspace-wallpapers-5.20.4.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plymouth-kcm-5.18.5.tar.xz";
-      sha256 = "e8f75dd8c8a45cd706a0a6e62826d1eb4fff9c3912cbaadba8c06e9de915d2e3";
-      name = "plymouth-kcm-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plymouth-kcm-5.20.4.tar.xz";
+      sha256 = "0cde268064c92b89c5b2a5f8c033983d372406656d446f52b77611effd67ad77";
+      name = "plymouth-kcm-5.20.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.18.5";
+    version = "1-5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/polkit-kde-agent-1-5.18.5.tar.xz";
-      sha256 = "5e1733cb51c826c6215da4fbbc9c9568240275cf86b9922cd7a643d192a75a91";
-      name = "polkit-kde-agent-1-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/polkit-kde-agent-1-5.20.4.tar.xz";
+      sha256 = "f01a7b3443553810b0c9e6f25d2ca51eeac7c5e9fd624505852e77183e294b61";
+      name = "polkit-kde-agent-1-5.20.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/powerdevil-5.18.5.tar.xz";
-      sha256 = "e000185ee61bff81fe28896a7d6353746c82c7f4d2626792fd22d34b5f49f548";
-      name = "powerdevil-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/powerdevil-5.20.4.tar.xz";
+      sha256 = "864128ea9178701bc322f728402cf9277b3c6feaa15fe425aa2adf92464bd28d";
+      name = "powerdevil-5.20.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/sddm-kcm-5.18.5.tar.xz";
-      sha256 = "cc99c185d701acc7442f33ef17b2396894dcf164f3f583c25105ac3f2528c33b";
-      name = "sddm-kcm-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/sddm-kcm-5.20.4.tar.xz";
+      sha256 = "c61e136c10b98a91e1bd48ca5bbdd2a15b197a38b83d7ad5ccd289200524935e";
+      name = "sddm-kcm-5.20.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.18.5";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/systemsettings-5.18.5.tar.xz";
-      sha256 = "cde5b714261aaa54f937887657c3d3e74814c5447448b989159ee6035be4783b";
-      name = "systemsettings-5.18.5.tar.xz";
-    };
-  };
-  user-manager = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/user-manager-5.18.5.tar.xz";
-      sha256 = "741d293947fa3fb3966f047bab121597bf1071be010684daff4a91626cf54484";
-      name = "user-manager-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/systemsettings-5.20.4.tar.xz";
+      sha256 = "e87eedfb40a0255348cf2a775ca0ea15bbce37687eedd521f2200670315953b9";
+      name = "systemsettings-5.20.4.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/xdg-desktop-portal-kde-5.18.5.tar.xz";
-      sha256 = "807452708a0318b8e21b43f9ec7e016d1de51cac5d8714d70c577bb6f3976224";
-      name = "xdg-desktop-portal-kde-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/xdg-desktop-portal-kde-5.20.4.tar.xz";
+      sha256 = "cb3d856f7caeae7bd02a3e9e43f12ee3d432aa399df9d40db0636199b7ed4df8";
+      name = "xdg-desktop-portal-kde-5.20.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/plasma-5/user-manager.nix b/pkgs/desktops/plasma-5/user-manager.nix
deleted file mode 100644
index f46792fc48f7..000000000000
--- a/pkgs/desktops/plasma-5/user-manager.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  mkDerivation, extra-cmake-modules, kdoctools, kcmutils, kconfig, khtml,
-  ki18n, kiconthemes, kio, kwindowsystem, libpwquality
-}:
-
-mkDerivation {
-  name = "user-manager";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [
-    kcmutils kconfig khtml ki18n kiconthemes kio kwindowsystem
-    libpwquality
-  ];
-}
diff --git a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
index c03c6a891614..2b0450928f5a 100644
--- a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
+++ b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
@@ -1,18 +1,20 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, gettext, kdoctools, python,
-  cups, epoxy, mesa, pcre, pipewire,
+  cups, epoxy, mesa, pcre, pipewire, wayland, wayland-protocols,
   kcoreaddons, knotifications, kwayland, kwidgetsaddons, kwindowsystem,
-  kirigami2, kdeclarative, plasma-framework, kio
+  kirigami2, kdeclarative, plasma-framework, plasma-wayland-protocols, kio,
+  qtbase
 }:
 
 mkDerivation {
   name = "xdg-desktop-portal-kde";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
   buildInputs = [
-    cups epoxy mesa pcre pipewire
+    cups epoxy mesa pcre pipewire wayland wayland-protocols
 
     kio kcoreaddons knotifications kwayland kwidgetsaddons kwindowsystem
-    kirigami2 kdeclarative plasma-framework
+    kirigami2 kdeclarative plasma-framework plasma-wayland-protocols
   ];
 }