summary refs log tree commit diff
path: root/pkgs/desktops/plasma-5
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/plasma-5')
-rw-r--r--pkgs/desktops/plasma-5/breeze-gtk.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch275
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix360
4 files changed, 277 insertions, 364 deletions
diff --git a/pkgs/desktops/plasma-5/breeze-gtk.nix b/pkgs/desktops/plasma-5/breeze-gtk.nix
index cc51c4b0471..1be3fe1c309 100644
--- a/pkgs/desktops/plasma-5/breeze-gtk.nix
+++ b/pkgs/desktops/plasma-5/breeze-gtk.nix
@@ -1,10 +1,10 @@
-{ mkDerivation, lib, extra-cmake-modules, gtk2, qtbase, }:
+{ mkDerivation, lib, extra-cmake-modules, gtk2, qtbase, sassc, python3, breeze-qt5 }:
 
 let inherit (lib) getLib; in
 
 mkDerivation {
   name = "breeze-gtk";
-  nativeBuildInputs = [ extra-cmake-modules ];
+  nativeBuildInputs = [ extra-cmake-modules sassc python3 python3.pkgs.pycairo breeze-qt5 ];
   buildInputs = [ qtbase ];
   postPatch = ''
     sed -i cmake/FindGTKEngine.cmake \
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 5c27d0d2f18..cd2fa293e7d 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.14.5/ )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.15.3/ )
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index dde4a3c819f..4b33bee0ac6 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -9,13 +9,13 @@ index 69d30705..52e91028 100644
 -background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/3200x2000.png
 +background=${NIXPKGS_WALLPAPER_INSTALL_DIR}/Next/contents/images/3200x2000.png
 diff --git a/startkde/CMakeLists.txt b/startkde/CMakeLists.txt
-index cb75aeca..247db953 100644
+index 6a1a2121..f03fd349 100644
 --- a/startkde/CMakeLists.txt
 +++ b/startkde/CMakeLists.txt
-@@ -3,11 +3,6 @@ add_subdirectory(kstartupconfig)
- add_subdirectory(ksyncdbusenv)
+@@ -4,11 +4,6 @@ add_subdirectory(ksyncdbusenv)
  add_subdirectory(waitforname)
- 
+ add_subdirectory(kcheckrunning)
+
 -#FIXME: reconsider, looks fishy
 -if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
 -    set(EXPORT_XCURSOR_PATH "XCURSOR_PATH=${KDE_INSTALL_FULL_DATAROOTDIR}/icons:$XCURSOR_PATH\":~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons\"; export XCURSOR_PATH")
@@ -36,7 +36,7 @@ index 493218ea..d507aa55 100644
 +    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
      }
 diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index 714a9bf1..9733c612 100644
+index b68f0c68..a18efd96 100644
 --- a/startkde/startkde.cmake
 +++ b/startkde/startkde.cmake
 @@ -1,22 +1,31 @@
@@ -45,7 +45,7 @@ index 714a9bf1..9733c612 100644
 -#  DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
 +#  NIXPKGS KDE STARTUP SCRIPT ( @PROJECT_VERSION@ )
  #
- 
+
 +if test "x$1" = x--failsafe; then
 +    KDE_FAILSAFE=1 # General failsafe flag
 +    KWIN_COMPOSE=N # Disable KWin's compositing
@@ -56,7 +56,7 @@ index 714a9bf1..9733c612 100644
  # When the X server dies we get a HUP signal from xinit. We must ignore it
  # because we still need to do some cleanup.
  trap 'echo GOT SIGHUP' HUP
- 
+
 -# Check if a Plasma session already is running and whether it's possible to connect to X
 -kcheckrunning
 +# we have to unset this for Darwin since it will screw up KDE's dynamic-loading
@@ -79,12 +79,12 @@ index 714a9bf1..9733c612 100644
 +    echo "\$DISPLAY is not set or cannot connect to the X server."
 +    exit 1
  fi
- 
+
  # Boot sequence:
-@@ -33,61 +42,142 @@ fi
+@@ -33,62 +42,134 @@ fi
  #
  # * Then ksmserver is started which takes control of the rest of the startup sequence
- 
+
 -if [  ${XDG_CONFIG_HOME} ]; then
 -  configDir=$XDG_CONFIG_HOME;
 -else
@@ -122,7 +122,7 @@ index 714a9bf1..9733c612 100644
 +    @NIXPKGS_SED@ -e '/nix\\store\|nix\/store/ d' -i $XDG_CONFIG_HOME/Trolltech.conf
  fi
  sysConfigDirs=${XDG_CONFIG_DIRS:-/etc/xdg}
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -mkdir -p $configDir
 +@NIXPKGS_KBUILDSYCOCA5@
@@ -176,7 +176,7 @@ index 714a9bf1..9733c612 100644
 +cursorSize=0
 +EOF
 +fi
- 
+
  #This is basically setting defaults so we can use them with kstartupconfig5
 -cat >$configDir/startupconfigkeys <<EOF
 +cat >"$XDG_CONFIG_HOME/startupconfigkeys" <<EOF
@@ -185,11 +185,12 @@ index 714a9bf1..9733c612 100644
 -ksplashrc KSplash Theme Breeze
 +ksplashrc KSplash Theme org.kde.breeze.desktop
  ksplashrc KSplash Engine KSplashQML
+ kdeglobals KScreen ScaleFactor ''
  kdeglobals KScreen ScreenScaleFactors ''
  kcmfonts General forceFontDPI 0
 +kcmfonts General dontChangeAASettings true
  EOF
- 
+
  # preload the user's locale on first start
 -plasmalocalerc=$configDir/plasma-localerc
 -test -f $plasmalocalerc || {
@@ -202,7 +203,7 @@ index 714a9bf1..9733c612 100644
  EOF
 -}
 +fi
- 
+
  # export LC_* variables set by kcmshell5 formats into environment
  # so it can be picked up by QLocale and friends.
 -exportformatssettings=$configDir/plasma-locale-settings.sh
