summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/kde-frameworks/attica.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/baloo.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks/bluez-qt.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/breeze-icons.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh14
-rw-r--r--pkgs/development/libraries/kde-frameworks/frameworkintegration.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kactivities-stats.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kactivities.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks/kapidox.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/karchive.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kauth/default.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/kbookmarks.nix12
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcmutils/default.nix9
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcodecs.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcompletion.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfig.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcoreaddons.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcrash.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdbusaddons.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdeclarative.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kded.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix29
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesu.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdnssd.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdoctools/default.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks/kemoticons.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kglobalaccel.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks/kguiaddons.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/khtml.nix9
-rw-r--r--pkgs/development/libraries/kde-frameworks/ki18n.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/kidletime.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kinit/default.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/kitemmodels.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/kitemviews.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjobwidgets.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjs.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjsembed.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kmediaplayer.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/knewstuff.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks/knotifications.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/knotifyconfig.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kparts.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpeople.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks/kplotting.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpty.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kross.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/krunner.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks/kservice/default.nix12
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktexteditor.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktextwidgets.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/kunitconversion.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwallet.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwayland.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix12
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kxmlgui.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/plasma-framework.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks/prison.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/solid.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/sonnet.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/threadweaver.nix9
74 files changed, 413 insertions, 239 deletions
diff --git a/pkgs/development/libraries/kde-frameworks/attica.nix b/pkgs/development/libraries/kde-frameworks/attica.nix
index c70be1b877d..3c725223979 100644
--- a/pkgs/development/libraries/kde-frameworks/attica.nix
+++ b/pkgs/development/libraries/kde-frameworks/attica.nix
@@ -8,4 +8,5 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/baloo.nix b/pkgs/development/libraries/kde-frameworks/baloo.nix
index 9bbb9a1101b..d5da9f5af17 100644
--- a/pkgs/development/libraries/kde-frameworks/baloo.nix
+++ b/pkgs/development/libraries/kde-frameworks/baloo.nix
@@ -1,14 +1,17 @@
-{ mkDerivation, lib, extra-cmake-modules, kauth, kconfig
-, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime
-, kio, lmdb, qtbase, solid
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kauth, kconfig, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n,
+  kidletime, kio, lmdb, qtbase, qtdeclarative, solid,
 }:
 
 mkDerivation {
   name = "baloo";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kauth kconfig kcoreaddons kcrash kdbusaddons kfilemetadata ki18n kio
-    kidletime lmdb qtbase solid
+  buildInputs = [
+    kauth kconfig kcrash kdbusaddons ki18n kio kidletime lmdb qtdeclarative
+    solid
   ];
+  propagatedBuildInputs = [ kcoreaddons kfilemetadata qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
index 2f3b960f3bd..ec4deae6cb4 100644
--- a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
@@ -10,9 +10,10 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ qtdeclarative ];
+  buildInputs = [ qtdeclarative ];
+  propagatedBuildInputs = [ qtbase ];
   preConfigure = ''
     substituteInPlace CMakeLists.txt \
-      --replace /lib/udev/rules.d "$out/lib/udev/rules.d"
+      --replace /lib/udev/rules.d "$bin/lib/udev/rules.d"
   '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
index 1c4ed2a9909..9e4a40b22ab 100644
--- a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
+++ b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
@@ -3,8 +3,7 @@
 mkDerivation {
   name = "breeze-icons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  outputs = [ "out" ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtsvg ];
-  propagatedUserEnvPkgs = [ qtsvg.out ];
+  outputs = [ "out" ]; # only runtime outputs
 }
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 71b24a0da6b..8ab1d1b99b6 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -39,11 +39,11 @@ let
     # SUPPORT
     let
 
-      propagateBin =
+      propagate = out:
         let setupHook = { writeScript }:
               writeScript "setup-hook.sh" ''
-                # Propagate $bin output
-                propagatedUserEnvPkgs+=" @bin@"
+                # Propagate $${out} output
+                propagatedUserEnvPkgs+=" @${out}@"
 
                 # Propagate $dev so that this setup hook is propagated
                 # But only if there is a separate $dev output
@@ -57,9 +57,11 @@ let
               '';
         in callPackage setupHook {};
 
+      propagateBin = propagate "bin";
+
       callPackage = self.newScope {
 
-        inherit propagateBin;
+        inherit propagate propagateBin;
 
         mkDerivation = args:
           let
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index a550cda1fa2..c1b1e21852c 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -1,17 +1,16 @@
-_ecmSetXdgDirs() {
+_ecmEnvHook() {
     addToSearchPath XDG_DATA_DIRS "$1/share"
     addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
 }
+envHooks+=(_ecmEnvHook)
 
-envHooks+=(_ecmSetXdgDirs)
-
-_ecmConfig() {
+_ecmPreConfigureHook() {
     # Because we need to use absolute paths here, we must set *all* the paths.
     cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
     cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
     cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
     cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
-    cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputBin}/lib/libexec"
+    cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
     cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
     cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
     cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
@@ -25,7 +24,7 @@ _ecmConfig() {
     cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputBin}/share/kxmlgui5"
     cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputBin}/share/knotifications5"
     cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons"
-    cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputBin}/share/locale"
+    cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
     cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds"
     cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates"
     cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers"
@@ -52,5 +51,4 @@ _ecmConfig() {
         cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix"
     fi
 }
-
-preConfigureHooks+=(_ecmConfig)
+preConfigureHooks+=(_ecmPreConfigureHook)
diff --git a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
index 8f2d1446fcf..58b064806e5 100644
--- a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
+++ b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
@@ -9,8 +9,9 @@ mkDerivation {
   name = "frameworkintegration";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kbookmarks kcompletion kconfig kconfigwidgets ki18n kio kiconthemes
-    knewstuff knotifications kpackage kwidgetsaddons libXcursor qtx11extras
+  buildInputs = [
+    kbookmarks kcompletion kconfig ki18n kio knewstuff knotifications kpackage
+    kwidgetsaddons libXcursor qtx11extras
   ];
+  propagatedBuildInputs = [ kconfigwidgets kiconthemes ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
index 99737ea2b83..b558306248a 100644
--- a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
@@ -1,8 +1,14 @@
-{ mkDerivation, lib, extra-cmake-modules, boost, kactivities, kconfig }:
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  boost, kactivities, kconfig, qtbase,
+}:
 
 mkDerivation {
   name = "kactivities-stats";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ boost kactivities kconfig ];
+  buildInputs = [ boost kactivities kconfig ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kactivities.nix b/pkgs/development/libraries/kde-frameworks/kactivities.nix
index 59b5639c24f..eabac6aadd7 100644
--- a/pkgs/development/libraries/kde-frameworks/kactivities.nix
+++ b/pkgs/development/libraries/kde-frameworks/kactivities.nix
@@ -1,14 +1,15 @@
-{ mkDerivation, lib, extra-cmake-modules, boost, kcmutils, kconfig
-, kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n
-, kio, kservice, kwindowsystem, kxmlgui, qtdeclarative
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  boost, kconfig, kcoreaddons, kio, kwindowsystem, qtbase, qtdeclarative,
 }:
 
 mkDerivation {
   name = "kactivities";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    boost kcmutils kconfig kcoreaddons kdbusaddons kdeclarative kglobalaccel
-    ki18n kio kservice kwindowsystem kxmlgui qtdeclarative
+  buildInputs = [
+    boost kconfig kcoreaddons kio kwindowsystem qtdeclarative
   ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kapidox.nix b/pkgs/development/libraries/kde-frameworks/kapidox.nix
index 0d3ccc276fc..ca5e773a45b 100644
--- a/pkgs/development/libraries/kde-frameworks/kapidox.nix
+++ b/pkgs/development/libraries/kde-frameworks/kapidox.nix
@@ -4,4 +4,7 @@ mkDerivation {
   name = "kapidox";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules python ];
+  postFixup = ''
+    moveToOutput bin $bin
+  '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/karchive.nix b/pkgs/development/libraries/kde-frameworks/karchive.nix
index 5f725a75d56..1f90db2bc02 100644
--- a/pkgs/development/libraries/kde-frameworks/karchive.nix
+++ b/pkgs/development/libraries/kde-frameworks/karchive.nix
@@ -1,4 +1,8 @@
-{ mkDerivation, lib, extra-cmake-modules, qtbase }:
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  bzip2, lzma, qtbase, zlib,
+}:
 
 mkDerivation {
   name = "karchive";
@@ -7,5 +11,7 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ];
+  buildInputs = [ bzip2 lzma zlib ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kauth/default.nix b/pkgs/development/libraries/kde-frameworks/kauth/default.nix
index 25cdb7f4a19..c94c8b91ecd 100644
--- a/pkgs/development/libraries/kde-frameworks/kauth/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kauth/default.nix
@@ -1,12 +1,17 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib, copyPathsToStore, propagate,
   extra-cmake-modules, kcoreaddons, polkit-qt, qttools
 }:
 
 mkDerivation {
   name = "kauth";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ kcoreaddons polkit-qt ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ polkit-qt qttools ];
+  propagatedBuildInputs = [ kcoreaddons ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  # library stores reference to plugin path,
+  # separating $out from $bin would create a reference cycle
+  outputs = [ "out" "dev" ];
+  setupHook = propagate "out";
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
index 0873094af3d..dc2339632e4 100644
--- a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
+++ b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
@@ -1,13 +1,17 @@
 {
-  mkDerivation, lib, extra-cmake-modules,
-  kcodecs, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kxmlgui
+  mkDerivation, lib,
+  extra-cmake-modules, qttools,
+  kcodecs, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kwidgetsaddons,
+  kxmlgui, qtbase,
 }:
 
 mkDerivation {
   name = "kbookmarks";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [
     kcodecs kconfig kconfigwidgets kcoreaddons kiconthemes kxmlgui
   ];
+  propagatedBuildInputs = [ kwidgetsaddons qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
index fb5779e10bc..023a5b5c003 100644
--- a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
@@ -2,16 +2,17 @@
   mkDerivation, lib,
   extra-cmake-modules,
   kconfigwidgets, kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews,
-  kpackage, kservice, kxmlgui
+  kpackage, kservice, kxmlgui, qtdeclarative,
 }:
 
 mkDerivation {
   name = "kcmutils";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kconfigwidgets kcoreaddons kdeclarative ki18n kiconthemes kitemviews
-    kpackage kservice kxmlgui
+  buildInputs = [
+    kcoreaddons kdeclarative ki18n kiconthemes kitemviews kpackage kxmlgui
+    qtdeclarative
   ];
+  propagatedBuildInputs = [ kconfigwidgets kservice ];
   patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcodecs.nix b/pkgs/development/libraries/kde-frameworks/kcodecs.nix
index f66c422a638..90c9a963a60 100644
--- a/pkgs/development/libraries/kde-frameworks/kcodecs.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcodecs.nix
@@ -6,6 +6,8 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  buildInputs = [ qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcompletion.nix b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
index bf7556e94a6..fdfe28db6c0 100644
--- a/pkgs/development/libraries/kde-frameworks/kcompletion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
@@ -7,6 +7,8 @@
 mkDerivation {
   name = "kcompletion";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ kconfig kwidgetsaddons qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kconfig kwidgetsaddons qttools ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kconfig.nix b/pkgs/development/libraries/kde-frameworks/kconfig.nix
index f95b50f9de5..78b554017ee 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfig.nix
+++ b/pkgs/development/libraries/kde-frameworks/kconfig.nix
@@ -6,6 +6,7 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools ];
   propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
index 2b91e003764..3943e5d6d49 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
@@ -1,17 +1,20 @@
 {
   mkDerivation, lib, extra-cmake-modules,
-  kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons
+  kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons, qtbase,
 }:
 
 mkDerivation {
   name = "kconfigwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
-    kauth kconfig kcodecs kguiaddons ki18n kwidgetsaddons
-  ];
+  buildInputs = [ kguiaddons ki18n qtbase ];
+  propagatedBuildInputs = [ kauth kcodecs kconfig kwidgetsaddons ];
   patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
+  outputs = [ "out" "dev" ];
+  preConfigure = ''
+    outputBin=dev
+  '';
   postInstall = ''
-    moveToOutput "bin/preparetips5" "$dev"
+    moveToOutput share/man $dev
   '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
index 8fa10bd767b..34073d64f89 100644
--- a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
@@ -1,4 +1,8 @@
-{ mkDerivation, lib, fetchurl, extra-cmake-modules, qtbase, qttools, shared_mime_info }:
+{
+  mkDerivation, lib, fetchurl, writeScript,
+  extra-cmake-modules,
+  qtbase, qttools, shared_mime_info
+}:
 
 mkDerivation {
   name = "kcoreaddons";
@@ -6,6 +10,7 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ qtbase shared_mime_info ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools shared_mime_info ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcrash.nix b/pkgs/development/libraries/kde-frameworks/kcrash.nix
index c8e674c88c5..d45d73d33e4 100644
--- a/pkgs/development/libraries/kde-frameworks/kcrash.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcrash.nix
@@ -1,8 +1,14 @@
-{ mkDerivation, lib, extra-cmake-modules, kcoreaddons, kwindowsystem, qtx11extras }:
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kcoreaddons, kwindowsystem, qtbase, qtx11extras,
+}:
 
 mkDerivation {
   name = "kcrash";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ kcoreaddons kwindowsystem qtx11extras ];
+  buildInputs = [ kcoreaddons kwindowsystem qtx11extras ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
index 8169c89b5ba..d0c744da886 100644
--- a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
@@ -1,4 +1,8 @@
-{ mkDerivation, lib, extra-cmake-modules, qtbase, qttools, qtx11extras }:
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  qtbase, qttools, qtx11extras
+}:
 
 mkDerivation {
   name = "kdbusaddons";
@@ -6,6 +10,7 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ qtx11extras ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools qtx11extras ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
index 4b9522ffa5d..7aabeb02154 100644
--- a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
@@ -8,8 +8,9 @@ mkDerivation {
   name = "kdeclarative";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    epoxy kconfig kglobalaccel kguiaddons ki18n kiconthemes kio kpackage
-    kwidgetsaddons kwindowsystem qtdeclarative
+  buildInputs = [
+    epoxy kglobalaccel kguiaddons ki18n kiconthemes kio kwidgetsaddons
+    kwindowsystem
   ];
+  propagatedBuildInputs = [ kconfig kpackage qtdeclarative ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kded.nix b/pkgs/development/libraries/kde-frameworks/kded.nix
index 18b8ccd0fb6..65377789582 100644
--- a/pkgs/development/libraries/kde-frameworks/kded.nix
+++ b/pkgs/development/libraries/kde-frameworks/kded.nix
@@ -1,13 +1,16 @@
 {
-  mkDerivation, lib, extra-cmake-modules,
-  kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, kinit, kservice
+  mkDerivation, lib, propagate,
+  extra-cmake-modules, kdoctools,
+  kconfig, kcoreaddons, kcrash, kdbusaddons, kinit, kservice, qtbase,
 }:
 
 mkDerivation {
   name = "kded";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
-    kconfig kcoreaddons kcrash kdbusaddons kinit kservice
+  buildInputs = [
+    kconfig kcoreaddons kcrash kdbusaddons kinit kservice qtbase
   ];
+  outputs = [ "out" "dev" ];
+  setupHook = propagate "out";
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
index cf94a706167..6937a4056b2 100644
--- a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
@@ -1,12 +1,11 @@
 {
   mkDerivation, lib, copyPathsToStore,
-  extra-cmake-modules, kdoctools,
-  docbook_xml_dtd_45, kauth, karchive, kcompletion, kconfig, kconfigwidgets,
-  kcoreaddons, kcrash, kdbusaddons, kded, kdesignerplugin, kemoticons,
-  kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels, kinit,
-  knotifications, kparts, kservice, ktextwidgets, kunitconversion,
-  kwidgetsaddons, kwindowsystem, kxmlgui, networkmanager, qtsvg, qtx11extras,
-  xlibs
+  docbook_xml_dtd_45, extra-cmake-modules, kdoctools,
+  kauth, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash,
+  kdbusaddons, kded, kdesignerplugin, kemoticons, kglobalaccel, kguiaddons,
+  ki18n, kiconthemes, kio, kitemmodels, kinit, knotifications, kparts, kservice,
+  ktextwidgets, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui,
+  networkmanager, qtbase, qtsvg, qttools, qtx11extras, xlibs
 }:
 
 mkDerivation {
@@ -14,16 +13,20 @@ mkDerivation {
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
   setupHook = ./setup-hook.sh;
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  propagatedNativeBuildInputs = [ kdoctools ];
+  buildInputs = [
+    kcompletion kconfig kded kglobalaccel ki18n kio kservice kwidgetsaddons
+    kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM
+  ];
   propagatedBuildInputs = [
-    kauth karchive kcompletion kconfig kconfigwidgets kcoreaddons kcrash
-    kdbusaddons kded kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n
-    kio kiconthemes kitemmodels kinit knotifications kparts kservice
-    ktextwidgets kunitconversion kwidgetsaddons kwindowsystem kxmlgui
-    networkmanager qtsvg qtx11extras xlibs.libSM
+    kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons kdesignerplugin
+    kemoticons kguiaddons kiconthemes kitemmodels kinit knotifications kparts
+    ktextwidgets kunitconversion kwindowsystem qtbase
   ];
   cmakeFlags = [
     "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
     "-DDocBookXML4_DTD_VERSION=4.5"
   ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
index c732a6be22e..91b596cc4d3 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
@@ -2,15 +2,15 @@
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kcompletion, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kio,
-  kitemviews, kplotting, ktextwidgets, kwidgetsaddons, kxmlgui, sonnet
+  kitemviews, kplotting, ktextwidgets, kwidgetsaddons, kxmlgui, qttools, sonnet,
 }:
 
 mkDerivation {
   name = "kdesignerplugin";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
-    kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio
-    kitemviews kplotting ktextwidgets kwidgetsaddons kxmlgui sonnet
+  buildInputs = [
+    kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio kitemviews
+    kplotting ktextwidgets kwidgetsaddons kxmlgui qttools sonnet
   ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdesu.nix b/pkgs/development/libraries/kde-frameworks/kdesu.nix
index e8d72008507..df60511b511 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesu.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesu.nix
@@ -1,10 +1,14 @@
-{ mkDerivation, lib, extra-cmake-modules, kcoreaddons, ki18n, kpty
-, kservice
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kcoreaddons, ki18n, kpty, kservice, qtbase,
 }:
 
 mkDerivation {
   name = "kdesu";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ kcoreaddons ki18n kpty kservice ];
+  buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
+  propagatedBuildInputs = [ kpty ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdnssd.nix b/pkgs/development/libraries/kde-frameworks/kdnssd.nix
index 1d7553090fc..9382db43e2d 100644
--- a/pkgs/development/libraries/kde-frameworks/kdnssd.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdnssd.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules, qttools,
-  avahi, qtbase
+  extra-cmake-modules,
+  avahi, qtbase, qttools,
 }:
 
 mkDerivation {
@@ -10,6 +10,8 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ avahi qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ avahi qttools ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
index 991717cce8c..55d719e8d8c 100644
--- a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
@@ -1,18 +1,28 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, docbook_xml_dtd_45, docbook5_xsl,
-  karchive, ki18n, perl, perlPackages
+  karchive, ki18n, qtbase,
+  perl, perlPackages
 }:
 
 mkDerivation {
   name = "kdoctools";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ karchive ki18n ];
   propagatedNativeBuildInputs = [ perl perlPackages.URI ];
+  buildInputs = [ karchive ki18n ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
+  patches = [ ./kdoctools-no-find-docbook-xml.patch ];
+  preConfigure = ''
+    outputBin=dev
+  '';
   cmakeFlags = [
     "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
     "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
   ];
-  patches = [ ./kdoctools-no-find-docbook-xml.patch ];
+  postFixup = ''
+    moveToOutput "share/doc" "$dev"
+    moveToOutput "share/man" "$dev"
+  '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kemoticons.nix b/pkgs/development/libraries/kde-frameworks/kemoticons.nix
index c2060e9c919..b7f4f036db5 100644
--- a/pkgs/development/libraries/kde-frameworks/kemoticons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kemoticons.nix
@@ -1,12 +1,13 @@
 {
   mkDerivation, lib,
   extra-cmake-modules,
-  karchive, kconfig, kcoreaddons, kservice
+  karchive, kcoreaddons, kservice, qtbase,
 }:
 
 mkDerivation {
   name = "kemoticons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ karchive kconfig kcoreaddons kservice ];
+  buildInputs = [ karchive kcoreaddons ];
+  propagatedBuildInputs = [ kservice qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
index 3fb81c28a7b..7f325c88049 100644
--- a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
@@ -7,9 +7,10 @@
 mkDerivation {
   name = "kfilemetadata";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    attr ebook_tools exiv2 ffmpeg karchive ki18n poppler qtbase taglib
+  buildInputs = [
+    attr ebook_tools exiv2 ffmpeg karchive ki18n poppler taglib
   ];
+  propagatedBuildInputs = [ qtbase ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
index cfe767b4d55..05fde45f17d 100644
--- a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
+++ b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
@@ -2,14 +2,19 @@
   mkDerivation, lib,
   extra-cmake-modules,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kservice, kwindowsystem,
-  qtx11extras
+  qtbase, qttools, qtx11extras,
 }:
 
 mkDerivation {
   name = "kglobalaccel";
-  meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kconfig kcoreaddons kcrash kdbusaddons kservice kwindowsystem qtx11extras
+  buildInputs = [
+    kconfig kcoreaddons kcrash kdbusaddons kservice kwindowsystem qttools
+    qtx11extras
   ];
+  propagatedBuildInputs = [ qtbase ];
+  postPatch = ''
+    sed -i src/runtime/org.kde.kglobalaccel.service.in \
+        -e "s|@CMAKE_INSTALL_PREFIX@|''${!outputBin}|"
+  '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
index 2b4e28ca492..5cc7e360782 100644
--- a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
@@ -11,5 +11,7 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ qtx11extras ];
+  buildInputs = [ qtx11extras ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/khtml.nix b/pkgs/development/libraries/kde-frameworks/khtml.nix
index d6ec1ab901f..3724d078aff 100644
--- a/pkgs/development/libraries/kde-frameworks/khtml.nix
+++ b/pkgs/development/libraries/kde-frameworks/khtml.nix
@@ -10,9 +10,10 @@ mkDerivation {
   name = "khtml";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules perl ];
-  propagatedBuildInputs = [
-    giflib karchive kcodecs kglobalaccel ki18n kiconthemes kio kjs
-    knotifications kparts ktextwidgets kwallet kwidgetsaddons kwindowsystem
-    kxmlgui phonon qtx11extras sonnet
+  buildInputs = [
+    giflib karchive kcodecs kglobalaccel ki18n kiconthemes kio knotifications
+    kparts ktextwidgets kwallet kwidgetsaddons kwindowsystem kxmlgui phonon
+    qtx11extras sonnet
   ];
+  propagatedBuildInputs = [ kjs ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix
index 649f1db3952..805cb201bd7 100644
--- a/pkgs/development/libraries/kde-frameworks/ki18n.nix
+++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix
@@ -12,5 +12,5 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedNativeBuildInputs = [ gettext python ];
-  propagatedBuildInputs = [ qtdeclarative qtscript ];
+  buildInputs = [ qtdeclarative qtscript ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
index f1d8503804e..4b8e0059377 100644
--- a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
@@ -1,7 +1,8 @@
 {
   mkDerivation, lib, copyPathsToStore,
   extra-cmake-modules,
-  karchive, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg
+  breeze-icons, karchive, kcoreaddons, kconfigwidgets, ki18n, kitemviews,
+  qtbase, qtsvg,
 }:
 
 mkDerivation {
@@ -9,5 +10,8 @@ mkDerivation {
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ breeze-icons kconfigwidgets karchive ki18n kitemviews qtsvg ];
+  buildInputs = [
+    breeze-icons karchive kcoreaddons kconfigwidgets ki18n kitemviews
+  ];
+  propagatedBuildInputs = [ qtbase qtsvg ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kidletime.nix b/pkgs/development/libraries/kde-frameworks/kidletime.nix
index 4139674cd39..69d83eb0ff5 100644
--- a/pkgs/development/libraries/kde-frameworks/kidletime.nix
+++ b/pkgs/development/libraries/kde-frameworks/kidletime.nix
@@ -11,5 +11,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ qtbase qtx11extras ];
+  buildInputs = [ qtx11extras ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index b711328cf89..26a8637bafc 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,14 +1,16 @@
 {
   mkDerivation, lib,
   extra-cmake-modules,
-  ilmbase, karchive, qtbase
+  ilmbase, karchive, openexr, qtbase
 }:
 
+let inherit (lib) getDev; in
+
 mkDerivation {
   name = "kimageformats";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ ilmbase qtbase ];
-  propagatedBuildInputs = [ karchive ];
-  NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
+  buildInputs = [ karchive openexr qtbase ];
+  outputs = [ "out" ]; # plugins only
+  NIX_CFLAGS_COMPILE = "-I${getDev ilmbase}/include/OpenEXR";
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
index 51c0e40617a..1036ea27745 100644
--- a/pkgs/development/libraries/kde-frameworks/kinit/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore,
+  mkDerivation, lib, copyPathsToStore, writeScript,
   extra-cmake-modules, kdoctools,
   kconfig, kcrash, ki18n, kio, kparts, kservice, kwindowsystem, plasma-framework
 }:
@@ -10,7 +10,7 @@ mkDerivation {
   name = "kinit";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
+  buildInputs = [
     kconfig kcrash ki18n kio kservice kwindowsystem
   ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
@@ -19,4 +19,18 @@ mkDerivation {
     ''-DNIXPKGS_KF5_PARTS="${getLib kparts}/lib/libKF5Parts.so.5"''
     ''-DNIXPKGS_KF5_PLASMA="${getLib plasma-framework}/lib/libKF5Plasma.so.5"''
   ];
+  postFixup = ''
+    moveToOutput "lib/libexec/kf5/start_kdeinit" "$bin"
+  '';
+  setupHook = writeScript "setup-hook.sh" ''
+    kinitFixupOutputHook() {
+        if [ $prefix != ''${!outputBin} ] && [ -d $prefix/lib ]; then
+            mkdir -p ''${!outputBin}/lib
+            find $prefix/lib -maxdepth 1 -name 'libkdeinit5_*.so' -exec ln -s \{\} ''${!outputBin}/lib \;
+            rmdir --ignore-fail-on-non-empty ''${!outputBin}/lib
+        fi
+    }
+
+    fixupOutputHooks+=(kinitFixupOutputHook)
+  '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 86cb72707a5..e4e4c90bfe1 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -1,21 +1,23 @@
 {
   mkDerivation, lib, copyPathsToStore,
   extra-cmake-modules, kdoctools,
-  acl, karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
+  karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
   kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
-  qtscript, qtx11extras, solid, fetchpatch
+  qtbase, qtscript, qtx11extras, solid,
 }:
 
 mkDerivation {
   name = "kio";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    karchive kconfigwidgets kdbusaddons ki18n kiconthemes knotifications
+    ktextwidgets kwallet kwidgetsaddons kwindowsystem qtscript qtx11extras
+  ];
   propagatedBuildInputs = [
-    acl karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons
-    kdbusaddons ki18n kiconthemes kitemviews kjobwidgets knotifications kservice
-    ktextwidgets kwallet kwidgetsaddons kwindowsystem kxmlgui solid qtscript
-    qtx11extras
+    kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice
+    kxmlgui qtbase solid
   ];
   patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series));
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
index a769d30b3c3..faeb5b16c34 100644
--- a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
+++ b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
@@ -12,4 +12,5 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kitemviews.nix b/pkgs/development/libraries/kde-frameworks/kitemviews.nix
index 7e317deef58..c4c0e804e2d 100644
--- a/pkgs/development/libraries/kde-frameworks/kitemviews.nix
+++ b/pkgs/development/libraries/kde-frameworks/kitemviews.nix
@@ -10,6 +10,8 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools ];
   propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
index 048f1290a99..810e2bf8c84 100644
--- a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
@@ -8,5 +8,5 @@ mkDerivation {
   name = "kjobwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ kcoreaddons kwidgetsaddons qtx11extras ];
+  buildInputs = [ kcoreaddons kwidgetsaddons qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjs.nix b/pkgs/development/libraries/kde-frameworks/kjs.nix
index 20459498c3e..62bcc0065b3 100644
--- a/pkgs/development/libraries/kde-frameworks/kjs.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjs.nix
@@ -1,10 +1,12 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules, kdoctools
+  extra-cmake-modules, kdoctools,
+  qtbase,
 }:
 
 mkDerivation {
   name = "kjs";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjsembed.nix b/pkgs/development/libraries/kde-frameworks/kjsembed.nix
index 3a52761e259..e8cd5070ae5 100644
--- a/pkgs/development/libraries/kde-frameworks/kjsembed.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjsembed.nix
@@ -1,11 +1,13 @@
 {
-  mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kjs
-, qtsvg
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools, qttools,
+  ki18n, kjs, qtsvg,
 }:
 
 mkDerivation {
   name = "kjsembed";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [ ki18n kjs qtsvg ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
+  buildInputs = [ ki18n qtsvg ];
+  propagatedBuildInputs = [ kjs ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
index 278a4240ab9..a4714c9e4ad 100644
--- a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
+++ b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
@@ -8,5 +8,5 @@ mkDerivation {
   name = "kmediaplayer";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ kparts kxmlgui ];
+  buildInputs = [ kparts kxmlgui ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/pkgs/development/libraries/kde-frameworks/knewstuff.nix
index b32a073fb33..70f3cbb3c37 100644
--- a/pkgs/development/libraries/kde-frameworks/knewstuff.nix
+++ b/pkgs/development/libraries/kde-frameworks/knewstuff.nix
@@ -1,14 +1,18 @@
-{ mkDerivation, lib, extra-cmake-modules, attica, karchive
-, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio
-, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  attica, karchive, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes,
+  kio, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui, qtbase,
+  qtdeclarative,
 }:
 
 mkDerivation {
   name = "knewstuff";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    attica karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio
-    kitemviews kservice ktextwidgets kwidgetsaddons kxmlgui
+  buildInputs = [
+    karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio kitemviews
+    ktextwidgets kwidgetsaddons qtbase qtdeclarative
   ];
+  propagatedBuildInputs = [ attica kservice kxmlgui ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/knotifications.nix b/pkgs/development/libraries/kde-frameworks/knotifications.nix
index 2532f5b4b4f..964e1b44115 100644
--- a/pkgs/development/libraries/kde-frameworks/knotifications.nix
+++ b/pkgs/development/libraries/kde-frameworks/knotifications.nix
@@ -10,7 +10,7 @@ mkDerivation {
   name = "knotifications";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [
+  buildInputs = [
     kcodecs kconfig kcoreaddons kwindowsystem libdbusmenu phonon qtx11extras
   ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
index 29c779e6598..6739f96183c 100644
--- a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
+++ b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
@@ -1,10 +1,14 @@
-{ mkDerivation, lib, extra-cmake-modules, kcompletion, kconfig
-, ki18n, kio, phonon
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kcompletion, kconfig, ki18n, kio, phonon, qtbase,
 }:
 
 mkDerivation {
   name = "knotifyconfig";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ kcompletion kconfig ki18n kio phonon ];
+  buildInputs = [ kcompletion kconfig ki18n kio phonon ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index e83afaa8e82..c0b4b631286 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -1,13 +1,13 @@
 {
   mkDerivation, fetchurl, lib, copyPathsToStore,
   extra-cmake-modules, kdoctools,
-  karchive, kconfig, kcoreaddons, ki18n
+  karchive, kconfig, kcoreaddons, ki18n, qtbase,
 }:
 
 mkDerivation {
   name = "kpackage";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ];
+  buildInputs = [ karchive kconfig kcoreaddons ki18n qtbase ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kparts.nix b/pkgs/development/libraries/kde-frameworks/kparts.nix
index db0eb6c2a2c..f657569277a 100644
--- a/pkgs/development/libraries/kde-frameworks/kparts.nix
+++ b/pkgs/development/libraries/kde-frameworks/kparts.nix
@@ -1,14 +1,17 @@
-{ mkDerivation, lib, extra-cmake-modules, kconfig, kcoreaddons
-, ki18n, kiconthemes, kio, kjobwidgets, knotifications, kservice
-, ktextwidgets, kwidgetsaddons, kxmlgui
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kconfig, kcoreaddons, ki18n, kiconthemes, kio, kjobwidgets, knotifications,
+  kservice, ktextwidgets, kwidgetsaddons, kxmlgui
 }:
 
 mkDerivation {
   name = "kparts";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kconfig kcoreaddons ki18n kiconthemes kio kjobwidgets knotifications
-    kservice ktextwidgets kwidgetsaddons kxmlgui
+  buildInputs = [
+    kconfig kcoreaddons ki18n kiconthemes kjobwidgets knotifications kservice
+    kwidgetsaddons
   ];
+  propagatedBuildInputs = [ kio ktextwidgets kxmlgui ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpeople.nix b/pkgs/development/libraries/kde-frameworks/kpeople.nix
index e10abf6ab62..04181fd3e13 100644
--- a/pkgs/development/libraries/kde-frameworks/kpeople.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpeople.nix
@@ -1,12 +1,16 @@
-{ mkDerivation, lib, extra-cmake-modules, kcoreaddons, ki18n
-, kitemviews, kservice, kwidgetsaddons, qtdeclarative
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kcoreaddons, ki18n, kitemviews, kservice, kwidgetsaddons, qtbase,
+  qtdeclarative,
 }:
 
 mkDerivation {
   name = "kpeople";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
+  buildInputs = [
     kcoreaddons ki18n kitemviews kservice kwidgetsaddons qtdeclarative
   ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kplotting.nix b/pkgs/development/libraries/kde-frameworks/kplotting.nix
index a0d6b4625d9..5ff37fb1db1 100644
--- a/pkgs/development/libraries/kde-frameworks/kplotting.nix
+++ b/pkgs/development/libraries/kde-frameworks/kplotting.nix
@@ -9,5 +9,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpty.nix b/pkgs/development/libraries/kde-frameworks/kpty.nix
index 27acf536c36..150c5b3d2b2 100644
--- a/pkgs/development/libraries/kde-frameworks/kpty.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpty.nix
@@ -1,8 +1,9 @@
-{ mkDerivation, lib, extra-cmake-modules, kcoreaddons, ki18n }:
+{ mkDerivation, lib, extra-cmake-modules, kcoreaddons, ki18n, qtbase, }:
 
 mkDerivation {
   name = "kpty";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ kcoreaddons ki18n ];
+  buildInputs = [ kcoreaddons ki18n qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kross.nix b/pkgs/development/libraries/kde-frameworks/kross.nix
index 6b37c118183..f45fb5ecd1d 100644
--- a/pkgs/development/libraries/kde-frameworks/kross.nix
+++ b/pkgs/development/libraries/kde-frameworks/kross.nix
@@ -1,14 +1,14 @@
 { mkDerivation, lib, extra-cmake-modules, kcompletion, kcoreaddons
 , kdoctools, ki18n, kiconthemes, kio, kparts, kwidgetsaddons
-, kxmlgui, qtscript
+, kxmlgui, qtbase, qtscript, qtxmlpatterns,
 }:
 
 mkDerivation {
   name = "kross";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kcompletion kcoreaddons kxmlgui ];
   propagatedBuildInputs = [
-    kcompletion kcoreaddons ki18n kiconthemes kio kparts kwidgetsaddons kxmlgui
-    qtscript
+    ki18n kiconthemes kio kparts kwidgetsaddons qtbase qtscript qtxmlpatterns
   ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/krunner.nix b/pkgs/development/libraries/kde-frameworks/krunner.nix
index 2f542591e49..9782320a487 100644
--- a/pkgs/development/libraries/kde-frameworks/krunner.nix
+++ b/pkgs/development/libraries/kde-frameworks/krunner.nix
@@ -1,14 +1,17 @@
-{ mkDerivation, lib, extra-cmake-modules, kconfig, kcoreaddons
-, ki18n, kio, kservice, plasma-framework, solid
-, threadweaver
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kconfig, kcoreaddons, ki18n, kio, kservice, plasma-framework, qtbase,
+  qtdeclarative, solid, threadweaver
 }:
 
 mkDerivation {
   name = "krunner";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kconfig kcoreaddons ki18n kio kservice plasma-framework solid
+  buildInputs = [
+    kconfig kcoreaddons ki18n kio kservice qtdeclarative solid
     threadweaver
   ];
+  propagatedBuildInputs = [ plasma-framework qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kservice/default.nix b/pkgs/development/libraries/kde-frameworks/kservice/default.nix
index 2730cf53677..e6822dc2afb 100644
--- a/pkgs/development/libraries/kde-frameworks/kservice/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kservice/default.nix
@@ -1,14 +1,18 @@
 {
   mkDerivation, lib, copyPathsToStore,
   bison, extra-cmake-modules, flex,
-  kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem
+  kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem,
+  qtbase,
 }:
 
 mkDerivation {
   name = "kservice";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  propagatedNativeBuildInputs = [ bison extra-cmake-modules flex ];
-  nativeBuildInputs = [ kdoctools ];
-  propagatedBuildInputs = [ kconfig kcoreaddons kcrash kdbusaddons ki18n kwindowsystem ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  propagatedNativeBuildInputs = [ bison flex ];
+  buildInputs = [
+    kcrash kdbusaddons ki18n kwindowsystem qtbase
+  ];
+  propagatedBuildInputs = [ kconfig kcoreaddons ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
index bc4dcf6916b..ae4d3a71d53 100644
--- a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
@@ -1,17 +1,17 @@
-{ mkDerivation, lib, copyPathsToStore
-, extra-cmake-modules, perl
-, karchive, kconfig, kguiaddons, kiconthemes, kparts
-, libgit2
-, qtscript, qtxmlpatterns
-, ki18n, kio, sonnet, syntax-highlighting
+{
+  mkDerivation, lib, copyPathsToStore,
+  extra-cmake-modules, perl,
+  karchive, kconfig, kguiaddons, ki18n, kiconthemes, kio, kparts, libgit2,
+  qtscript, qtxmlpatterns, sonnet, syntax-highlighting
 }:
 
 mkDerivation {
   name = "ktexteditor";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules perl ];
-  propagatedBuildInputs = [
-    karchive kconfig kguiaddons ki18n kiconthemes kio kparts libgit2 qtscript
+  buildInputs = [
+    karchive kconfig kguiaddons ki18n kiconthemes kio libgit2 qtscript
     qtxmlpatterns sonnet syntax-highlighting
   ];
+  propagatedBuildInputs = [ kparts ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
index 695e7b991e7..8b082f7f365 100644
--- a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
@@ -1,14 +1,16 @@
-{ mkDerivation, lib, extra-cmake-modules, kcompletion, kconfig
-, kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem
-, sonnet
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  kcompletion, kconfig, kconfigwidgets, ki18n, kiconthemes, kservice,
+  kwindowsystem, qtbase, sonnet,
 }:
 
 mkDerivation {
   name = "ktextwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    kcompletion kconfig kconfigwidgets ki18n kiconthemes kservice kwindowsystem
-    sonnet
+  buildInputs = [
+    kcompletion kconfig kconfigwidgets kiconthemes kservice kwindowsystem
   ];
+  propagatedBuildInputs = [ ki18n qtbase sonnet ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
index e793bb8828f..d6c079fd83b 100644
--- a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
@@ -1,8 +1,9 @@
-{ mkDerivation, lib, extra-cmake-modules, ki18n }:
+{ mkDerivation, lib, extra-cmake-modules, ki18n, qtbase, }:
 
 mkDerivation {
   name = "kunitconversion";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ ki18n ];
+  buildInputs = [ ki18n qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwallet.nix b/pkgs/development/libraries/kde-frameworks/kwallet.nix
index 31a29dbff92..fca0dedd083 100644
--- a/pkgs/development/libraries/kde-frameworks/kwallet.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwallet.nix
@@ -1,14 +1,18 @@
-{ mkDerivation, lib, extra-cmake-modules, kconfig, kconfigwidgets
-, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes
-, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt, gpgme
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  kconfig, kconfigwidgets, kcoreaddons , kdbusaddons, ki18n,
+  kiconthemes, knotifications, kservice, kwidgetsaddons, kwindowsystem,
+  libgcrypt, qgpgme, qtbase,
 }:
 
 mkDerivation {
   name = "kwallet";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
+  buildInputs = [
     kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes
-    knotifications kservice kwidgetsaddons kwindowsystem libgcrypt gpgme
+    knotifications kservice kwidgetsaddons kwindowsystem libgcrypt qgpgme
   ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwayland.nix b/pkgs/development/libraries/kde-frameworks/kwayland.nix
index 87c0bf84706..096100980d6 100644
--- a/pkgs/development/libraries/kde-frameworks/kwayland.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwayland.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, propagateBin,
   extra-cmake-modules,
   qtbase, wayland
 }:
@@ -11,6 +11,7 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ];
-  propagatedBuildInputs = [ wayland ];
+  buildInputs = [ wayland ];
+  propagatedBuildInputs = [ qtbase ];
+  setupHook = propagateBin; # XDG_CONFIG_DIRS
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
index 4375cf064e1..e607f90de8d 100644
--- a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
@@ -1,5 +1,7 @@
-{ mkDerivation, lib
-, extra-cmake-modules, qtbase, qttools
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  qtbase, qttools
 }:
 
 mkDerivation {
@@ -8,6 +10,8 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  buildInputs = [ qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
index 6fe57449b89..ba43a5668a7 100644
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
@@ -10,10 +10,11 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  propagatedBuildInputs = [ qtx11extras ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qttools qtx11extras ];
+  propagatedBuildInputs = [ qtbase ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
   preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"$out/$qtPluginPrefix\""
+    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"''${!outputBin}/$qtPluginPrefix\""
   '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
index 80df93c61b8..b9aede81f9a 100644
--- a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
+++ b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
@@ -1,14 +1,17 @@
-{ mkDerivation, lib, extra-cmake-modules, attica, kconfig
-, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews
-, ktextwidgets, kwindowsystem, sonnet
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  attica, kconfig, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews,
+  ktextwidgets, kwindowsystem, qtbase, sonnet,
 }:
 
 mkDerivation {
   name = "kxmlgui";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [
-    attica kconfig kconfigwidgets kglobalaccel ki18n kiconthemes kitemviews
-    ktextwidgets kwindowsystem sonnet
+  buildInputs = [
+    attica kglobalaccel ki18n kiconthemes kitemviews ktextwidgets kwindowsystem
+    sonnet
   ];
+  propagatedBuildInputs = [ kconfig kconfigwidgets qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
index 714d768742e..acffde6a7cf 100644
--- a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
+++ b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
@@ -4,5 +4,7 @@ mkDerivation {
   name = "kxmlrpcclient";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedBuildInputs = [ ki18n kio ];
+  buildInputs = [ ki18n ];
+  propagatedBuildInputs = [ kio ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
index c4edfeca5a3..cdf09a48b4f 100644
--- a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
@@ -1,6 +1,7 @@
-{ mkDerivation, lib
-, extra-cmake-modules
-, modemmanager, qtbase
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  modemmanager, qtbase
 }:
 
 mkDerivation {
@@ -10,6 +11,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ];
-  propagatedBuildInputs = [ modemmanager ];
+  propagatedBuildInputs = [ modemmanager qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
index 340c76ef778..3ed56bbf718 100644
--- a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
@@ -1,6 +1,7 @@
-{ mkDerivation, lib
-, extra-cmake-modules
-, qtbase, networkmanager
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  networkmanager, qtbase,
 }:
 
 mkDerivation {
@@ -10,6 +11,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ];
-  propagatedBuildInputs = [ networkmanager ];
+  propagatedBuildInputs = [ networkmanager qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
index 919c4f36b15..2d795bfc50c 100644
--- a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
+++ b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
@@ -9,7 +9,7 @@ mkDerivation {
     license = lib.licenses.lgpl3Plus;
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  outputs = [ "out" ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ];
+  outputs = [ "out" ]; # only runtime outputs
 }
diff --git a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
index f47750145b5..d3a81b50bf1 100644
--- a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
+++ b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
@@ -1,17 +1,20 @@
-{ mkDerivation, lib, fetchurl, extra-cmake-modules, kactivities, karchive
-, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative
-, kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio
-, knotifications, kpackage, kservice, kwayland, kwindowsystem, kxmlgui
-, qtscript, qtx11extras
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  kactivities, karchive, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
+  kdeclarative, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio,
+  knotifications, kpackage, kservice, kwayland, kwindowsystem, kxmlgui,
+  qtbase, qtdeclarative, qtscript, qtx11extras,
 }:
 
 mkDerivation {
   name = "plasma-framework";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
+  buildInputs = [
     kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons
     kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio knotifications
-    kpackage kservice kwayland kwindowsystem kxmlgui qtscript qtx11extras
+    kwayland kwindowsystem kxmlgui qtdeclarative qtscript qtx11extras
   ];
+  propagatedBuildInputs = [ kpackage kservice qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/prison.nix b/pkgs/development/libraries/kde-frameworks/prison.nix
index 905321235c7..2d86f3fbf05 100644
--- a/pkgs/development/libraries/kde-frameworks/prison.nix
+++ b/pkgs/development/libraries/kde-frameworks/prison.nix
@@ -8,5 +8,7 @@ mkDerivation {
   name = "prison";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ libdmtx qrencode qtbase ];
+  buildInputs = [ libdmtx qrencode ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/solid.nix b/pkgs/development/libraries/kde-frameworks/solid.nix
index f64b9936046..24705d6c114 100644
--- a/pkgs/development/libraries/kde-frameworks/solid.nix
+++ b/pkgs/development/libraries/kde-frameworks/solid.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   bison, extra-cmake-modules, flex,
-  qtbase, qtdeclarative, qttools
+  media-player-info, qtbase, qtdeclarative, qttools
 }:
 
 mkDerivation {
@@ -10,6 +10,8 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ bison extra-cmake-modules flex qttools ];
-  propagatedBuildInputs = [ qtdeclarative ];
+  nativeBuildInputs = [ bison extra-cmake-modules flex ];
+  buildInputs = [ qtdeclarative qttools ];
+  propagatedBuildInputs = [ qtbase ];
+  propagatedUserEnvPkgs = [ media-player-info ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/sonnet.nix b/pkgs/development/libraries/kde-frameworks/sonnet.nix
index 06165a57c3a..90e2169c166 100644
--- a/pkgs/development/libraries/kde-frameworks/sonnet.nix
+++ b/pkgs/development/libraries/kde-frameworks/sonnet.nix
@@ -9,6 +9,7 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules qttools ];
-  buildInputs = [ hunspell qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ hunspell qttools ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix b/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
index ebc33a8346e..82c8f323a0d 100644
--- a/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
+++ b/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
@@ -8,6 +8,7 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
-  nativeBuildInputs = [ extra-cmake-modules perl qttools ];
-  buildInputs = [ qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules perl ];
+  buildInputs = [ qttools ];
+  propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/threadweaver.nix b/pkgs/development/libraries/kde-frameworks/threadweaver.nix
index 3afedf18ecb..8861d2853ba 100644
--- a/pkgs/development/libraries/kde-frameworks/threadweaver.nix
+++ b/pkgs/development/libraries/kde-frameworks/threadweaver.nix
@@ -1,5 +1,7 @@
-{ mkDerivation, lib
-, extra-cmake-modules, qtbase
+{
+  mkDerivation, lib,
+  extra-cmake-modules,
+  qtbase
 }:
 
 mkDerivation {
@@ -9,5 +11,6 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.6.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ];
+  propagatedBuildInputs = [ qtbase ];
+  outputs = [ "out" "dev" ];
 }