@@ -213,7 +214,7 @@ index 714a9bf1..9733c612 100644
 +if [ -r "$exportformatssettings" ]; then
 +    . "$exportformatssettings"
 +fi
- 
+
  # Write a default kdeglobals file to set up the font
 -kdeglobalsfile=$configDir/kdeglobals
 -test -f $kdeglobalsfile || {
@@ -236,7 +237,7 @@ index 714a9bf1..9733c612 100644
  EOF
 -}
 +fi
- 
+
 -kstartupconfig5
 -returncode=$?
 -if test $returncode -ne 0; then
@@ -250,13 +251,13 @@ index 714a9bf1..9733c612 100644
 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
 +    . "$XDG_CONFIG_HOME/startupconfig"
 +fi
- 
+
  #Do not sync any of this section with the wayland versions as there scale factors are
  #sent properly over wl_output
-@@ -99,26 +180,33 @@ fi
+@@ -104,26 +185,33 @@ fi
  #otherwise apps that manually opt in for high DPI get auto scaled by the developer AND manually scaled by us
  export QT_AUTO_SCREEN_SCALE_FACTOR=0
- 
+
 +#Set the QtQuickControls style to our own: for QtQuickControls1
 +#it will fall back to Desktop, while it will use our own org.kde.desktop
 +#for QtQuickControlsStyle and Kirigami
@@ -292,7 +293,7 @@ index 714a9bf1..9733c612 100644
 +        export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
      fi
  fi
- 
+
 -if test "$kcmfonts_general_forcefontdpi" -ne 0; then
 -    xrdb -quiet -merge -nocpp <<EOF
 +if [ "${kcmfonts_general_forcefontdpi:-0}" -ne 0 ]; then
@@ -300,9 +301,9 @@ index 714a9bf1..9733c612 100644
  Xft.dpi: $kcmfonts_general_forcefontdpi
  EOF
  fi
-@@ -127,11 +215,11 @@ dl=$DESKTOP_LOCKED
+@@ -132,11 +220,11 @@ dl=$DESKTOP_LOCKED
  unset DESKTOP_LOCKED # Don't want it in the environment
- 
+
  ksplash_pid=
 -if test -z "$dl"; then
 +if [ -z "$dl" ]; then
@@ -314,10 +315,10 @@ index 714a9bf1..9733c612 100644
        ;;
      None)
        ;;
-@@ -140,69 +228,6 @@ if test -z "$dl"; then
+@@ -145,27 +233,6 @@ if test -z "$dl"; then
    esac
  fi
- 
+
 -# Source scripts found in <config locations>/plasma-workspace/env/*.sh
 -# (where <config locations> correspond to the system and user's configuration
 -# directory.
@@ -339,70 +340,28 @@ index 714a9bf1..9733c612 100644
 -  done
 -done
 -
--# Activate the kde font directories.
--#
--# There are 4 directories that may be used for supplying fonts for KDE.
--#
--# There are two system directories. These belong to the administrator.
--# There are two user directories, where the user may add her own fonts.
--#
--# The 'override' versions are for fonts that should come first in the list,
--# i.e. if you have a font in your 'override' directory, it will be used in
--# preference to any other.
--#
--# The preference order looks like this:
--# user override, system override, X, user, system
--#
--# Where X is the original font database that was set up before this script
--# runs.
--
--usr_odir=$HOME/.fonts/kde-override
--usr_fdir=$HOME/.fonts
--
--if test -n "$KDEDIRS"; then
--  kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
--  sys_odir=$kdedirs_first/share/fonts/override
--  sys_fdir=$kdedirs_first/share/fonts
--else
--  sys_odir=$KDEDIR/share/fonts/override
--  sys_fdir=$KDEDIR/share/fonts
--fi
--
--# We run mkfontdir on the user's font dirs (if we have permission) to pick
--# up any new fonts they may have installed. If mkfontdir fails, we still
--# add the user's dirs to the font path, as they might simply have been made
--# read-only by the administrator, for whatever reason.
--
--test -d "$sys_odir" && xset +fp "$sys_odir"
--test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir")
--test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir")
--test -d "$sys_fdir" && xset fp+ "$sys_fdir"
--
--# Ask X11 to rebuild its font list.
--xset fp rehash
--
  # Set a left cursor instead of the standard X11 "X" cursor, since I've heard
  # from some users that they're confused and don't know what to do. This is
  # especially necessary on slow machines, where starting KDE takes one or two
-@@ -257,44 +282,65 @@ export XDG_DATA_DIRS
+@@ -221,44 +288,65 @@ export XDG_DATA_DIRS
  #
  KDE_FULL_SESSION=true
  export KDE_FULL_SESSION
 -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
 +@NIXPKGS_XPROP@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
- 
+
  KDE_SESSION_VERSION=5
  export KDE_SESSION_VERSION
 -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
 +@NIXPKGS_XPROP@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
- 
+
 -KDE_SESSION_UID=`id -ru`
 +KDE_SESSION_UID=$(@NIXPKGS_ID@ -ru)
  export KDE_SESSION_UID
- 
+
  XDG_CURRENT_DESKTOP=KDE
  export XDG_CURRENT_DESKTOP
- 
+
 +# Enforce xcb QPA. Helps switching between Wayland and X sessions.
 +export QT_QPA_PLATFORM=xcb
 +
@@ -445,7 +404,7 @@ index 714a9bf1..9733c612 100644
 -  xmessage -geometry 500x100 "Could not sync environment to dbus."
    exit 1
  fi
- 
+
  # We set LD_BIND_NOW to increase the efficiency of kdeinit.
  # kdeinit unsets this variable before loading applications.
 -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
@@ -457,13 +416,13 @@ index 714a9bf1..9733c612 100644
 -  xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
    exit 1
  fi
- 
+
 -qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
 +@NIXPKGS_QDBUS@ org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
- 
+
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
-@@ -306,12 +352,16 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
+@@ -270,12 +358,16 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
  # We only check for 255 which means that the ksmserver process could not be
  # started, any problems thereafter, e.g. ksmserver failing to initialize,
  # will remain undetected.
@@ -483,13 +442,13 @@ index 714a9bf1..9733c612 100644
  if test $? -eq 255; then
    # Startup error
    echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-@@ -322,36 +372,36 @@ fi
+@@ -286,36 +378,36 @@ fi
  #Anything after here is logout
  #It is not called after shutdown/restart
- 
+
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
 +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
- 
+
 -if test x"$wait_drkonqi"x = x"true"x ; then
 +if [ x"$wait_drkonqi"x = x"true"x ]; then
      # wait for remaining drkonqi instances with timeout (in seconds)
@@ -512,18 +471,18 @@ index 714a9bf1..9733c612 100644
          fi
      done
  fi
- 
+
  echo 'startkde: Shutting down...'  1>&2
  # just in case
 -test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
 +if [ -n "$ksplash_pid" ]; then
 +    kill "$ksplash_pid" 2>/dev/null
 +fi
- 
+
  # Clean up
 -kdeinit5_shutdown
 +@NIXPKGS_KDEINIT5_SHUTDOWN@
- 
+
  unset KDE_FULL_SESSION
 -xprop -root -remove KDE_FULL_SESSION
 +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION
@@ -531,10 +490,10 @@ index 714a9bf1..9733c612 100644
 -xprop -root -remove KDE_SESSION_VERSION
 +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION
  unset KDE_SESSION_UID
- 
+
  echo 'startkde: Done.'  1>&2
 diff --git a/startkde/startplasma.cmake b/startkde/startplasma.cmake
-index de98541c..39c0b521 100644
+index 1fe41c59..39c0b521 100644
 --- a/startkde/startplasma.cmake
 +++ b/startkde/startplasma.cmake
 @@ -1,6 +1,6 @@
@@ -543,12 +502,12 @@ index de98541c..39c0b521 100644
 -#  DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
 +#  NIXPKGS Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
  #
- 
+
  # Boot sequence:
 @@ -17,28 +17,26 @@
  #
  # * Then ksmserver is started which takes control of the rest of the startup sequence
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -if [  ${XDG_CONFIG_HOME} ]; then
 -  configDir=$XDG_CONFIG_HOME;
@@ -558,7 +517,7 @@ index de98541c..39c0b521 100644
 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
 +    . "$XDG_CONFIG_HOME/startupconfig"
  fi
- 
+
 -[ -r $configDir/startupconfig ] && . $configDir/startupconfig
 -
 -xrdb -quiet -merge -nocpp <<EOF
@@ -567,10 +526,10 @@ index de98541c..39c0b521 100644
  Xft.dpi: $QT_WAYLAND_FORCE_DPI
  EOF
 +fi
- 
+
  dl=$DESKTOP_LOCKED
  unset DESKTOP_LOCKED # Don't want it in the environment
- 
+
  ksplash_pid=
 -if test -z "$dl"; then
 +if [ -z "$dl" ]; then
@@ -582,62 +541,14 @@ index de98541c..39c0b521 100644
        ;;
      None)
        ;;
-@@ -50,48 +48,6 @@ fi
- #In wayland we want Plasma to use Qt's scaling
- export PLASMA_USE_QT_SCALING=1
- 
--# Activate the kde font directories.
--#
--# There are 4 directories that may be used for supplying fonts for KDE.
--#
--# There are two system directories. These belong to the administrator.
--# There are two user directories, where the user may add her own fonts.
--#
--# The 'override' versions are for fonts that should come first in the list,
--# i.e. if you have a font in your 'override' directory, it will be used in
--# preference to any other.
--#
--# The preference order looks like this:
--# user override, system override, X, user, system
--#
--# Where X is the original font database that was set up before this script
--# runs.
--
--usr_odir=$HOME/.fonts/kde-override
--usr_fdir=$HOME/.fonts
--
--if test -n "$KDEDIRS"; then
--  kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
--  sys_odir=$kdedirs_first/share/fonts/override
--  sys_fdir=$kdedirs_first/share/fonts
--else
--  sys_odir=$KDEDIR/share/fonts/override
--  sys_fdir=$KDEDIR/share/fonts
--fi
--
--# We run mkfontdir on the user's font dirs (if we have permission) to pick
--# up any new fonts they may have installed. If mkfontdir fails, we still
--# add the user's dirs to the font path, as they might simply have been made
--# read-only by the administrator, for whatever reason.
--
--test -d "$sys_odir" && xset +fp "$sys_odir"
--test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir")
--test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir")
--test -d "$sys_fdir" && xset fp+ "$sys_fdir"
--
--# Ask X11 to rebuild its font list.
--xset fp rehash
--
- # Set a left cursor instead of the standard X11 "X" cursor, since I've heard
- # from some users that they're confused and don't know what to do. This is
- # especially necessary on slow machines, where starting KDE takes one or two
-@@ -100,22 +56,13 @@ xset fp rehash
+@@ -58,23 +56,13 @@ export PLASMA_USE_QT_SCALING=1
  # If the user has overwritten fonts, the cursor font may be different now
  # so don't move this up.
  #
 -xsetroot -cursor_name left_ptr
 -
 -# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
+-usr_fdir=$HOME/.fonts
 -if test -n "$GS_LIB" ; then
 -    GS_LIB=$usr_fdir:$GS_LIB
 -    export GS_LIB
@@ -646,19 +557,19 @@ index de98541c..39c0b521 100644
 -    export GS_LIB
 -fi
 +@NIXPKGS_XSETROOT@ -cursor_name left_ptr
- 
+
  echo 'startplasma: Starting up...'  1>&2
- 
+
  # export our session variables to the Xwayland server
 -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
 -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
 +@NIXPKGS_XPROP@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
 +@NIXPKGS_XPROP@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
- 
+
  # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
  if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then
-@@ -131,16 +78,15 @@ fi
- 
+@@ -90,16 +78,15 @@ fi
+
  # We set LD_BIND_NOW to increase the efficiency of kdeinit.
  # kdeinit unsets this variable before loading applications.
 -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
@@ -670,21 +581,21 @@ index de98541c..39c0b521 100644
 -  xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
    exit 1
  fi
- 
+
 -qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
 +@NIXPKGS_QDBUS@ org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
- 
+
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
-@@ -166,19 +112,19 @@ fi
+@@ -125,19 +112,19 @@ fi
  #Anything after here is logout
  #It is not called after shutdown/restart
- 
+
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
 -
 -if test x"$wait_drkonqi"x = x"true"x ; then
 +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
-+ 
++
 +if [ x"$wait_drkonqi"x = x"true"x ]; then
      # wait for remaining drkonqi instances with timeout (in seconds)
 -    wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
@@ -704,19 +615,19 @@ index de98541c..39c0b521 100644
              done
              break
          fi
-@@ -187,15 +133,17 @@ fi
- 
+@@ -146,15 +133,17 @@ fi
+
  echo 'startplasma: Shutting down...'  1>&2
  # just in case
 -test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
 +if [ -n "$ksplash_pid" ]; then
 + "$ksplash_pid" 2>/dev/null
 +fi
- 
+
  # Clean up
 -kdeinit5_shutdown
 +@NIXPKGS_KDEINIT5_SHUTDOWN@
- 
+
  unset KDE_FULL_SESSION
 -xprop -root -remove KDE_FULL_SESSION
 +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION
@@ -724,10 +635,10 @@ index de98541c..39c0b521 100644
 -xprop -root -remove KDE_SESSION_VERSION
 +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION
  unset KDE_SESSION_UID
- 
+
  echo 'startplasma: Done.'  1>&2
 diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake
-index dd9e304d..12132f9e 100644
+index dcb473a4..48dbf465 100644
 --- a/startkde/startplasmacompositor.cmake
 +++ b/startkde/startplasmacompositor.cmake
 @@ -1,118 +1,174 @@
@@ -736,7 +647,7 @@ index dd9e304d..12132f9e 100644
 -#  DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
 +#  NIXPKGS Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
  #
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -if [  ${XDG_CONFIG_HOME} ]; then
 -  configDir=$XDG_CONFIG_HOME;
@@ -803,7 +714,7 @@ index dd9e304d..12132f9e 100644
 +EOF
  fi
  sysConfigDirs=${XDG_CONFIG_DIRS:-/etc/xdg}
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -mkdir -p $configDir
 +# Set the default GTK 3 theme
@@ -832,7 +743,7 @@ index dd9e304d..12132f9e 100644
 +cursorSize=0
 +EOF
 +fi
- 
+
  #This is basically setting defaults so we can use them with kstartupconfig5
 -cat >$configDir/startupconfigkeys <<EOF
 +cat >"$XDG_CONFIG_HOME/startupconfigkeys" <<EOF
@@ -846,7 +757,7 @@ index dd9e304d..12132f9e 100644
 +kcmfonts General forceFontDPI 0
 +kcmfonts General dontChangeAASettings true
  EOF
- 
+
  # preload the user's locale on first start
 -plasmalocalerc=$configDir/plasma-localerc
 -test -f $plasmalocalerc || {
@@ -859,7 +770,7 @@ index dd9e304d..12132f9e 100644
  EOF
 -}
 +fi
- 
+
  # export LC_* variables set by kcmshell5 formats into environment
  # so it can be picked up by QLocale and friends.
 -exportformatssettings=$configDir/plasma-locale-settings.sh
@@ -870,7 +781,7 @@ index dd9e304d..12132f9e 100644
 +if [ -r "$exportformatssettings" ]; then
 +    . "$exportformatssettings"
 +fi
- 
+
  # Write a default kdeglobals file to set up the font
 -kdeglobalsfile=$configDir/kdeglobals
 -test -f $kdeglobalsfile || {
@@ -924,7 +835,7 @@ index dd9e304d..12132f9e 100644
 -        test -h $oxygenDir || ln -s $prefixDir $oxygenDir && fc-cache $oxygenDir
 -    }
  fi
- 
+
 -kstartupconfig5
 +@CMAKE_INSTALL_FULL_BINDIR@/kstartupconfig5
  returncode=$?
@@ -935,23 +846,23 @@ index dd9e304d..12132f9e 100644
 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
 +    . "$XDG_CONFIG_HOME/startupconfig"
 +fi
- 
+
  #Manually disable auto scaling because we are scaling above
  #otherwise apps that manually opt in for high DPI get auto scaled by the developer AND scaled by the wl_output
  export QT_AUTO_SCREEN_SCALE_FACTOR=0
- 
--# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
--if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
--    @EXPORT_XCURSOR_PATH@
+
 +XCURSOR_PATH=~/.icons
 +IFS=":" read -r -a xdgDirs <<< "$XDG_DATA_DIRS"
 +for xdgDir in "${xdgDirs[@]}"; do
 +    XCURSOR_PATH="$XCURSOR_PATH:$xdgDir/icons"
 +done
 +export XCURSOR_PATH
- 
++
+ # XCursor mouse theme needs to be applied here to work even for kded or ksmserver
+-if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
+-    @EXPORT_XCURSOR_PATH@
+-
 -    # TODO: is kapplymousetheme a core app?
-+# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
 +if [ -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ]; then
      #kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
 -    if test $? -eq 10; then
@@ -972,20 +883,20 @@ index dd9e304d..12132f9e 100644
 +        export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
      fi
  fi
- 
+
 -if test "$kcmfonts_general_forcefontdpiwayland" -ne 0; then
 +if [ "${kcmfonts_general_forcefontdpiwayland:-0}" -ne 0 ]; then
      export QT_WAYLAND_FORCE_DPI=$kcmfonts_general_forcefontdpiwayland
  else
      export QT_WAYLAND_FORCE_DPI=96
 @@ -120,12 +167,12 @@ fi
- 
+
  # Get a property value from org.freedesktop.locale1
  queryLocale1() {
 -    qdbus --system org.freedesktop.locale1 /org/freedesktop/locale1 "$1"
 +    @NIXPKGS_QDBUS@ --system org.freedesktop.locale1 /org/freedesktop/locale1 "$1"
  }
- 
+
  # Query whether org.freedesktop.locale1 is available. If it is, try to
  # set XKB_DEFAULT_{MODEL,LAYOUT,VARIANT,OPTIONS} accordingly.
 -if qdbus --system org.freedesktop.locale1 >/dev/null 2>/dev/null; then
@@ -996,7 +907,7 @@ index dd9e304d..12132f9e 100644
 @@ -141,41 +188,10 @@ if qdbus --system org.freedesktop.locale1 >/dev/null 2>/dev/null; then
      fi
  fi
- 
+
 -# Source scripts found in <config locations>/plasma-workspace/env/*.sh
 -# (where <config locations> correspond to the system and user's configuration
 -# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
@@ -1020,7 +931,7 @@ index dd9e304d..12132f9e 100644
 -done
 -
  echo 'startplasmacompositor: Starting up...'  1>&2
- 
+
 -# Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all.
 -# The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend
 -# to set it to a list of paths *not* including the KDE prefix if it's not /usr or
@@ -1036,17 +947,19 @@ index dd9e304d..12132f9e 100644
      : # ok
  else
      echo 'startplasmacompositor: Could not start D-Bus. Can you call qdbus?'  1>&2
-@@ -212,26 +228,47 @@ export KDE_FULL_SESSION
+@@ -212,7 +228,7 @@ export KDE_FULL_SESSION
  KDE_SESSION_VERSION=5
  export KDE_SESSION_VERSION
- 
+
 -KDE_SESSION_UID=`id -ru`
 +KDE_SESSION_UID=$(@NIXPKGS_ID@ -ru)
  export KDE_SESSION_UID
- 
+
  XDG_CURRENT_DESKTOP=KDE
- export XDG_CURRENT_DESKTOP
- 
+@@ -221,20 +237,41 @@ export XDG_CURRENT_DESKTOP
+ XDG_SESSION_TYPE=wayland
+ export XDG_SESSION_TYPE
+
 +# Source scripts found in <config locations>/plasma-workspace/env/*.sh
 +# (where <config locations> correspond to the system and user's configuration
 +# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
@@ -1089,9 +1002,9 @@ index dd9e304d..12132f9e 100644
 +    echo 'startplasmacompositor: Could not sync environment to dbus.'  1>&2
 +    exit 1
  fi
- 
+
 -@KWIN_WAYLAND_BIN_PATH@ --xwayland --libinput --exit-with-session=@CMAKE_INSTALL_FULL_LIBEXECDIR@/startplasma
 +@KWIN_WAYLAND_BIN_PATH@ --xwayland --libinput --exit-with-session=@NIXPKGS_STARTPLASMA@
- 
+
  echo 'startplasmacompositor: Shutting down...'  1>&2
- 
+
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 0842034f0d8..cfafc4d1321 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -3,363 +3,363 @@
 
 {
   bluedevil = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/bluedevil-5.14.5.tar.xz";
-      sha256 = "1khqw11apvcf5g5m9z111rvk4scxh3z3yhcpwqws1h0s5c5lr7z7";
-      name = "bluedevil-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/bluedevil-5.15.3.tar.xz";
+      sha256 = "1vdij1ydrwj51nsf3ysmql3wy3y7ayipzrqgxwa52r9n49zckva0";
+      name = "bluedevil-5.15.3.tar.xz";
     };
   };
   breeze = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/breeze-5.14.5.tar.xz";
-      sha256 = "15hphz2mm2m3j0a0hwj7m65rggyaxdxy08yqs73bg3yg67n6x3p7";
-      name = "breeze-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/breeze-5.15.3.tar.xz";
+      sha256 = "0l7yngc32af7gdi8p68c8267bbzhfvpynqclq3il4fvaxc6vbq2b";
+      name = "breeze-5.15.3.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/breeze-grub-5.14.5.tar.xz";
-      sha256 = "0bkaaxfl1ds58qcdrxswaacir7wcc65a960lwdkmpdl16g9f4gix";
-      name = "breeze-grub-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/breeze-grub-5.15.3.tar.xz";
+      sha256 = "0ccx8yfxhc5r3kv7snv80wpz7h5a9l762iz1cx5sfjpmmq2jhi64";
+      name = "breeze-grub-5.15.3.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/breeze-gtk-5.14.5.tar.xz";
-      sha256 = "0bysq83xbqmhb4wld51zd6lllr66b8w7pinizc99k8z1yz5jdb0m";
-      name = "breeze-gtk-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/breeze-gtk-5.15.3.tar.xz";
+      sha256 = "1rg323fyq0q07k00xi63csi0f3bwzi1cbm6srshqih0cnfgq69j4";
+      name = "breeze-gtk-5.15.3.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/breeze-plymouth-5.14.5.tar.xz";
-      sha256 = "1rbdpz9vlami7217v3dk8ljz0fgjz9zi1l0gwkhslayz5sybld96";
-      name = "breeze-plymouth-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/breeze-plymouth-5.15.3.tar.xz";
+      sha256 = "0f654kys4xw2c84iblz2q2x53z4mb2javgngb1dr3jkafysr0h37";
+      name = "breeze-plymouth-5.15.3.tar.xz";
     };
   };
   discover = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/discover-5.14.5.tar.xz";
-      sha256 = "0gxhl2cv5yz3jw8fp8g8idi1k5hlhnvwbnvvg0dgnlzz6jb1s8dd";
-      name = "discover-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/discover-5.15.3.tar.xz";
+      sha256 = "1b6mc81xr4wl29bjw95jm8k72j3hhn1ps8a5dvzanbslfx31hf1b";
+      name = "discover-5.15.3.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/drkonqi-5.14.5.tar.xz";
-      sha256 = "0xgym368f9r21wjh9fpv16m90dcj87g9p5df850fnn2k5n8x38z8";
-      name = "drkonqi-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/drkonqi-5.15.3.tar.xz";
+      sha256 = "0y4bkrv7bx69hm4kbbd2jfjnccj99686s0k5lm4ldv3wvf66k4sx";
+      name = "drkonqi-5.15.3.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kactivitymanagerd-5.14.5.tar.xz";
-      sha256 = "0zms9npis0rklnbz93c69h4yg7dkrmfkzvzsfvkg90w37ap3vyl7";
-      name = "kactivitymanagerd-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kactivitymanagerd-5.15.3.tar.xz";
+      sha256 = "1lz3mm0bli2w8xwr3n06ss7qqzm4clvs3d9hfydyf7xq03mszrym";
+      name = "kactivitymanagerd-5.15.3.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kde-cli-tools-5.14.5.tar.xz";
-      sha256 = "01mrnjqla4q07cnb1p51nq2pvj9vaamic3dsyj3b7hqky9fna9ln";
-      name = "kde-cli-tools-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kde-cli-tools-5.15.3.tar.xz";
+      sha256 = "1praysa894m67kwy4xaqh354c0shwfyyrqf4n9wrfwwrchdw6ypg";
+      name = "kde-cli-tools-5.15.3.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kdecoration-5.14.5.tar.xz";
-      sha256 = "115pli0qpa8lx0jasg1886fcg7gb2kk8v6k8r8l8c820l97sq7in";
-      name = "kdecoration-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kdecoration-5.15.3.tar.xz";
+      sha256 = "1ymp6szphpnfvdnhg8n1wan76z1s5xw68xsmwm21zrjf8lmrwkdh";
+      name = "kdecoration-5.15.3.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kde-gtk-config-5.14.5.tar.xz";
-      sha256 = "12467wkjh2nmcf6r7n8qin1rryd39g0dg7gn43sdg6vdwpyl2kdm";
-      name = "kde-gtk-config-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kde-gtk-config-5.15.3.tar.xz";
+      sha256 = "1ysw26sfx2wyd79bkknvvcmg5s4b154iyds9c6wp8brmcn6ng3s8";
+      name = "kde-gtk-config-5.15.3.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kdeplasma-addons-5.14.5.tar.xz";
-      sha256 = "18sph3719d9pq2j5k7swiv9xbrpj659a3q66zvhz3dmh11y73f0m";
-      name = "kdeplasma-addons-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kdeplasma-addons-5.15.3.tar.xz";
+      sha256 = "071wnwxgywg6bqqgwmjyswai3k0n4c15lq8mspcy92kym3msqkrn";
+      name = "kdeplasma-addons-5.15.3.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kgamma5-5.14.5.tar.xz";
-      sha256 = "17smrdwyalknb3f6ckqs7kglfpqwajbiyd212wlsmqbva4by0fy0";
-      name = "kgamma5-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kgamma5-5.15.3.tar.xz";
+      sha256 = "12cnrnmr2wp14afg6x438gm502514pk61mfr26cypvcd6azpc2my";
+      name = "kgamma5-5.15.3.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/khotkeys-5.14.5.tar.xz";
-      sha256 = "0572jpgbhacx4gy40m594rbnxy3zaq5w3lcrfd8i2750ljswcq24";
-      name = "khotkeys-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/khotkeys-5.15.3.tar.xz";
+      sha256 = "0gnkdl6kki8xph3787bacggapm4vbakj39y9kcjqvqrqxifp1ml5";
+      name = "khotkeys-5.15.3.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kinfocenter-5.14.5.tar.xz";
-      sha256 = "1z1i9g923cbdni5gfa6dpv46z1p2v40rfcvhy7i9h5nf49aw2rnc";
-      name = "kinfocenter-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kinfocenter-5.15.3.tar.xz";
+      sha256 = "0rhhrsp0fmgfsmrfv468l4xinyfyghf6921s1581sgg5fk9qhrwr";
+      name = "kinfocenter-5.15.3.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kmenuedit-5.14.5.tar.xz";
-      sha256 = "1aa4a35s5h44fc88hmmfdpzy26zc47h9n448cd4vbm4bm411551d";
-      name = "kmenuedit-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kmenuedit-5.15.3.tar.xz";
+      sha256 = "1s7bhpxiapmx496f3y3klmc9i2347fs25yhd2brg92jziw73jpab";
+      name = "kmenuedit-5.15.3.tar.xz";
     };
   };
   kscreen = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kscreen-5.14.5.tar.xz";
-      sha256 = "1nb1ysgcx49galbf16mxbawybfik92bpr9vbwgg5ycsdx1f9q8yi";
-      name = "kscreen-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kscreen-5.15.3.tar.xz";
+      sha256 = "1izq1anl0r9ysmsdnc2ny7cx73xc190qbad59nrnlqcxrsplb68f";
+      name = "kscreen-5.15.3.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kscreenlocker-5.14.5.tar.xz";
-      sha256 = "16amr7pz0k6w5vkk1dwn2qi3s1mln0jypwmjazqq2lbwimn8k56m";
-      name = "kscreenlocker-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kscreenlocker-5.15.3.tar.xz";
+      sha256 = "0bglpgibrc8l6yi24pj4kja33mc02clgi1vbdvw1qpp65ixhpzna";
+      name = "kscreenlocker-5.15.3.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/ksshaskpass-5.14.5.tar.xz";
-      sha256 = "0skr247k4ky7lpbdwlmkrnr3mj1pa6pxl96pyxwsw7za784qg6dj";
-      name = "ksshaskpass-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/ksshaskpass-5.15.3.tar.xz";
+      sha256 = "1zrjc74srb4jp8sw6pi0ik2i4yxffvgv037d50yk1fif1xyvnf9s";
+      name = "ksshaskpass-5.15.3.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/ksysguard-5.14.5.tar.xz";
-      sha256 = "0ybxh6ll080rkrrr4b5ydl06x8zi97702661cajvbv00lhq4vp8b";
-      name = "ksysguard-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/ksysguard-5.15.3.tar.xz";
+      sha256 = "1nxgadymq45yn92cs08gfmv5krc2ylwgbn5qcc2aq6ryrrhrw89q";
+      name = "ksysguard-5.15.3.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kwallet-pam-5.14.5.tar.xz";
-      sha256 = "1mkjjc88kqf5x313nifla9pzrgzqm4v92150dbs1f89bsn673pk8";
-      name = "kwallet-pam-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kwallet-pam-5.15.3.tar.xz";
+      sha256 = "1w3vf92k3k2084cflv4fwav16czc4vqg62gi8x1alri38ziyb793";
+      name = "kwallet-pam-5.15.3.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kwayland-integration-5.14.5.tar.xz";
-      sha256 = "0rd0xhb53iixv9i8x0gh3rr1082lj7zdymsqdmi7sfgb66g8c03l";
-      name = "kwayland-integration-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kwayland-integration-5.15.3.tar.xz";
+      sha256 = "0grb9fnk7pfgwzj3c9d11zl1j9jy9k6d4pw2n2fdrs02g3yg603h";
+      name = "kwayland-integration-5.15.3.tar.xz";
     };
   };
   kwin = {
-    version = "5.14.5";
+    version = "5.15.3.2";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kwin-5.14.5.tar.xz";
-      sha256 = "0ifdlnzw3ydrbidzk256vks66d1rxyilhqi09csygx17jqk7szj4";
-      name = "kwin-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kwin-5.15.3.2.tar.xz";
+      sha256 = "0iri6993zsxmrm7qnf76py7ihc27x9y741ar7g9fry8c8knmqyrw";
+      name = "kwin-5.15.3.2.tar.xz";
     };
   };
   kwrited = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/kwrited-5.14.5.tar.xz";
-      sha256 = "0115qscr8a54h7h8w4xw4fjzp7qipyw3d3jswhii7axnzp6q6qnh";
-      name = "kwrited-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/kwrited-5.15.3.tar.xz";
+      sha256 = "0xhdmnfkpr35sks7k66s5cbq220yrmbn8ixcsdqwsgpji2sx4g7v";
+      name = "kwrited-5.15.3.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/libkscreen-5.14.5.tar.xz";
-      sha256 = "1vyaml5ap9siw9idiny92li2bykd0nwjsmwmg0c7ad912j4g1s7y";
-      name = "libkscreen-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/libkscreen-5.15.3.tar.xz";
+      sha256 = "0fzfk8ga5qinsmag61l29cf92r7qm4nlb8hrhddyff7d7c7kr3vj";
+      name = "libkscreen-5.15.3.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/libksysguard-5.14.5.tar.xz";
-      sha256 = "11nz0g7dqvpvgsv0a7sai445vgfsfi25plj7jb1i46n7zf8i8mya";
-      name = "libksysguard-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/libksysguard-5.15.3.tar.xz";
+      sha256 = "05cfb51xcmxb8k2k14n2i5ysj47aism9yq7lk2rw216bsdp2mqnj";
+      name = "libksysguard-5.15.3.tar.xz";
     };
   };
   milou = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/milou-5.14.5.tar.xz";
-      sha256 = "1776441mhmwcvrzmdqg531md79azbkbhng51kyq6i9cvkhxyf583";
-      name = "milou-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/milou-5.15.3.tar.xz";
+      sha256 = "1prq9mdrysz8ckf7n6sjfn3qc87135nj69v2jcayn9irb0k8wz01";
+      name = "milou-5.15.3.tar.xz";
     };
   };
   oxygen = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/oxygen-5.14.5.tar.xz";
-      sha256 = "0h70k7af69zdky0g6napd1kdnvbxhnw3nrwr9jqv1fq5762xnkk8";
-      name = "oxygen-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/oxygen-5.15.3.tar.xz";
+      sha256 = "0a069imvw0khkbcih8zvx0i0ks99jkwis6p73n4846qz544f3dvb";
+      name = "oxygen-5.15.3.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-browser-integration-5.14.5.tar.xz";
-      sha256 = "1260h5sh0gkbkhcj17ss0n0y48i1pxh3f4p5dcbgbz775g1dhi2s";
-      name = "plasma-browser-integration-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-browser-integration-5.15.3.tar.xz";
+      sha256 = "1mhaa5z63gyd8j7zplmyicnibqsv1xhd9mxip6clhj5bfk8q9jar";
+      name = "plasma-browser-integration-5.15.3.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.14.5";
+    version = "5.15.3.2";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-desktop-5.14.5.tar.xz";
-      sha256 = "0pr07p36jrpvkk4fp14fb4minnwj5gnmvdg9jf7bi8sjjz6jpnnl";
-      name = "plasma-desktop-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-desktop-5.15.3.2.tar.xz";
+      sha256 = "12pz0bin3j2f98k88nwmb271lr6v6w3l28li0iri2x8pk144vr91";
+      name = "plasma-desktop-5.15.3.2.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-integration-5.14.5.tar.xz";
-      sha256 = "15nhrliri4cjx712f1rxbq2f87lj4wxsqgbhw9p02z12h3n9z3ds";
-      name = "plasma-integration-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-integration-5.15.3.tar.xz";
+      sha256 = "08qw2ibl0j2nhsplc3b117vdc00bd2gn1q48nx0xy349bf64m735";
+      name = "plasma-integration-5.15.3.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-nm-5.14.5.tar.xz";
-      sha256 = "1hf98c9llcff0h2w4l45nw0vysxvnanf7hczhj93z4562qrafxm2";
-      name = "plasma-nm-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-nm-5.15.3.tar.xz";
+      sha256 = "1l9wh4hs2v0b9hdagcgl67z0w4amffakxczwy0nwymqzv0mxgqvz";
+      name = "plasma-nm-5.15.3.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-pa-5.14.5.tar.xz";
-      sha256 = "0z74qg7m4y1ifzni1877hiil3rn6ad3x4fvgv4bib4jhg7ckaiqg";
-      name = "plasma-pa-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-pa-5.15.3.tar.xz";
+      sha256 = "1lkhidd5b4mjn23mxcp2vfmxf7dwbk7y14svc4wy6xc1xg1pc125";
+      name = "plasma-pa-5.15.3.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-sdk-5.14.5.tar.xz";
-      sha256 = "0v90nk6yhrapdszh8sd3m0wffkjgnrhdy1sz1vl9s0ab5sdpmxr1";
-      name = "plasma-sdk-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-sdk-5.15.3.tar.xz";
+      sha256 = "1qzh0yy4zql7a50ql9ghhvlfxjnbckflbgbzdyd7i9x3ml7s5saw";
+      name = "plasma-sdk-5.15.3.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-tests-5.14.5.tar.xz";
-      sha256 = "03h889xn6i067d1sdymn6fgj8xik3pa75lljl8kj3vl6bks24jyh";
-      name = "plasma-tests-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-tests-5.15.3.tar.xz";
+      sha256 = "1z5vhw1dy1qks6w161yamn2fawrgkggv9mvvgpmljmy07qpafgkg";
+      name = "plasma-tests-5.15.3.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-vault-5.14.5.tar.xz";
-      sha256 = "17r44n0mkcwc2fkjf397ks8xv82m59gvnawbj9713c5l31ln5mi3";
-      name = "plasma-vault-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-vault-5.15.3.tar.xz";
+      sha256 = "1my9dnqz11frn07fk505pfi2nkf2d642jfgjklh5zfngjxy589jy";
+      name = "plasma-vault-5.15.3.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-workspace-5.14.5.tar.xz";
-      sha256 = "14d3wnsm4bi1izx5qlpk0mnqmxwx18bqypa3wwmhn1535kfz8glh";
-      name = "plasma-workspace-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-workspace-5.15.3.tar.xz";
+      sha256 = "08irdg8divr45z53kr6b1mv4s2jakmq3r79g7df6ja9rb6py5f59";
+      name = "plasma-workspace-5.15.3.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plasma-workspace-wallpapers-5.14.5.tar.xz";
-      sha256 = "17q0685i4267ihlrii3b8764ak458kzs0inqfcj9x25m338xz19q";
-      name = "plasma-workspace-wallpapers-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plasma-workspace-wallpapers-5.15.3.tar.xz";
+      sha256 = "0xgssv66ksljv8xkj20v2x1bppkyn8z17wa3hynwlcqxh2g4afq4";
+      name = "plasma-workspace-wallpapers-5.15.3.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/plymouth-kcm-5.14.5.tar.xz";
-      sha256 = "1cwmkprhc4496x4a38l2x7hnifnp4daw8g1gic0ik2sm0a6xn77k";
-      name = "plymouth-kcm-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/plymouth-kcm-5.15.3.tar.xz";
+      sha256 = "0fbr9nf263pc9inakhp901r58mlsm1jgw0xqp9fj08c9lj25z190";
+      name = "plymouth-kcm-5.15.3.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.14.5";
+    version = "1-5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/polkit-kde-agent-1-5.14.5.tar.xz";
-      sha256 = "1lzw4zq2ysnva5g1v85k9k6yck30wfgcy0sn1ncxy183vm36b2ag";
-      name = "polkit-kde-agent-1-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/polkit-kde-agent-1-5.15.3.tar.xz";
+      sha256 = "07gl57h9zmagbw7v2sfksbcbqrfdhr8isfmpcw10rc4k2awlsysy";
+      name = "polkit-kde-agent-1-5.15.3.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/powerdevil-5.14.5.tar.xz";
-      sha256 = "0rdrj6k7bb1cisz1g8akxxn68c8rj0zddim1afvcq1iqr727wqj5";
-      name = "powerdevil-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/powerdevil-5.15.3.tar.xz";
+      sha256 = "1f7ik3lh30irqzf0pgy59kkrsn4fkl8xwam1bikfm34bwzrsxb14";
+      name = "powerdevil-5.15.3.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/sddm-kcm-5.14.5.tar.xz";
-      sha256 = "0aix2grc2h2w8qxcbdwxhvq09ispblnisl017bvb19apkvs0w8m1";
-      name = "sddm-kcm-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/sddm-kcm-5.15.3.tar.xz";
+      sha256 = "1mvp8p1k9csmn6h6iyk29yj1j4b4dfyd6j4v0v2ha1vdfjwjlsh2";
+      name = "sddm-kcm-5.15.3.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.14.5";
+    version = "5.15.3.2";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/systemsettings-5.14.5.tar.xz";
-      sha256 = "1q1ih74vkdhss64ayc3qmbrw4hhvfl3axlkhh63rky09qn83x9zw";
-      name = "systemsettings-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/systemsettings-5.15.3.2.tar.xz";
+      sha256 = "0bqhff2s2qyz1x8nhrphnkyja0mhr7msf58cwdkscsl6lyamn2a2";
+      name = "systemsettings-5.15.3.2.tar.xz";
     };
   };
   user-manager = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/user-manager-5.14.5.tar.xz";
-      sha256 = "0aw2s029547rzx3xg9nib5w30d25978fpv7xyshxmp3z8rmzgcjv";
-      name = "user-manager-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/user-manager-5.15.3.tar.xz";
+      sha256 = "18acg3xjcdhcwk3irsf1hgkwma9mn6msl6qwmf0slz1lydlrljs4";
+      name = "user-manager-5.15.3.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.14.5";
+    version = "5.15.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.14.5/xdg-desktop-portal-kde-5.14.5.tar.xz";
-      sha256 = "0h6hdk9fkf98jfjaza773k37369ayvwmwrgxn6al2pma6n07vddq";
-      name = "xdg-desktop-portal-kde-5.14.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.15.3/xdg-desktop-portal-kde-5.15.3.tar.xz";
+      sha256 = "10cmy4j54nkwrgibxdpx6d30g596ikvb1dqqmp1gvmzr570gmbi7";
+      name = "xdg-desktop-portal-kde-5.15.3.tar.xz";
     };
   };
 }