about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-02-06 19:43:36 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2020-02-06 19:43:36 +0100
commit38cf6eac193b89701cf25ffa734a2edf44ddb8e8 (patch)
tree3a058d099959112d2c8d732e340af1b191558088 /pkgs
parent2016305d7a53388a5f84c14ba143f451267e92f6 (diff)
parent8f584be88642a29db3ef63be34aaa1b2353e004a (diff)
downloadnixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.tar
nixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.tar.gz
nixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.tar.bz2
nixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.tar.lz
nixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.tar.xz
nixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.tar.zst
nixlib-38cf6eac193b89701cf25ffa734a2edf44ddb8e8.zip
Merge master into staging-next
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/quilter/default.nix4
-rw-r--r--pkgs/applications/misc/mapproxy/default.nix63
-rw-r--r--pkgs/applications/networking/browsers/next/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix6
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix12
-rw-r--r--pkgs/applications/version-management/git-repo/import-ssl-module.patch10
-rw-r--r--pkgs/applications/version-management/gogs/default.nix4
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kscreen.nix12
-rw-r--r--pkgs/desktops/plasma-5/kwayland-integration.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch25
-rw-r--r--pkgs/desktops/plasma-5/kwin/0002-xwayland.patch (renamed from pkgs/desktops/plasma-5/kwin/xwayland.patch)22
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix8
-rw-r--r--pkgs/desktops/plasma-5/kwin/follow-symlinks.patch13
-rw-r--r--pkgs/desktops/plasma-5/kwin/no-setcap-install.patch24
-rw-r--r--pkgs/desktops/plasma-5/kwin/series3
-rw-r--r--pkgs/desktops/plasma-5/milou.nix6
-rw-r--r--pkgs/desktops/plasma-5/plasma-browser-integration.nix15
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch129
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch22
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix68
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch1008
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix371
-rw-r--r--pkgs/development/interpreters/python/default.nix4
-rw-r--r--pkgs/development/libraries/gusb/default.nix4
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix6
-rw-r--r--pkgs/development/libraries/libxmlb/installed-tests-path.patch20
-rw-r--r--pkgs/development/libraries/totem-pl-parser/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bistro/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-lint/default.nix1
-rw-r--r--pkgs/development/python-modules/datasette/default.nix4
-rw-r--r--pkgs/development/python-modules/hglib/default.nix16
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix4
-rw-r--r--pkgs/development/python-modules/mahotas/default.nix4
-rw-r--r--pkgs/development/python-modules/moviepy/default.nix6
-rw-r--r--pkgs/development/python-modules/nbformat/2.nix41
-rw-r--r--pkgs/development/python-modules/nbformat/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/numba/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfftw/default.nix4
-rw-r--r--pkgs/development/python-modules/pyosmium/default.nix31
-rw-r--r--pkgs/development/python-modules/seaborn/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix15
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix4
-rw-r--r--pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--pkgs/development/tools/rust/racer/default.nix8
-rw-r--r--pkgs/misc/brightnessctl/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/python/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch34
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix19
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/no-which.patch31
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/deps.nix4
-rw-r--r--pkgs/tools/admin/bash-my-aws/default.nix71
-rw-r--r--pkgs/tools/admin/procs/default.nix4
-rw-r--r--pkgs/tools/misc/screen/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/networking/megatools/default.nix12
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix6
67 files changed, 812 insertions, 1462 deletions
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
index ceb119a5f0a2..87dc1a6cfe79 100644
--- a/pkgs/applications/editors/quilter/default.nix
+++ b/pkgs/applications/editors/quilter/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quilter";
-  version = "2.0.5";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "1gij5gqidzvwym7yq5fx0344n4fkydx5diwz8g8kwkcsz7z1w45a";
+    sha256 = "1756gp3f2pmxz2k4xg4cfdbdav848qb0vjglyiy1n2k9xc79dyxz";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/mapproxy/default.nix b/pkgs/applications/misc/mapproxy/default.nix
new file mode 100644
index 000000000000..efdfbaadd3da
--- /dev/null
+++ b/pkgs/applications/misc/mapproxy/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, pkgs
+, python
+}:
+let
+  py = python.override {
+    packageOverrides = self: super: {
+      pyproj = super.pyproj.overridePythonAttrs (oldAttrs: rec {
+      version = "1.9.6";
+      src = pkgs.fetchFromGitHub {
+        owner = "pyproj4";
+        repo = "pyproj";
+        rev = "v${version}rel";
+        sha256 = "sha256:18v4h7jx4mcc0x2xy8y7dfjq9bzsyxs8hdb6v67cabvlz2njziqy";
+      };
+      nativeBuildInputs = with python.pkgs; [ cython ];
+      patches = [ ];
+      checkPhase = ''
+        runHook preCheck
+        pushd unittest  # changing directory should ensure we're importing the global pyproj
+        ${python.interpreter} test.py && ${python.interpreter} -c "import doctest, pyproj, sys; sys.exit(doctest.testmod(pyproj)[0])"
+        popd
+        runHook postCheck
+      '';
+      });
+    };
+  };
+in
+with py.pkgs;
+buildPythonApplication rec {
+  pname = "MapProxy";
+  version = "1.12.0";
+  src = fetchPypi {
+  inherit pname version;
+  sha256 = "622e3a7796ef861ba21e42231b49c18d00d75f03eaf3f01a2b7687be7568e2ec";
+  };
+  prePatch = ''
+    substituteInPlace mapproxy/util/ext/serving.py --replace "args = [sys.executable] + sys.argv" "args = sys.argv"
+  '';
+  propagatedBuildInputs = [
+    pillow
+    pyyaml
+    pyproj
+    shapely
+    gdal
+    lxml
+    setuptools
+  ];
+  # Tests are disabled:
+  # 1) Dependency list is huge.
+  #    https://github.com/mapproxy/mapproxy/blob/master/requirements-tests.txt
+  #
+  # 2) There are security issues with package Riak
+  #    https://github.com/NixOS/nixpkgs/issues/33876
+  #    https://github.com/NixOS/nixpkgs/pull/56480
+  doCheck = false;
+  meta = with lib; {
+  description = "MapProxy is an open source proxy for geospatial data";
+  homepage = https://mapproxy.org/;
+  license = licenses.asl20;
+  maintainers = with maintainers; [ rakesh4g ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix
index 4aabb84393fa..22f0cf928ab6 100644
--- a/pkgs/applications/networking/browsers/next/default.nix
+++ b/pkgs/applications/networking/browsers/next/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "next";
-  version = "1.3.4";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "atlas-engineer";
     repo = "next";
     rev = version;
-    sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
+    sha256 = "1gkmr746rqqg94698a051gv79fblc8n9dq0zg04llba44adhpmjl";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
     cl-annot
     cl-ansi-text
     cl-css
-    cl-hooks
     cl-json
     cl-markup
     cl-ppcre
@@ -52,12 +51,15 @@ stdenv.mkDerivation rec {
     lparallel
     mk-string-metrics
     parenscript
+    plump
     quri
+    serapeum
     sqlite
     str
     swank
     trivia
     trivial-clipboard
+    trivial-types
     unix-opts
   ];
 
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 6cc7735efeb0..30fc9264ae1d 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,20 +5,20 @@ buildGoPackage rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
      running in development environment and try to serve assets from the
      source tree, which is not there once build completes.  */
-  version = "0.10.13";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner  = "windmilleng";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "02xlqgmmn1a7pz6sliharz8l9fbn2raxqkm75qxdqs1ncbvgc65k";
+    sha256 = "035czgr0rn6gcv24vnlr35n9yvy0fwq4spdzsc76gfxckcbcmzz0";
   };
 
   goPackagePath = "github.com/windmilleng/tilt";
 
   subPackages = [ "cmd/tilt" ];
 
-  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-10-04");
+  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2020-01-25");
 
   meta = with stdenv.lib; {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 077511a06607..ae8cfb3abc7f 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -1,25 +1,27 @@
 { stdenv, fetchFromGitHub, makeWrapper
-, python3, git, gnupg, less, cacert
+, python3, git, gnupg, less
 }:
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "1.13.9.1";
+  version = "1.13.9.2";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "0yns7n8gpac33cbkm85slslcnfdb55ax9c0vpvmmfbgcgkvqlknb";
+    sha256 = "1a6vyj7a9qba9nidi6x3hkpvpzikskh5jsagzkx7m95p0hcvvb7v";
   };
 
+  patches = [ ./import-ssl-module.patch ];
+
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ python3 ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace repo --replace \
       'urllib.request.urlopen(url)' \
-      'urllib.request.urlopen(url, cafile="${cacert}/etc/ssl/certs/ca-bundle.crt")'
+      'urllib.request.urlopen(url, context=ssl.create_default_context())'
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/version-management/git-repo/import-ssl-module.patch b/pkgs/applications/version-management/git-repo/import-ssl-module.patch
new file mode 100644
index 000000000000..783a2c17dee9
--- /dev/null
+++ b/pkgs/applications/version-management/git-repo/import-ssl-module.patch
@@ -0,0 +1,10 @@
+--- a/repo	2020-02-05 21:11:52.773854798 +0100
++++ b/repo	2020-02-05 21:12:34.018329462 +0100
+@@ -137,6 +137,7 @@
+ import stat
+ import subprocess
+ import sys
++import ssl
+ 
+ if sys.version_info[0] == 3:
+   import urllib.request
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index d06ae234ae92..fedb000e42de 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gogs";
-  version = "0.11.86";
+  version = "0.11.91";
 
   src = fetchFromGitHub {
     owner = "gogs";
     repo = "gogs";
     rev = "v${version}";
-    sha256 = "0l8mwy0cyy3cdxqinf8ydb35kf7c8pj09xrhpr7rr7lldnvczabw";
+    sha256 = "1yfimgjg9n773kdml17119539w9736mi66bivpv5yp3cj2hj9mlj";
   };
 
   patches = [ ./static-root-path.patch ];
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index 218af2d9b3c3..a6751b0938ec 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20200102";
+  version = "20200201";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "0jnx6prgrwz9i979a20sd58dwhsz8cakvl8ickakadca1j7gs7kb";
+    sha256 = "06scfncid3mhc99lj7iq99la5ls7gsc9kzzccbvcbfnvpzlmwjfh";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index e2e6da6f07c2..d871ceb28757 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.16.5/ )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.17.5/ )
diff --git a/pkgs/desktops/plasma-5/kscreen.nix b/pkgs/desktops/plasma-5/kscreen.nix
index 422bb95c6059..d46d48b9c5bf 100644
--- a/pkgs/desktops/plasma-5/kscreen.nix
+++ b/pkgs/desktops/plasma-5/kscreen.nix
@@ -1,17 +1,17 @@
 {
   mkDerivation,
   extra-cmake-modules,
-  kconfig, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n, kwidgetsaddons,
-  kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects, kwindowsystem, 
-  kdeclarative, plasma-framework
+  kconfig, kcmutils, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n,
+  kwidgetsaddons, kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects,
+  kwindowsystem, kdeclarative, plasma-framework
 }:
 
 mkDerivation {
   name = "kscreen";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    kconfig kconfigwidgets kdbusaddons kglobalaccel ki18n kwidgetsaddons kxmlgui
-    libkscreen qtdeclarative qtgraphicaleffects kwindowsystem kdeclarative
-    plasma-framework
+    kconfig kcmutils kconfigwidgets kdbusaddons kglobalaccel ki18n
+    kwidgetsaddons kxmlgui libkscreen qtdeclarative qtgraphicaleffects
+    kwindowsystem kdeclarative plasma-framework
   ];
 }
diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix
index 1344b477f736..667d3ead1768 100644
--- a/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -1,11 +1,11 @@
 {
   mkDerivation,
   extra-cmake-modules,
-  kidletime, kwayland, kwindowsystem, qtbase,
+  kguiaddons, kidletime, kwayland, kwindowsystem, qtbase,
 }:
 
 mkDerivation {
   name = "kwayland-integration";
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ kidletime kwindowsystem kwayland qtbase ];
+  buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase ];
 }
diff --git a/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch b/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
new file mode 100644
index 000000000000..4861df46ca63
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
@@ -0,0 +1,25 @@
+From 449896c45b23f50c168d8d2789832024c906ec36 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Mon, 27 Jan 2020 05:31:13 -0600
+Subject: [PATCH 1/2] follow symlinks
+
+---
+ plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp b/plugins/kdecorations/aurorae/src/aurorae.cpp
+index fd723a8..fb95633 100644
+--- a/plugins/kdecorations/aurorae/src/aurorae.cpp
++++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
+@@ -211,7 +211,7 @@ void Helper::init()
+     // so let's try to locate our plugin:
+     QString pluginPath;
+     for (const QString &path : m_engine->importPathList()) {
+-        QDirIterator it(path, QDirIterator::Subdirectories);
++        QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             it.next();
+             QFileInfo fileInfo = it.fileInfo();
+-- 
+2.23.1
+
diff --git a/pkgs/desktops/plasma-5/kwin/xwayland.patch b/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
index 9d405b3bbb86..0505810abe60 100644
--- a/pkgs/desktops/plasma-5/kwin/xwayland.patch
+++ b/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
@@ -1,8 +1,17 @@
-Index: kwin-5.15.5/xwl/xwayland.cpp
-===================================================================
---- kwin-5.15.5.orig/xwl/xwayland.cpp
-+++ kwin-5.15.5/xwl/xwayland.cpp
-@@ -143,7 +143,7 @@ void Xwayland::init()
+From d584b075d71c4486710c0bbed6d44038f2ff5075 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Mon, 27 Jan 2020 05:31:23 -0600
+Subject: [PATCH 2/2] xwayland
+
+---
+ xwl/xwayland.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xwl/xwayland.cpp b/xwl/xwayland.cpp
+index 5f17d39..b4b69ba 100644
+--- a/xwl/xwayland.cpp
++++ b/xwl/xwayland.cpp
+@@ -145,7 +145,7 @@ void Xwayland::init()
  
      m_xwaylandProcess = new Process(this);
      m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel);
@@ -11,3 +20,6 @@ Index: kwin-5.15.5/xwl/xwayland.cpp
      QProcessEnvironment env = m_app->processStartupEnvironment();
      env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
      env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM"));
+-- 
+2.23.1
+
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index b8f381e97149..0e1709d8245c 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -14,6 +14,9 @@
   plasma-framework, qtsensors, libcap, libdrm
 }:
 
+# TODO (ttuegel): investigate qmlplugindump failure
+# TODO (ttuegel): investigate gbm dependency
+
 mkDerivation {
   name = "kwin";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
@@ -30,7 +33,10 @@ mkDerivation {
     libcap libdrm
   ];
   outputs = [ "bin" "dev" "out" ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  patches = [
+    ./0001-follow-symlinks.patch
+    ./0002-xwayland.patch
+  ];
   CXXFLAGS = [
     ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
   ];
diff --git a/pkgs/desktops/plasma-5/kwin/follow-symlinks.patch b/pkgs/desktops/plasma-5/kwin/follow-symlinks.patch
deleted file mode 100644
index 60b8f5ef541f..000000000000
--- a/pkgs/desktops/plasma-5/kwin/follow-symlinks.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: kwin-5.7.3/plugins/kdecorations/aurorae/src/aurorae.cpp
-===================================================================
---- kwin-5.7.3.orig/plugins/kdecorations/aurorae/src/aurorae.cpp
-+++ kwin-5.7.3/plugins/kdecorations/aurorae/src/aurorae.cpp
-@@ -211,7 +211,7 @@ void Helper::init()
-     // so let's try to locate our plugin:
-     QString pluginPath;
-     for (const QString &path : m_engine->importPathList()) {
--        QDirIterator it(path, QDirIterator::Subdirectories);
-+        QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
-         while (it.hasNext()) {
-             it.next();
-             QFileInfo fileInfo = it.fileInfo();
diff --git a/pkgs/desktops/plasma-5/kwin/no-setcap-install.patch b/pkgs/desktops/plasma-5/kwin/no-setcap-install.patch
deleted file mode 100644
index 80aacacc6ca0..000000000000
--- a/pkgs/desktops/plasma-5/kwin/no-setcap-install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Dont set capabilities on kwin_wayland executable at build time
-
-This is handled by security.wrappers on NixOS
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 48cbcdbfe..93b410ed8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -674,15 +674,6 @@ if (HAVE_LIBCAP)
- endif()
-
- install(TARGETS kwin_wayland         ${INSTALL_TARGETS_DEFAULT_ARGS} )
--if (HAVE_LIBCAP)
--    install(
--    CODE "execute_process(
--            COMMAND
--                ${SETCAP_EXECUTABLE}
--                CAP_SYS_NICE=+ep
--                \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_BINDIR}/kwin_wayland)"
--    )
--endif()
-
- add_subdirectory(platformsupport)
- add_subdirectory(plugins)
diff --git a/pkgs/desktops/plasma-5/kwin/series b/pkgs/desktops/plasma-5/kwin/series
deleted file mode 100644
index 8efb74eabd67..000000000000
--- a/pkgs/desktops/plasma-5/kwin/series
+++ /dev/null
@@ -1,3 +0,0 @@
-follow-symlinks.patch
-xwayland.patch
-no-setcap-install.patch
diff --git a/pkgs/desktops/plasma-5/milou.nix b/pkgs/desktops/plasma-5/milou.nix
index db019db358bb..790979d664fc 100644
--- a/pkgs/desktops/plasma-5/milou.nix
+++ b/pkgs/desktops/plasma-5/milou.nix
@@ -1,15 +1,15 @@
 {
   mkDerivation,
   extra-cmake-modules,
-  kcoreaddons, kdeclarative, ki18n, krunner, kservice, plasma-framework,
-  qtscript, qtdeclarative
+  kcoreaddons, kdeclarative, ki18n, kitemmodels, krunner, kservice,
+  plasma-framework, qtscript, qtdeclarative
 }:
 
 mkDerivation {
   name = "milou";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    kcoreaddons kdeclarative ki18n krunner kservice plasma-framework
+    kcoreaddons kdeclarative ki18n kitemmodels krunner kservice plasma-framework
     qtdeclarative qtscript
   ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-browser-integration.nix b/pkgs/desktops/plasma-5/plasma-browser-integration.nix
index e01efabe8a6a..f6855cb34da1 100644
--- a/pkgs/desktops/plasma-5/plasma-browser-integration.nix
+++ b/pkgs/desktops/plasma-5/plasma-browser-integration.nix
@@ -1,11 +1,18 @@
-{ mkDerivation, extra-cmake-modules, qtbase, kio, ki18n, kconfig
-, kdbusaddons, knotifications, krunner, kwindowsystem, kactivities
+{
+  mkDerivation,
+  extra-cmake-modules,
+  qtbase,
+  kfilemetadata, kio, ki18n, kconfig , kdbusaddons, knotifications, kpurpose,
+  krunner, kwindowsystem, kactivities,
 }:
 
 mkDerivation {
   name = "plasma-browser-integration";
   nativeBuildInputs = [
-    extra-cmake-modules qtbase kio ki18n kconfig kdbusaddons
-    knotifications krunner kwindowsystem kactivities
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    qtbase kfilemetadata kio ki18n kconfig kdbusaddons knotifications kpurpose
+    krunner kwindowsystem kactivities
   ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
new file mode 100644
index 000000000000..d230e1270bea
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
@@ -0,0 +1,129 @@
+From 1796822e4c97062b919a596ce13db68e2c46c7e8 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 28 Jan 2020 05:00:53 -0600
+Subject: [PATCH 1/2] startkde
+
+---
+ startkde/startplasma-waylandsession.cpp |  2 +-
+ startkde/startplasma-x11.cpp            |  2 +-
+ startkde/startplasma.cpp                | 32 ++++++++-----------------
+ 3 files changed, 12 insertions(+), 24 deletions(-)
+
+diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
+index 87c71c6..5fc5314 100644
+--- a/startkde/startplasma-waylandsession.cpp
++++ b/startkde/startplasma-waylandsession.cpp
+@@ -67,7 +67,7 @@ int main(int /*argc*/, char** /*argv*/)
+     waitForKonqi();
+     out << "startplasma-waylandsession: Shutting down...\n";
+ 
+-    runSync(QStringLiteral("kdeinit5_shutdown"), {});
++    runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
+ 
+     cleanupX11();
+     out << "startplasma-waylandsession: Done.\n";
+diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
+index 3314b62..14cbe29 100644
+--- a/startkde/startplasma-x11.cpp
++++ b/startkde/startplasma-x11.cpp
+@@ -111,7 +111,7 @@ int main(int /*argc*/, char** /*argv*/)
+ 
+     out << "startkde: Shutting down...\n";
+ 
+-    runSync(QStringLiteral("kdeinit5_shutdown"), {});
++    runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
+ 
+     cleanupPlasmaEnvironment();
+     cleanupX11();
+diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
+index e0f7004..8ac41fd 100644
+--- a/startkde/startplasma.cpp
++++ b/startkde/startplasma.cpp
+@@ -34,7 +34,7 @@ QTextStream out(stderr);
+ void messageBox(const QString &text)
+ {
+     out << text;
+-    runSync(QStringLiteral("xmessage"), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text});
++    runSync(QStringLiteral(NIXPKGS_XMESSAGE), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text});
+ }
+ 
+ QStringList allServices(const QLatin1String& prefix)
+@@ -184,14 +184,6 @@ void runEnvironmentScripts()
+         }
+     }
+     sourceFiles(scripts);
+-
+-    // 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
+-    // /usr/local.
+-    if (!qEnvironmentVariableIsSet("XDG_DATA_DIRS")) {
+-        qputenv("XDG_DATA_DIRS", KDE_INSTALL_FULL_DATAROOTDIR ":/usr/share:/usr/local/share");
+-    }
+ }
+ 
+ 
+@@ -240,15 +232,15 @@ void setupX11()
+ //     If the user has overwritten fonts, the cursor font may be different now
+ //     so don't move this up.
+ 
+-    runSync(QStringLiteral("xsetroot"), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
+-    runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("8t"), QStringLiteral("-set"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("true")});
+-    runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("32c"), QStringLiteral("-set"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("5")});
++    runSync(QStringLiteral(NIXPKGS_XSETROOT), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
++    runSync(QStringLiteral(NIXPKGS_XPROP), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("8t"), QStringLiteral("-set"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("true")});
++    runSync(QStringLiteral(NIXPKGS_XPROP), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("32c"), QStringLiteral("-set"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("5")});
+ }
+ 
+ void cleanupX11()
+ {
+-    runSync(QStringLiteral("xprop"), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_FULL_SESSION") });
+-    runSync(QStringLiteral("xprop"), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_SESSION_VERSION") });
++    runSync(QStringLiteral(NIXPKGS_XPROP), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_FULL_SESSION") });
++    runSync(QStringLiteral(NIXPKGS_XPROP), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_SESSION_VERSION") });
+ }
+ 
+ // TODO: Check if Necessary
+@@ -265,11 +257,7 @@ bool syncDBusEnvironment()
+ {
+     int exitCode;
+     // At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
+-    if (!QStandardPaths::findExecutable(QStringLiteral("dbus-update-activation-environment")).isEmpty()) {
+-        exitCode = runSync(QStringLiteral("dbus-update-activation-environment"), { QStringLiteral("--systemd"), QStringLiteral("--all") });
+-    } else {
+-        exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR "/ksyncdbusenv"), {});
+-    }
++		exitCode = runSync(QStringLiteral(NIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT), { QStringLiteral("--systemd"), QStringLiteral("--all") });
+     return exitCode == 0;
+ }
+ 
+@@ -285,7 +273,7 @@ void setupFontDpi()
+     //TODO port to c++?
+     const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0));
+     QProcess p;
+-    p.start(QStringLiteral("xrdb"), { QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp") });
++    p.start(QStringLiteral(NIXPKGS_XRDB), { QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp") });
+     p.setProcessChannelMode(QProcess::ForwardedChannels);
+     p.write(input);
+     p.closeWriteChannel();
+@@ -307,7 +295,7 @@ QProcess* setupKSplash()
+         KConfigGroup ksplashCfg = cfg.group("KSplash");
+         if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
+             p = new QProcess;
+-            p->start(QStringLiteral("ksplashqml"), { ksplashCfg.readEntry("Theme", QStringLiteral("Breeze")) });
++            p->start(QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/ksplashqml"), { ksplashCfg.readEntry("Theme", QStringLiteral("Breeze")) });
+         }
+     }
+     return p;
+@@ -329,7 +317,7 @@ bool startKDEInit()
+ {
+     // We set LD_BIND_NOW to increase the efficiency of kdeinit.
+     // kdeinit unsets this variable before loading applications.
+-    const int exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
++    const int exitCode = runSync(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
+     if (exitCode != 0) {
+         messageBox(QStringLiteral("startkde: Could not start kdeinit5. Check your installation."));
+         return false;
+-- 
+2.23.1
+
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch b/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
new file mode 100644
index 000000000000..8fa9e1d31cff
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
@@ -0,0 +1,22 @@
+From 7c6f939aea290bc3ec7629f26d02441d1d4bcb8a Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Wed, 5 Feb 2020 05:03:11 -0600
+Subject: [PATCH 2/2] absolute-wallpaper-install-dir
+
+---
+ sddm-theme/theme.conf.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
+index ea9a943..c8458ba 100644
+--- a/sddm-theme/theme.conf.cmake
++++ b/sddm-theme/theme.conf.cmake
+@@ -2,4 +2,4 @@
+ type=image
+ color=#1d99f3
+ fontSize=10
+-background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/5120x2880.png
++background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.png
+-- 
+2.23.1
+
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 1403c9e4c8b7..6aa0e3b57382 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -6,12 +6,12 @@
   coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor,
   libXtst, pam, wayland, xmessage, xprop, xrdb, xsetroot,
 
-  baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative,
-  kdelibs4support, kdesu, kglobalaccel, kidletime, kinit, kjsembed, knewstuff,
-  knotifyconfig, kpackage, krunner, kscreenlocker, ktexteditor, ktextwidgets,
-  kwallet, kwayland, kwin, kxmlrpcclient, libkscreen, libksysguard, libqalculate,
-  networkmanager-qt, phonon, plasma-framework, prison, solid, kholidays,
-  breeze-qt5,
+  baloo, breeze-qt5, kactivities, kactivities-stats, kcmutils, kconfig, kcrash,
+  kdbusaddons, kdeclarative, kdelibs4support, kdesu, kglobalaccel, kidletime,
+  kinit, kjsembed, knewstuff, knotifyconfig, kpackage, kpeople, krunner,
+  kscreenlocker, ktexteditor, ktextwidgets, kwallet, kwayland, kwin,
+  kxmlrpcclient, libkscreen, libksysguard, libqalculate, networkmanager-qt,
+  phonon, plasma-framework, prison, solid, kholidays,
 
   qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools,
   qtwayland, qtx11extras,
@@ -26,11 +26,12 @@ mkDerivation {
   buildInputs = [
     isocodes libdbusmenu libSM libXcursor libXtst pam wayland
 
-    baloo kactivities kcmutils kconfig kcrash kdbusaddons kdeclarative
-    kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
-    knotifyconfig kpackage krunner kscreenlocker ktexteditor ktextwidgets
-    kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard libqalculate
-    networkmanager-qt phonon plasma-framework prison solid kholidays
+    baloo kactivities kactivities-stats kcmutils kconfig kcrash kdbusaddons
+    kdeclarative kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
+    knotifyconfig kpackage kpeople krunner kscreenlocker ktexteditor
+    ktextwidgets kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard
+    libqalculate networkmanager-qt phonon plasma-framework prison solid
+    kholidays
 
     qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras
   ];
@@ -38,41 +39,22 @@ mkDerivation {
   outputs = [ "out" "dev" ];
 
   cmakeFlags = [
-    "-DNIXPKGS_XMESSAGE=${getBin xmessage}/bin/xmessage"
-    "-DNIXPKGS_MKDIR=${getBin coreutils}/bin/mkdir"
-    "-DNIXPKGS_XRDB=${getBin xrdb}/bin/xrdb"
-    "-DNIXPKGS_QTPATHS=${getBin qttools}/bin/qtpaths"
-    "-DNIXPKGS_XSETROOT=${getBin xsetroot}/bin/xsetroot"
-    "-DNIXPKGS_XPROP=${getBin xprop}/bin/xprop"
-    "-DNIXPKGS_ID=${getBin coreutils}/bin/id"
-    "-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT=${getBin dbus}/bin/dbus-update-activation-environment"
-    "-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"
-    "-DNIXPKGS_QDBUS=${getBin qttools}/bin/qdbus"
-    "-DNIXPKGS_KWRAPPER5=${getBin kinit}/bin/kwrapper5"
-    "-DNIXPKGS_KREADCONFIG5=${getBin kconfig}/bin/kreadconfig5"
-    "-DNIXPKGS_GREP=${getBin gnugrep}/bin/grep"
-    "-DNIXPKGS_KDEINIT5_SHUTDOWN=${getBin kinit}/bin/kdeinit5_shutdown"
-    "-DNIXPKGS_SED=${getBin gnused}/bin/sed"
-    "-DNIXPKGS_WALLPAPER_INSTALL_DIR=${getBin breeze-qt5}/share/wallpapers/"
+    ''-DNIXPKGS_BREEZE_WALLPAPERS=${getBin breeze-qt5}/share/wallpapers''
   ];
 
-  # To regenerate ./plasma-workspace.patch,
-  #
-  # > git clone https://github.com/ttuegel/plasma-workspace
-  # > cd plasma-workspace
-  # > git checkout nixpkgs/$x.$y  # where $x.$y.$z == $version
-  # ... make some commits ...
-  # > git diff v$x.$y.$z
-  #
-  # Add upstream patches to the list below. For new patchs, particularly if not
-  # submitted upstream, please make a pull request and add it to
-  # ./plasma-workspace.patch.
   patches = [
-    ./plasma-workspace.patch
+    ./0001-startkde.patch
+    ./0002-absolute-wallpaper-install-dir.patch
   ];
 
-  preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\""
-    cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/libexec/startplasma"
-  '';
+
+  NIX_CFLAGS_COMPILE = [
+    ''-DNIXPKGS_XMESSAGE="${getBin xmessage}/bin/xmessage"''
+    ''-DNIXPKGS_XRDB="${getBin xrdb}/bin/xrdb"''
+    ''-DNIXPKGS_XSETROOT="${getBin xsetroot}/bin/xsetroot"''
+    ''-DNIXPKGS_XPROP="${getBin xprop}/bin/xprop"''
+    ''-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT="${getBin dbus}/bin/dbus-update-activation-environment"''
+    ''-DNIXPKGS_START_KDEINIT_WRAPPER="${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"''
+    ''-DNIXPKGS_KDEINIT5_SHUTDOWN="${getBin kinit}/bin/kdeinit5_shutdown"''
+  ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
deleted file mode 100644
index 5159328ed3fe..000000000000
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ /dev/null
@@ -1,1008 +0,0 @@
-diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
-index ea9a943..f98ddd2 100644
---- a/sddm-theme/theme.conf.cmake
-+++ b/sddm-theme/theme.conf.cmake
-@@ -2,4 +2,4 @@
- type=image
- color=#1d99f3
- fontSize=10
--background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/5120x2880.png
-+background=${NIXPKGS_WALLPAPER_INSTALL_DIR}/Next/contents/images/5120x2880.png
-diff --git a/startkde/CMakeLists.txt b/startkde/CMakeLists.txt
-index 6a1a212..f03fd34 100644
---- a/startkde/CMakeLists.txt
-+++ b/startkde/CMakeLists.txt
-@@ -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")
--endif()
--
- configure_file(startkde.cmake ${CMAKE_CURRENT_BINARY_DIR}/startkde  @ONLY)
- configure_file(startplasmacompositor.cmake ${CMAKE_CURRENT_BINARY_DIR}/startplasmacompositor  @ONLY)
- configure_file(startplasma.cmake ${CMAKE_CURRENT_BINARY_DIR}/startplasma  @ONLY)
-diff --git a/startkde/kstartupconfig/kstartupconfig.cpp b/startkde/kstartupconfig/kstartupconfig.cpp
-index 493218e..d507aa5 100644
---- a/startkde/kstartupconfig/kstartupconfig.cpp
-+++ b/startkde/kstartupconfig/kstartupconfig.cpp
-@@ -147,5 +147,5 @@ int main()
-     fclose( keys );
-     fclose( config );
-   doit:
--    return system( "kdostartupconfig5" );
-+    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
-     }
-diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index b68f0c6..97a13a1 100644
---- a/startkde/startkde.cmake
-+++ b/startkde/startkde.cmake
-@@ -1,22 +1,31 @@
- #!/bin/sh
- #
--#  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
-+    QT_XCB_FORCE_SOFTWARE_OPENGL=1
-+    export KWIN_COMPOSE KDE_FAILSAFE QT_XCB_FORCE_SOFTWARE_OPENGL
-+fi
-+
- # 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
-+unset DYLD_FORCE_FLAT_NAMESPACE
-+
-+# Check if a KDE session already is running and whether it's possible to connect to X
-+@CMAKE_INSTALL_FULL_BINDIR@/kcheckrunning
- kcheckrunning_result=$?
--if test $kcheckrunning_result -eq 0 ; then
--	echo "Plasma seems to be already running on this display."
--	xmessage -geometry 500x100 "Plasma seems to be already running on this display." > /dev/null 2>/dev/null
--	exit 1
--elif test $kcheckrunning_result -eq 2 ; then
--	echo "\$DISPLAY is not set or cannot connect to the X server."
--        exit 1
-+if [ $kcheckrunning_result -eq 0 ]; then
-+    echo "KDE seems to be already running on this display."
-+    exit 1
-+elif [ $kcheckrunning_result -eq 2 ]; then
-+    echo "\$DISPLAY is not set or cannot connect to the X server."
-+    exit 1
- fi
-
- # Boot sequence:
-@@ -33,62 +42,143 @@ 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
--  configDir=${HOME}/.config; #this is the default, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
-+export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
-+@NIXPKGS_MKDIR@ -p "$XDG_CONFIG_HOME"
-+
-+# The KDE icon cache is supposed to update itself
-+# automatically, but it uses the timestamp on the icon
-+# theme directory as a trigger.  Since in Nix the
-+# timestamp is always the same, this doesn't work.  So as
-+# a workaround, nuke the icon cache on login.  This isn't
-+# perfect, since it may require logging out after
-+# installing new applications to update the cache.
-+# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
-+rm -fv $HOME/.cache/icon-cache.kcache
-+
-+# xdg-desktop-settings generates this empty file but
-+# it makes kbuildsyscoca5 fail silently. To fix this
-+# remove that menu if it exists.
-+rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
-+
-+# Remove the kbuildsyscoca5 cache. It will be regenerated immediately after.
-+# This is necessary for kbuildsyscoca5 to recognize that software that has been removed.
-+rm -fv $HOME/.cache/ksycoca*
-+
-+# Qt writes a weird ‘libraryPath’ line to
-+# ~/.config/Trolltech.conf that causes the KDE plugin
-+# paths of previous KDE invocations to be searched.
-+# Obviously using mismatching KDE libraries is potentially
-+# disastrous, so here we nuke references to the Nix store
-+# in Trolltech.conf.  A better solution would be to stop
-+# Qt from doing this wackiness in the first place.
-+if [ -e $XDG_CONFIG_HOME/Trolltech.conf ]; then
-+    @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@
-+
-+# Set the default GTK 2 theme
-+gtkrc2="$HOME/.gtkrc-2.0"
-+breeze_gtkrc2="/run/current-system/sw/share/themes/Breeze/gtk-2.0/gtkrc"
-+if ! [ -e "$gtkrc2" ] && [ -e "$breeze_gtkrc2" ]; then
-+    cat >"$gtkrc2" <<EOF
-+# Default GTK+ 2 config for NixOS KDE 5
-+include "$breeze_gtkrc2"
-+style "user-font"
-+{
-+  font_name="Sans Serif Regular"
-+}
-+widget_class "*" style "user-font"
-+gtk-font-name="Sans Serif Regular 10"
-+gtk-theme-name="Breeze"
-+gtk-icon-theme-name="breeze"
-+gtk-fallback-icon-theme="hicolor"
-+gtk-cursor-theme-name="breeze_cursors"
-+gtk-toolbar-style=GTK_TOOLBAR_ICONS
-+gtk-menu-images=1
-+gtk-button-images=1
-+EOF
-+fi
-+
-+# Set the default GTK 3 theme
-+gtk3_settings="$XDG_CONFIG_HOME/gtk-3.0/settings.ini"
-+breeze_gtk3="/run/current-system/sw/share/themes/Breeze/gtk-3.0"
-+if ! [ -e "$gtk3_settings" ] && [ -e "$breeze_gtk" ]; then
-+    mkdir -p $(dirname "$gtk3_settings")
-+    cat >"$gtk3_settings" <<EOF
-+[Settings]
-+gtk-font-name=Sans Serif Regular 10
-+gtk-theme-name=Breeze
-+gtk-icon-theme-name=breeze
-+gtk-fallback-icon-theme=hicolor
-+gtk-cursor-theme-name=breeze_cursors
-+gtk-toolbar-style=GTK_TOOLBAR_ICONS
-+gtk-menu-images=1
-+gtk-button-images=1
-+EOF
-+fi
-+
-+kcminputrc="$XDG_CONFIG_HOME/kcminputrc"
-+if ! [ -e "$kcminputrc" ]; then
-+    cat >"$kcminputrc" <<EOF
-+[Mouse]
-+cursorTheme=breeze_cursors
-+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
- kcminputrc Mouse cursorTheme 'breeze_cursors'
- kcminputrc Mouse cursorSize ''
--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 || {
--cat >$plasmalocalerc <<EOF
-+plasmalocalerc="$XDG_CONFIG_HOME/plasma-localerc"
-+if ! [ -f "$plasmalocalerc" ]; then
-+    cat >"$plasmalocalerc" <<EOF
- [Formats]
- LANG=$LANG
- 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
--test -f $exportformatssettings && {
--    . $exportformatssettings
--}
-+exportformatssettings="$XDG_CONFIG_HOME/plasma-locale-settings.sh"
-+if [ -r "$exportformatssettings" ]; then
-+    . "$exportformatssettings"
-+fi
-
- # Write a default kdeglobals file to set up the font
--kdeglobalsfile=$configDir/kdeglobals
--test -f $kdeglobalsfile || {
--cat >$kdeglobalsfile <<EOF
-+kdeglobalsfile="$XDG_CONFIG_HOME/kdeglobals"
-+if ! [ -f "$kdeglobalsfile" ]; then
-+    cat >"$kdeglobalsfile" <<EOF
- [General]
--XftAntialias=true
--XftHintStyle=hintmedium
--XftSubPixel=none
-+fixed=Monospace,10,-1,5,50,0,0,0,0,0,Regular
-+font=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
-+menuFont=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
-+smallestReadableFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
-+toolBarFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
-+
-+[WM]
-+activeFont=Noto Sans,12,-1,5,50,0,0,0,0,0,Bold
- EOF
--}
-+fi
-
--kstartupconfig5
--returncode=$?
--if test $returncode -ne 0; then
--    xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
-+if ! @CMAKE_INSTALL_FULL_BINDIR@/kstartupconfig5; then
-+    echo "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." 1>&2
-     exit 1
- fi
--[ -r $configDir/startupconfig ] && . $configDir/startupconfig
--
-+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
-@@ -104,26 +194,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
-+export QT_QUICK_CONTROLS_STYLE=org.kde.desktop
-+
-+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@
--
-     kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
--    if test $? -eq 10; then
--        XCURSOR_THEME=breeze_cursors
--        export XCURSOR_THEME
--    elif test -n "$kcminputrc_mouse_cursortheme"; then
--        XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
--        export XCURSOR_THEME
-+    if [ $? -eq 10 ]; then
-+        export XCURSOR_THEME=breeze_cursors
-+    elif [ -n "$kcminputrc_mouse_cursortheme" ]; then
-+        export XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
-     fi
--    if test -n "$kcminputrc_mouse_cursorsize"; then
--        XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
--        export XCURSOR_SIZE
-+    if [ -n "$kcminputrc_mouse_cursorsize" ]; then
-+        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
-+    @NIXPKGS_XRDB@ -quiet -merge -nocpp <<EOF
- Xft.dpi: $kcmfonts_general_forcefontdpi
- EOF
- fi
-@@ -132,11 +229,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
-   # the splashscreen and progress indicator
-   case "$ksplashrc_ksplash_engine" in
-     KSplashQML)
--      ksplash_pid=`ksplashqml "${ksplashrc_ksplash_theme}" --pid`
-+      ksplash_pid=$(@CMAKE_INSTALL_FULL_BINDIR@/ksplashqml "${ksplashrc_ksplash_theme}" --pid)
-       ;;
-     None)
-       ;;
-@@ -145,27 +242,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.
--#
--# This is where you can define environment variables that will be available to
--# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
--# or eval `gpg-agent --daemon`.
--# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
--#
--# (see end of this file).
--# For anything else (that doesn't set env vars, or that needs a window manager),
--# better use the Autostart folder.
--
--scriptpath=`echo "$configDir:$sysConfigDirs" | tr ':' '\n'`
--
--for prefix in `echo $scriptpath`; do
--  for file in "$prefix"/plasma-workspace/env/*.sh; do
--    test -r "$file" && . "$file" || true
--  done
--done
--
- # 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
-@@ -221,44 +297,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
-+
-+# 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
-+# and /etc/xdg/ on Linux)
-+#
-+# This is where you can define environment variables that will be available to
-+# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
-+# or eval `gpg-agent --daemon`.
-+# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
-+#
-+# (see end of this file).
-+# For anything else (that doesn't set env vars, or that needs a window manager),
-+# better use the Autostart folder.
-+
-+IFS=":" read -r -a scriptpath <<< $(@NIXPKGS_QTPATHS@ --paths GenericConfigLocation)
-+# Add /env/ to the directory to locate the scripts to be sourced
-+for prefix in "${scriptpath[@]}"; do
-+    for file in "$prefix"/plasma-workspace/env/*.sh; do
-+        if [ -r "$file" ]; then
-+            . "$file"
-+        fi
-+    done
-+done
-+
- # 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
--    dbus-update-activation-environment --systemd --all
--else
--    @CMAKE_INSTALL_FULL_LIBEXECDIR@/ksyncdbusenv
--fi
--if test $? -ne 0; then
-+
-+if ! @NIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT@ --systemd --all; then
-   # Startup error
-   echo 'startkde: Could not sync environment to dbus.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  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
-+LD_BIND_NOW=true @NIXPKGS_START_KDEINIT_WRAPPER@ --kded +kcminit_startup
- if test $? -ne 0; then
-   # Startup error
-   echo 'startkde: Could not start kdeinit5. Check your installation.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  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
-@@ -270,12 +367,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.
--test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM"
-+if [ -n "$KDEWM" ]; then
-+    KDEWM="--windowmanager $KDEWM"
-+fi
- # If the session should be locked from the start (locked autologin),
- # lock now and do the rest of the KDE startup underneath the locker.
- KSMSERVEROPTIONS=""
--test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen"
--kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
-+if [ -n "$dl" ]; then
-+    KSMSERVEROPTIONS=" --lockscreen"
-+fi
-+@NIXPKGS_KWRAPPER5@ @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
- if test $? -eq 255; then
-   # Startup error
-   echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-@@ -286,19 +387,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`
-+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)
--    wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
-+    wait_drkonqi_timeout=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900)
-     wait_drkonqi_counter=0
--    while qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
-+    while @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ -q "^[^w]*org.kde.drkonqi" ; do
-         sleep 5
-         wait_drkonqi_counter=$((wait_drkonqi_counter+5))
--        if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
-+        if [ "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ]; then
-             # ask remaining drkonqis to die in a graceful way
--            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
--                qdbus "$address" "/MainApplication" "quit"
-+            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
-+                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
-             done
-             break
-         fi
-@@ -307,15 +408,17 @@ 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
- unset KDE_SESSION_VERSION
--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 1fe41c5..11757df 100644
---- a/startkde/startplasma.cmake
-+++ b/startkde/startplasma.cmake
-@@ -1,6 +1,6 @@
- #!/bin/sh
- #
--#  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;
--else
--  configDir=${HOME}/.config; #this is the default, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
-+export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
-+if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
-+    . "$XDG_CONFIG_HOME/startupconfig"
- fi
-
--[ -r $configDir/startupconfig ] && . $configDir/startupconfig
--
--xrdb -quiet -merge -nocpp <<EOF
-+if [ "$kcmfonts_general_forcefontdpi" -ne 0 ]; then
-+    @NIXPKGS_XRDB@ -quiet -merge -nocpp <<EOF
- 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
-   # the splashscreen and progress indicator
-   case "$ksplashrc_ksplash_engine" in
-     KSplashQML)
--      ksplash_pid=`ksplashqml "${ksplashrc_ksplash_theme}" --pid`
-+      ksplash_pid=$(@CMAKE_INSTALL_FULL_BINDIR@/ksplashqml "${ksplashrc_ksplash_theme}" --pid)
-       ;;
-     None)
-       ;;
-@@ -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
--else
--    GS_LIB=$usr_fdir
--    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
-@@ -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
-+LD_BIND_NOW=true @NIXPKGS_START_KDEINIT_WRAPPER@ --kded +kcminit_startup
- if test $? -ne 0; then
-   # Startup error
-   echo 'startplasma: Could not start kdeinit5. Check your installation.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  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
-@@ -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`
-+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)
--    wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
-+    wait_drkonqi_timeout=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900)
-     wait_drkonqi_counter=0
--    while qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
-+    while @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ -q "^[^w]*org.kde.drkonqi" ; do
-         sleep 5
-         wait_drkonqi_counter=$((wait_drkonqi_counter+5))
--        if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
-+        if [ "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ]; then
-             # ask remaining drkonqis to die in a graceful way
--            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
--                qdbus "$address" "/MainApplication" "quit"
-+            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
-+                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
-             done
-             break
-         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
- unset KDE_SESSION_VERSION
--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 dcb473a..0988740 100644
---- a/startkde/startplasmacompositor.cmake
-+++ b/startkde/startplasmacompositor.cmake
-@@ -1,118 +1,174 @@
- #!/bin/sh
- #
--#  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;
--else
--  configDir=${HOME}/.config; #this is the default, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
-+# we have to unset this for Darwin since it will screw up KDE's dynamic-loading
-+unset DYLD_FORCE_FLAT_NAMESPACE
-+
-+export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
-+@NIXPKGS_MKDIR@ -p "$XDG_CONFIG_HOME"
-+
-+# The KDE icon cache is supposed to update itself
-+# automatically, but it uses the timestamp on the icon
-+# theme directory as a trigger.  Since in Nix the
-+# timestamp is always the same, this doesn't work.  So as
-+# a workaround, nuke the icon cache on login.  This isn't
-+# perfect, since it may require logging out after
-+# installing new applications to update the cache.
-+# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
-+rm -fv $HOME/.cache/icon-cache.kcache
-+
-+# xdg-desktop-settings generates this empty file but
-+# it makes kbuildsyscoca5 fail silently. To fix this
-+# remove that menu if it exists.
-+rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
-+
-+# Remove the kbuildsyscoca5 cache. It will be regenerated immediately after.
-+# This is necessary for kbuildsyscoca5 to recognize that software that has been removed.
-+rm -fv $HOME/.cache/ksycoca*
-+
-+# Qt writes a weird ‘libraryPath’ line to
-+# ~/.config/Trolltech.conf that causes the KDE plugin
-+# paths of previous KDE invocations to be searched.
-+# Obviously using mismatching KDE libraries is potentially
-+# disastrous, so here we nuke references to the Nix store
-+# in Trolltech.conf.  A better solution would be to stop
-+# Qt from doing this wackiness in the first place.
-+if [ -e $XDG_CONFIG_HOME/Trolltech.conf ]; then
-+    @NIXPKGS_SED@ -e '/nix\\store\|nix\/store/ d' -i $XDG_CONFIG_HOME/Trolltech.conf
-+fi
-+
-+@NIXPKGS_KBUILDSYCOCA5@
-+
-+# Set the default GTK 2 theme
-+gtkrc2="$HOME/.gtkrc-2.0"
-+breeze_gtkrc2="/run/current-system/sw/share/themes/Breeze/gtk-2.0/gtkrc"
-+if ! [ -e "$gtkrc2" ] && [ -e "$breeze_gtkrc2" ]; then
-+    cat >"$gtkrc2" <<EOF
-+# Default GTK+ 2 config for NixOS KDE 5
-+include "$breeze_gtkrc2"
-+style "user-font"
-+{
-+  font_name="Sans Serif Regular"
-+}
-+widget_class "*" style "user-font"
-+gtk-font-name="Sans Serif Regular 10"
-+gtk-theme-name="Breeze"
-+gtk-icon-theme-name="breeze"
-+gtk-fallback-icon-theme="hicolor"
-+gtk-cursor-theme-name="breeze_cursors"
-+gtk-toolbar-style=GTK_TOOLBAR_ICONS
-+gtk-menu-images=1
-+gtk-button-images=1
-+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
-+gtk3_settings="$XDG_CONFIG_HOME/gtk-3.0/settings.ini"
-+breeze_gtk3="/run/current-system/sw/share/themes/Breeze/gtk-3.0"
-+if ! [ -e "$gtk3_settings" ] && [ -e "$breeze_gtk" ]; then
-+    mkdir -p $(dirname "$gtk3_settings")
-+    cat >"$gtk3_settings" <<EOF
-+[Settings]
-+gtk-font-name=Sans Serif Regular 10
-+gtk-theme-name=Breeze
-+gtk-icon-theme-name=breeze
-+gtk-fallback-icon-theme=hicolor
-+gtk-cursor-theme-name=breeze_cursors
-+gtk-toolbar-style=GTK_TOOLBAR_ICONS
-+gtk-menu-images=1
-+gtk-button-images=1
-+EOF
-+fi
-+
-+kcminputrc="$XDG_CONFIG_HOME/kcminputrc"
-+if ! [ -e "$kcminputrc" ]; then
-+    cat >"$kcminputrc" <<EOF
-+[Mouse]
-+cursorTheme=breeze_cursors
-+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
- kcminputrc Mouse cursorTheme 'breeze_cursors'
- kcminputrc Mouse cursorSize ''
--ksplashrc KSplash Theme Breeze
-+ksplashrc KSplash Theme org.kde.breeze.desktop
- ksplashrc KSplash Engine KSplashQML
--kcmfonts General forceFontDPIWayland 0
-+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 || {
--cat >$plasmalocalerc <<EOF
-+plasmalocalerc="$XDG_CONFIG_HOME/plasma-localerc"
-+if ! [ -f "$plasmalocalerc" ]; then
-+    cat >"$plasmalocalerc" <<EOF
- [Formats]
- LANG=$LANG
- 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
--test -f $exportformatssettings && {
--    . $exportformatssettings
--}
-+exportformatssettings="$XDG_CONFIG_HOME/plasma-locale-settings.sh"
-+if [ -r "$exportformatssettings" ]; then
-+    . "$exportformatssettings"
-+fi
-
- # Write a default kdeglobals file to set up the font
--kdeglobalsfile=$configDir/kdeglobals
--test -f $kdeglobalsfile || {
--cat >$kdeglobalsfile <<EOF
-+kdeglobalsfile="$XDG_CONFIG_HOME/kdeglobals"
-+if ! [ -f "$kdeglobalsfile" ]; then
-+    cat >"$kdeglobalsfile" <<EOF
- [General]
--XftAntialias=true
--XftHintStyle=hintmedium
--XftSubPixel=none
-+fixed=Monospace,10,-1,5,50,0,0,0,0,0,Regular
-+font=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
-+menuFont=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
-+smallestReadableFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
-+toolBarFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
-+
-+[WM]
-+activeFont=Noto Sans,12,-1,5,50,0,0,0,0,0,Bold
- EOF
--}
--
--# Make sure the Oxygen font is installed
--# This is necessary for setups where CMAKE_INSTALL_PREFIX
--# is not in /usr. fontconfig looks in /usr, ~/.fonts and
--# $XDG_DATA_HOME for fonts. In this case, we symlink the
--# Oxygen font under ${XDG_DATA_HOME} and make it known to
--# fontconfig
--
--usr_share="/usr/share"
--install_share="@KDE_INSTALL_FULL_DATADIR@"
--
--if [ ! $install_share = $usr_share ]; then
--
--    if [ ${XDG_DATA_HOME} ]; then
--        fontsDir="${XDG_DATA_HOME}/fonts"
--    else
--        fontsDir="${HOME}/.fonts"
--    fi
--
--    test -d $fontsDir || {
--        mkdir -p $fontsDir
--    }
--
--    oxygenDir=$fontsDir/truetype/oxygen
--    prefixDir="@KDE_INSTALL_FULL_DATADIR@/fonts/truetype/oxygen"
--
--    # if the oxygen dir doesn't exist, create a symlink to be sure that the
--    # Oxygen font is available to the user
--    test -d $oxygenDir || test -d $prefixDir && {
--        test -h $oxygenDir || ln -s $prefixDir $oxygenDir && fc-cache $oxygenDir
--    }
- fi
-
--kstartupconfig5
-+@CMAKE_INSTALL_FULL_BINDIR@/kstartupconfig5
- returncode=$?
- if test $returncode -ne 0; then
-     exit 1
- fi
--[ -r $configDir/startupconfig ] && . $configDir/startupconfig
-+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
-
--    # 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
--        XCURSOR_THEME=breeze_cursors
--        export XCURSOR_THEME
--    elif test -n "$kcminputrc_mouse_cursortheme"; then
--        XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
--        export XCURSOR_THEME
-+    if [ $? -eq 10 ]; then
-+        export XCURSOR_THEME=breeze_cursors
-+    elif [ -n "$kcminputrc_mouse_cursortheme" ]; then
-+        export XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
-     fi
--    if test -n "$kcminputrc_mouse_cursorsize"; then
--        XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
--        export XCURSOR_SIZE
-+    if [ -n "$kcminputrc_mouse_cursorsize" ]; then
-+        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 +176,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
-+if @NIXPKGS_QDBUS@ --system org.freedesktop.locale1 >/dev/null 2>/dev/null; then
-     # Do not overwrite existing values. There is no point in setting only some
-     # of them as then they would not match anymore.
-     if [ -z "${XKB_DEFAULT_MODEL}" -a -z "${XKB_DEFAULT_LAYOUT}" -a \
-@@ -141,41 +197,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
--# and /etc/xdg/ on Linux)
--#
--# This is where you can define environment variables that will be available to
--# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
--# or eval `gpg-agent --daemon`.
--# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
--#
--# (see end of this file).
--# For anything else (that doesn't set env vars, or that needs a window manager),
--# better use the Autostart folder.
--
--scriptpath=`echo "$configDir:$sysConfigDirs" | tr ':' '\n'`
--
--for prefix in `echo $scriptpath`; do
--  for file in "$prefix"/plasma-workspace/env/*.sh; do
--    test -r "$file" && . "$file" || true
--  done
--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
--# /usr/local.
--if test -z "$XDG_DATA_DIRS"; then
--XDG_DATA_DIRS="@KDE_INSTALL_FULL_DATADIR@:/usr/share:/usr/local/share"
--fi
--export XDG_DATA_DIRS
--
- # Make sure that D-Bus is running
--if qdbus >/dev/null 2>/dev/null; then
-+if @NIXPKGS_QDBUS@ >/dev/null 2>/dev/null; then
-     : # ok
- else
-     echo 'startplasmacompositor: Could not start D-Bus. Can you call qdbus?'  1>&2
-@@ -212,7 +237,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
-@@ -221,20 +246,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
-+# and /etc/xdg/ on Linux)
-+#
-+# This is where you can define environment variables that will be available to
-+# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
-+# or eval `gpg-agent --daemon`.
-+# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
-+#
-+# (see end of this file).
-+# For anything else (that doesn't set env vars, or that needs a window manager),
-+# better use the Autostart folder.
-+
-+IFS=":" read -r -a scriptpath <<< $(@NIXPKGS_QTPATHS@ --paths GenericConfigLocation)
-+# Add /env/ to the directory to locate the scripts to be sourced
-+for prefix in "${scriptpath[@]}"; do
-+    for file in "$prefix"/plasma-workspace/env/*.sh; do
-+        if [ -r "$file" ]; then
-+            . "$file"
-+        fi
-+    done
-+done
-+
- # kwin_wayland can possibly also start dbus-activated services which need env variables.
- # In that case, the update in startplasma might be too late.
--if which dbus-update-activation-environment >/dev/null 2>/dev/null ; then
--    dbus-update-activation-environment --systemd --all
--else
--    @CMAKE_INSTALL_FULL_LIBEXECDIR@/ksyncdbusenv
--fi
--if test $? -ne 0; then
--  # Startup error
--  echo 'startplasmacompositor: Could not sync environment to dbus.'  1>&2
--  exit 1
-+if ! @NIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT@ --systemd --all; then
-+    # Startup error
-+    echo 'startkde: Could not sync environment to dbus.'  1>&2
-+    test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
-+    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 f299ed953de2..fe78f210c17e 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -1,365 +1,374 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
+# DO NOT EDIT! This file is generated automatically.
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/
 { fetchurl, mirror }:
 
 {
   bluedevil = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/bluedevil-5.16.5.tar.xz";
-      sha256 = "60ac3471d30cb113b1959eacdaa1f4898f04f779f94a35dbca00993cda4ea464";
-      name = "bluedevil-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/bluedevil-5.17.5.tar.xz";
+      sha256 = "22e9c683dfc56a559e652809ade238f8eb0ffb09d5ab042f5cd4b8216f647c09";
+      name = "bluedevil-5.17.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/breeze-5.16.5.tar.xz";
-      sha256 = "09225021a2cf396e74cabe692b0a5dcf9a12f0b47f02fb14df6ccc9db01f2e6b";
-      name = "breeze-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/breeze-5.17.5.tar.xz";
+      sha256 = "f89bf857321b18789089efc9271d7bd7b6459a173dd078dd03242775db76c8d7";
+      name = "breeze-5.17.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/breeze-grub-5.16.5.tar.xz";
-      sha256 = "ce73297350e7b79b04aa8ba44594e8eca2d37c0342eb331bd5d31679f3887878";
-      name = "breeze-grub-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/breeze-grub-5.17.5.tar.xz";
+      sha256 = "591a1d7a510c76a1f2729a61a4d14c0f33db4d1e8ea5dbc87b74f2e7e7e2a2ba";
+      name = "breeze-grub-5.17.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/breeze-gtk-5.16.5.tar.xz";
-      sha256 = "d9849ecf6c2fc85fde76912410ab36c46ca65b96d80b4e51819ca35015a88098";
-      name = "breeze-gtk-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/breeze-gtk-5.17.5.tar.xz";
+      sha256 = "6dbd8e7d936840fbaf7016574d07729c9d0791711ad6d371136585ddb8f76e66";
+      name = "breeze-gtk-5.17.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/breeze-plymouth-5.16.5.tar.xz";
-      sha256 = "bb10d2f0185181e6f2fe8e3b85415dfcce6069595e0074b182688c6f567dd0b0";
-      name = "breeze-plymouth-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/breeze-plymouth-5.17.5.tar.xz";
+      sha256 = "e95f9eaf04e74383f5e1abe74d999787e408be7a34fd07a4f64e253e35150af0";
+      name = "breeze-plymouth-5.17.5.tar.xz";
     };
   };
   discover = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/discover-5.16.5.tar.xz";
-      sha256 = "26c47a5c0f59a31f37da85e894a926c76805b66f91dde8ba6d2de8015842d5c1";
-      name = "discover-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/discover-5.17.5.tar.xz";
+      sha256 = "986ef367aef59c5a956d4163f987a60cfd3674a300880376ddedc0222769789f";
+      name = "discover-5.17.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/drkonqi-5.16.5.tar.xz";
-      sha256 = "b4ae1518108c2d3ccbc533708801b52b83b7e9efd6eed9f1ee9d67936b9e78ff";
-      name = "drkonqi-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/drkonqi-5.17.5.tar.xz";
+      sha256 = "756c50f2458a8c564e608ea97244f6b2b3d5fb4a675a8cec29307be1d5ab5457";
+      name = "drkonqi-5.17.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kactivitymanagerd-5.16.5.tar.xz";
-      sha256 = "e35dbf7aae8a7b7f21b2304935cad96881af558a7c9d947f0114093038b1c4bc";
-      name = "kactivitymanagerd-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kactivitymanagerd-5.17.5.tar.xz";
+      sha256 = "362721c3a9712751fba29cd1f1ef440a1e74561a611f2d171692a4ddc895b3e4";
+      name = "kactivitymanagerd-5.17.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kde-cli-tools-5.16.5.tar.xz";
-      sha256 = "bc82b159d3c9a23f0ecb47a8314b645041b01692887a3be0ef0582d54f926de2";
-      name = "kde-cli-tools-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kde-cli-tools-5.17.5.tar.xz";
+      sha256 = "d14299ebeaf89854cb89435cfaaa4da1d84bf23a97df23ff8c7f95dae5bec55f";
+      name = "kde-cli-tools-5.17.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kdecoration-5.16.5.tar.xz";
-      sha256 = "2b8c7b7cf114d0eff4ec842009cda264d8cf1254ec4bf65868b6d26f263829bb";
-      name = "kdecoration-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kdecoration-5.17.5.tar.xz";
+      sha256 = "7d8f0128306d436aeba010e47a3dddbcb9fb9fd05ef9308cbad1934914875cd9";
+      name = "kdecoration-5.17.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kde-gtk-config-5.16.5.tar.xz";
-      sha256 = "f78abf129aaa7afac2c7a71105b36b9553a975bbcb89ec65a0166099d1cca8c1";
-      name = "kde-gtk-config-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kde-gtk-config-5.17.5.tar.xz";
+      sha256 = "5feff23c756f1fb0ba9ab88c2aed92c0e7c5521c757f5a0cdd057273538f0010";
+      name = "kde-gtk-config-5.17.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kdeplasma-addons-5.16.5.tar.xz";
-      sha256 = "a4737a54b75143053a9f8a5bc28c608f843c524872c665d4e5a65bd2853e1e00";
-      name = "kdeplasma-addons-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kdeplasma-addons-5.17.5.tar.xz";
+      sha256 = "997d6a3542ab1f1fd7fb17580693dc8281ff29b03c82577dbae3fc1ec4cccdb8";
+      name = "kdeplasma-addons-5.17.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kgamma5-5.16.5.tar.xz";
-      sha256 = "838fabf4312f022ee3df5bba940c0c73e26260cfee39235c1ba8da8a2e61bfa0";
-      name = "kgamma5-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kgamma5-5.17.5.tar.xz";
+      sha256 = "3b8fd1539d035d4d39dcde6ca0dd214e6653c98778ac79b9cbf2f7009b155ca9";
+      name = "kgamma5-5.17.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/khotkeys-5.16.5.tar.xz";
-      sha256 = "e7b866b5249ff7c5860a5a222dca79691ca1f09af176f786021fbbadbd718c8c";
-      name = "khotkeys-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/khotkeys-5.17.5.tar.xz";
+      sha256 = "cf78b5bfb8568fb4eea592b209bdb79aeac92bd08a580c3b6c08d45dd34a2d56";
+      name = "khotkeys-5.17.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kinfocenter-5.16.5.tar.xz";
-      sha256 = "e3bbc5e2baedf35dc8750c99e18c115b651f2665218a105c08177bc5250eb9b1";
-      name = "kinfocenter-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kinfocenter-5.17.5.tar.xz";
+      sha256 = "679870f10ee6494136d87a897a57a23c2905054d7a83ff11a4e85c204eb9fd9a";
+      name = "kinfocenter-5.17.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kmenuedit-5.16.5.tar.xz";
-      sha256 = "8e95b81b910e5e78689fc7d4427c813ba7d39426df24cf8606adb850913a19a4";
-      name = "kmenuedit-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kmenuedit-5.17.5.tar.xz";
+      sha256 = "59beed03298cd9fd6b05d67844794ed6a77be0d1b25b55d5bbcdf72e15e357de";
+      name = "kmenuedit-5.17.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kscreen-5.16.5.tar.xz";
-      sha256 = "ce35f554014cee819767180f0c9381d539e497edfb9c290b279fa78e9dea4bb0";
-      name = "kscreen-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kscreen-5.17.5.tar.xz";
+      sha256 = "de8a00b33d0254245a53a5c097347aa86709d415754b3e3c675eef8fb4fe5bc0";
+      name = "kscreen-5.17.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kscreenlocker-5.16.5.tar.xz";
-      sha256 = "5ed6fdeac9aaba014edf67c5f782fc210d58310d083afaa589d0ff1bb3e8e02d";
-      name = "kscreenlocker-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kscreenlocker-5.17.5.tar.xz";
+      sha256 = "078cfaa9f117a985f5c71152bdf4a9f5cb65ef23c0090cfaaccc9539770f138f";
+      name = "kscreenlocker-5.17.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/ksshaskpass-5.16.5.tar.xz";
-      sha256 = "78eaa38ebbf888a8905e9385173e7161335041d6d07720283ce6f3fa06426a33";
-      name = "ksshaskpass-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/ksshaskpass-5.17.5.tar.xz";
+      sha256 = "b09e0d780340fc5a6a65e67a30d08a3f117f31e2dbfbb35579aa4cefb15c3b27";
+      name = "ksshaskpass-5.17.5.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/ksysguard-5.16.5.tar.xz";
-      sha256 = "5558977389cb1fac4a5ce52c9430b27d9d1ee92705ae1995d92bed5340477282";
-      name = "ksysguard-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/ksysguard-5.17.5.tar.xz";
+      sha256 = "69bc12311dcf363b168a259139d30456ed395ec03b948bd35e992300c7e7bd82";
+      name = "ksysguard-5.17.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kwallet-pam-5.16.5.tar.xz";
-      sha256 = "4a12a8ed51973f9ea318a39a699523bcc99ae4e1cac932fccd19dedd45e758a8";
-      name = "kwallet-pam-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kwallet-pam-5.17.5.tar.xz";
+      sha256 = "c829c7a44408e58beb87c71f5c70bccd349d285c3fcefb16df98bf2f29357fe9";
+      name = "kwallet-pam-5.17.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kwayland-integration-5.16.5.tar.xz";
-      sha256 = "63724ecfb6db053ee949273979b393192309dbeed45b59bc193a605f90232282";
-      name = "kwayland-integration-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kwayland-integration-5.17.5.tar.xz";
+      sha256 = "818b4e14611e26f297ef60427d399edc458a44e113bc092390fa65ecababcedb";
+      name = "kwayland-integration-5.17.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kwin-5.16.5.tar.xz";
-      sha256 = "7ff0e114e323ff7e10d78a157f8242b1d3cfa03967898d9e3fd3c039b7c9918b";
-      name = "kwin-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kwin-5.17.5.tar.xz";
+      sha256 = "8517adaf8270d783aea7b3886d86b5abed6a5ec2b5c78b632479597d956baadc";
+      name = "kwin-5.17.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/kwrited-5.16.5.tar.xz";
-      sha256 = "4b122099b0a362fc409b50b7523689ba8a112508dad26f58753c6b648e7c5313";
-      name = "kwrited-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/kwrited-5.17.5.tar.xz";
+      sha256 = "ca22b1fa3e657fa2e58bf0c9dc1ebff3be8c0e003750223e7a7c5932d5b90823";
+      name = "kwrited-5.17.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/libkscreen-5.16.5.tar.xz";
-      sha256 = "fd2d1e849315ac745ecfe757d6b2c5cc6486e0be5397f686dae3916c0252c938";
-      name = "libkscreen-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/libkscreen-5.17.5.tar.xz";
+      sha256 = "aa186e5751287701daec4d036aba776a911e4b84ca7eea44dc5fb531875afd94";
+      name = "libkscreen-5.17.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/libksysguard-5.16.5.tar.xz";
-      sha256 = "f09b99737a937df890ecdd2a33720b6cba3c79fc8bc17ef1470572748a6e1976";
-      name = "libksysguard-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/libksysguard-5.17.5.tar.xz";
+      sha256 = "f5d237af554d65740a28360e6d8fa39d4912239c5f21288846b1c934897a7e14";
+      name = "libksysguard-5.17.5.tar.xz";
     };
   };
   milou = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/milou-5.16.5.tar.xz";
-      sha256 = "bfcdba29262dda9f386ee99132053ad5751194b2df8219899fcbb0b3699afcd5";
-      name = "milou-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/milou-5.17.5.tar.xz";
+      sha256 = "b89796e34cc8b6d6d4196169e814249f7b75c1c15763e0b4c1da5c97ccc2c8cf";
+      name = "milou-5.17.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/oxygen-5.16.5.tar.xz";
-      sha256 = "0e85dcd874d2e69aaa2d4eefc379289c7dd572437f53e42f1d6d260d97c2f8a2";
-      name = "oxygen-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/oxygen-5.17.5.tar.xz";
+      sha256 = "58954374a4b9067365ee5d50b32b1986b2e7dd31e73cbf79fda8d978949943be";
+      name = "oxygen-5.17.5.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-browser-integration-5.16.5.tar.xz";
-      sha256 = "99269c7e27fddb0c075bff28a5afba41298dc8d28297d69f35f6bc30f3af1d35";
-      name = "plasma-browser-integration-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-browser-integration-5.17.5.tar.xz";
+      sha256 = "07bc4285991ab43830873a12b8c07f60e4faea1ec81121db783c425f18a4f87d";
+      name = "plasma-browser-integration-5.17.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-desktop-5.16.5.tar.xz";
-      sha256 = "49dc4c9eff5742eb52fc0d12c139c194eda837945389cd09f498a0c4c352a20f";
-      name = "plasma-desktop-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-desktop-5.17.5.tar.xz";
+      sha256 = "7f741ab026989bdcc68701955fc290d5ead38bf4bc310f18a2f32c64b411ab04";
+      name = "plasma-desktop-5.17.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-integration-5.16.5.tar.xz";
-      sha256 = "635f109e7b59bb440c6be0c7a4baae70d2f44e659ab0522e170693b664e6d709";
-      name = "plasma-integration-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-integration-5.17.5.tar.xz";
+      sha256 = "169206bebd790d2fee49cec621c46f6f64a8e20ee3e56bf16ee7373f61cad959";
+      name = "plasma-integration-5.17.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-nm-5.16.5.tar.xz";
-      sha256 = "b519429bd784ff2ede0bf10e1e943822ef08ea5cf85e901363fda36d32907460";
-      name = "plasma-nm-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-nm-5.17.5.tar.xz";
+      sha256 = "2165e47a0654d17735abc97aec287b46b52a2eafccc3591b667ea2755b731255";
+      name = "plasma-nm-5.17.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-pa-5.16.5.tar.xz";
-      sha256 = "e029563d50cc6266a4a3e22574c33fef4670e1aaab18630eb30769e2167acc96";
-      name = "plasma-pa-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-pa-5.17.5.tar.xz";
+      sha256 = "933c6ab1fda52b336a157a48b1ea64b81fd1d84ca08a40a52bfae276cca2bf23";
+      name = "plasma-pa-5.17.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-sdk-5.16.5.tar.xz";
-      sha256 = "1b05f0501309099f241ebae857c24b31bc4e61fde8bfc33e854d3a1dd3d37385";
-      name = "plasma-sdk-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-sdk-5.17.5.tar.xz";
+      sha256 = "ff736029b1ae5773991db06f5827d9dcbd8e7a4e9a430c9014c35ddee2c55314";
+      name = "plasma-sdk-5.17.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-tests-5.16.5.tar.xz";
-      sha256 = "236a83c2caa99801b6db1debce53a6c7390087115899410a8139ad3b7268b7f7";
-      name = "plasma-tests-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-tests-5.17.5.tar.xz";
+      sha256 = "1b566b7118a5c8d1b25078d331a6bc77f48781010fbd3425d85b137811218982";
+      name = "plasma-tests-5.17.5.tar.xz";
+    };
+  };
+  plasma-thunderbolt = {
+    version = "5.17.5";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.17.5/plasma-thunderbolt-5.17.5.tar.xz";
+      sha256 = "3743f9841d269d51f1b1419e24d5cd1b26a0ba5a90e76b531328a8cc43184382";
+      name = "plasma-thunderbolt-5.17.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-vault-5.16.5.tar.xz";
-      sha256 = "2bb40a80c35f3eaedc729013a8b6b76641cc74eca4fd171f1cda99237f83198c";
-      name = "plasma-vault-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-vault-5.17.5.tar.xz";
+      sha256 = "3e5c6b4dd6c1122b6a221205da506881959ab905e467b74b0536e7f5fe130d71";
+      name = "plasma-vault-5.17.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-workspace-5.16.5.tar.xz";
-      sha256 = "43364fe4e7ea10ad7b5b1d7af4f1baa1d8796b60692f2dfc0d58693f63e458ff";
-      name = "plasma-workspace-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-workspace-5.17.5.tar.xz";
+      sha256 = "764488e66d52bc3017efb2c1471f57196aa50fbfa3a80637bf48f24955cfba88";
+      name = "plasma-workspace-5.17.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plasma-workspace-wallpapers-5.16.5.tar.xz";
-      sha256 = "ff6e0eac42c540c72556439e6477fb78be2dab456386218813cce021f82d42d9";
-      name = "plasma-workspace-wallpapers-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plasma-workspace-wallpapers-5.17.5.tar.xz";
+      sha256 = "8a28ef67b65c340d40ff8f5bfc333ead68e6d8c9e410769c43af847ced9b4ca9";
+      name = "plasma-workspace-wallpapers-5.17.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/plymouth-kcm-5.16.5.tar.xz";
-      sha256 = "db839c5fe9f6df882b95f436983c129cd553dd50e6cf1065c4410a91b20f1dcc";
-      name = "plymouth-kcm-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/plymouth-kcm-5.17.5.tar.xz";
+      sha256 = "bbd6994f60ed9d63b4e4dd0abe78bf1f9c14b8ecce8ba4355d16cd52a0a86528";
+      name = "plymouth-kcm-5.17.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.16.5";
+    version = "1-5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/polkit-kde-agent-1-5.16.5.tar.xz";
-      sha256 = "6f7a17990d72bb25c93acae919b764f95ac226754209b2e177075fbe9251f95f";
-      name = "polkit-kde-agent-1-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/polkit-kde-agent-1-5.17.5.tar.xz";
+      sha256 = "a79d76a2f584f6567639228fde6f75b3960484f7a65cfc69b6acb6df1de53f5d";
+      name = "polkit-kde-agent-1-5.17.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/powerdevil-5.16.5.tar.xz";
-      sha256 = "ac868f31df8c6bcc6b1c850efa0640695ba698caabefcb21fc0b0c3405712139";
-      name = "powerdevil-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/powerdevil-5.17.5.tar.xz";
+      sha256 = "27904361e85e1267d933d8f0a0d3be4dc712099ed2eb3cf90959209a4443dd82";
+      name = "powerdevil-5.17.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/sddm-kcm-5.16.5.tar.xz";
-      sha256 = "4220d18f1a04c767649bffee1aed6c2b2c12c60cd7d6ca6fabc3dbec1ec3f127";
-      name = "sddm-kcm-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/sddm-kcm-5.17.5.tar.xz";
+      sha256 = "e85fb9e014439e8c0e73638112139561aff9a9f71f26c3eafedff5a98a07b33b";
+      name = "sddm-kcm-5.17.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/systemsettings-5.16.5.tar.xz";
-      sha256 = "57944cf3f566cf5e25d5859f5716b2ad5dbd87de259f8d77efdfdd50a16fe1ec";
-      name = "systemsettings-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/systemsettings-5.17.5.tar.xz";
+      sha256 = "50fa4d7866639995a6859446fc6a02a73ae05203e8f2ed31221e232ed3491eaf";
+      name = "systemsettings-5.17.5.tar.xz";
     };
   };
   user-manager = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/user-manager-5.16.5.tar.xz";
-      sha256 = "e9df3ec2718de68b0b46d0b86f993fe450b236e13dda6219f350121f08f4c468";
-      name = "user-manager-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/user-manager-5.17.5.tar.xz";
+      sha256 = "10ed3196063c7dfed3b3f25dd199a48ca39fa86db5d0126ec84a543b1c212f0d";
+      name = "user-manager-5.17.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.16.5";
+    version = "5.17.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.16.5/xdg-desktop-portal-kde-5.16.5.tar.xz";
-      sha256 = "4884652b642fb6e8db791a04e9d42b5fec53f28cc0f0d26f49eb2bdaaa1709df";
-      name = "xdg-desktop-portal-kde-5.16.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.17.5/xdg-desktop-portal-kde-5.17.5.tar.xz";
+      sha256 = "a993bd4b86a44c8237a3f4957c2594aa2ca8916204ad866f8af32f7df34740f6";
+      name = "xdg-desktop-portal-kde-5.17.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index b4326235c4e7..4166fbb7ccf5 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -119,9 +119,9 @@ in {
       major = "3";
       minor = "9";
       patch = "0";
-      suffix = "a2";
+      suffix = "a3";
     };
-    sha256 = "02a301bdcldin05ksdg8xw8xr6gdkpf73p0cabvn9rdl6yhkr3q8";
+    sha256 = "09l68jyfhhass3cqyqyp2cv3a3i86qs0x736isidmpbrbxsincva";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index 2f39b03898d1..539a1ffeed98 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -4,13 +4,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "gusb";
-  version = "0.3.0";
+  version = "0.3.3";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
-    sha256 = "1p4f6jdjw6zl986f93gzdjg2hdcn5dlz6rcckcz4rbmnk47rbryq";
+    sha256 = "14pbd0812151ga7jrpzi88fcrwkckx6m07ay84l7dzkxbdc44fgr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index 75fffa83d24b..5ff5209020ce 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -5,7 +5,6 @@
 , glib
 , gobject-introspection
 , gtk-doc
-, libuuid
 , meson
 , ninja
 , pkgconfig
@@ -16,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.1.13";
+  version = "0.1.14";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "14bk7bk08mjbildak1l7jq7idcyask7384vigpq9zmwai1gax4s7";
+    sha256 = "05snbv1dvqa96k7xlwi2sj161315kps3baansr9xdpwim5ckmwc6";
   };
 
   patches = [
@@ -45,7 +44,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    libuuid
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libxmlb/installed-tests-path.patch b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
index ab36d9efad89..4207e9a91d74 100644
--- a/pkgs/development/libraries/libxmlb/installed-tests-path.patch
+++ b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
@@ -1,18 +1,18 @@
 diff --git a/meson.build b/meson.build
-index b064cb8..1a470cf 100644
+index 38486c9..c567613 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -103,8 +103,8 @@
- 
- libexecdir = join_paths(prefix, get_option('libexecdir'))
- datadir = join_paths(prefix, get_option('datadir'))
--installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
--installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
-+installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
-+installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
+@@ -110,8 +110,8 @@
+   prefix = get_option('prefix')
+   datadir = join_paths(prefix, get_option('datadir'))
+   libexecdir = join_paths(prefix, get_option('libexecdir'))
+-  installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
+-  installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
++  installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
++  installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
+ endif
  
  gio = dependency('gio-2.0', version : '>= 2.45.8')
- uuid = dependency('uuid')
 diff --git a/meson_options.txt b/meson_options.txt
 index 27e8cb6..74548ae 100644
 --- a/meson_options.txt
diff --git a/pkgs/development/libraries/totem-pl-parser/default.nix b/pkgs/development/libraries/totem-pl-parser/default.nix
index dd8a300d70f4..08a2df3c02de 100644
--- a/pkgs/development/libraries/totem-pl-parser/default.nix
+++ b/pkgs/development/libraries/totem-pl-parser/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "totem-pl-parser";
-  version = "3.26.3";
+  version = "3.26.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f";
+    sha256 = "1w34hdr09v3wy1cfvzhcmxc6b5p9ngcabgix59iv7hk739anymy1";
   };
 
   passthru = {
diff --git a/pkgs/development/ocaml-modules/bistro/default.nix b/pkgs/development/ocaml-modules/bistro/default.nix
index d6a1cac17195..b141244f8c5b 100644
--- a/pkgs/development/ocaml-modules/bistro/default.nix
+++ b/pkgs/development/ocaml-modules/bistro/default.nix
@@ -12,9 +12,7 @@ buildDunePackage rec {
     sha256 = "114gq48cpj2mvycypa9lfyqqb26wa2gkdfwkcqhnx7m6sdwv9a38";
   };
 
-  buildInputs = [ base64 bos lwt_react ocamlgraph rresult tyxml ];
-
-  propagatedBuildInputs = [ core ];
+  propagatedBuildInputs = [ base64 bos core lwt_react ocamlgraph rresult tyxml ];
 
   minimumOCamlVersion = "4.07";
 
diff --git a/pkgs/development/python-modules/ansible-lint/default.nix b/pkgs/development/python-modules/ansible-lint/default.nix
index 62c9b33d5e30..a8a7fc3a7bff 100644
--- a/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/pkgs/development/python-modules/ansible-lint/default.nix
@@ -45,6 +45,5 @@ buildPythonPackage rec {
     description = "Best practices checker for Ansible";
     license = licenses.mit;
     maintainers = [ maintainers.sengaya ];
-    broken = true; # requires new flit to build
   };
 }
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 7210aa6b1e31..81b07eeacb43 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.30.2";
+  version = "0.35";
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = "datasette";
     rev = version;
-    sha256 = "07swnpz4c7vzlc69vavs1xvbhr5fa8g63kyfj1hf3zafskgjnzwy";
+    sha256 = "0v6af7agg27lapz1nbab07595v4hl2x5wm2f03drj81f7pm8y7hc";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/hglib/default.nix b/pkgs/development/python-modules/hglib/default.nix
index eab8ffe2bfd8..14e5b4edcd7b 100644
--- a/pkgs/development/python-modules/hglib/default.nix
+++ b/pkgs/development/python-modules/hglib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, substituteAll, python, nose, mercurial }:
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, substituteAll, python, nose, mercurial }:
 
 buildPythonPackage rec {
   pname = "python-hglib";
@@ -14,12 +14,24 @@ buildPythonPackage rec {
       src = ./hgpath.patch;
       hg = "${mercurial}/bin/hg";
     })
+
+    # These two patches are needed to fix the tests.
+    # They will need to be removed on the next update.
+    (fetchpatch {
+      url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/12e6aaef0f6e";
+      sha256 = "159pmhy23gqcc6rkh5jrni8fba4xbhxwcc0jf02wqr7f82kv8a7x";
+    })
+    (fetchpatch {
+      url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/1a318162f06f";
+      sha256 = "04lxfc15m3yw5kvp133xg8zv09l8kndi146xk3lnbbm07fgcnn1z";
+    })
   ];
 
   checkInputs = [ nose ];
 
   checkPhase = ''
-    ${python.interpreter} test.py --with-hg "${mercurial}/bin/hg"
+    ${python.interpreter} test.py --with-hg "${mercurial}/bin/hg" -v \
+      --exclude=test_merge_prompt_cb # https://bz.mercurial-scm.org/show_bug.cgi?id=6265
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 5202483ab326..6e356665d044 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "5.1.3";
+  version = "5.1.4";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k";
+    sha256 = "7f1f01df22f1229c8879501057877ccaf92a3b01c1d00db708aad5003e5f9238";
   };
 
   propagatedBuildInputs = [ ipython jupyter_client traitlets tornado ];
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index 29dfe3320d64..8032588201b4 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  version = "0.30.0";
+  version = "0.31.0";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4eaa398d4cafb76e2d8f30ca6ab875039a1023c91e7a690c6ddec20e58bb9a07";
+    sha256 = "22ab2b9d7ec79fab66ac8b3d2133347de86addc2e2df1b3793e523ac84baa3c8";
   };
 
   nativeBuildInputs = [ llvm ];
diff --git a/pkgs/development/python-modules/mahotas/default.nix b/pkgs/development/python-modules/mahotas/default.nix
index dc18f5ac405f..94bf0a0cb1ec 100644
--- a/pkgs/development/python-modules/mahotas/default.nix
+++ b/pkgs/development/python-modules/mahotas/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "mahotas";
-  version = "1.4.7";
+  version = "1.4.9";
 
   src = fetchFromGitHub {
     owner = "luispedro";
     repo = "mahotas";
     rev = "v${version}";
-    sha256 = "1a3nzxb7is8n7lpxwq1fw3fr03qflig334rb1zzr2znjrhq6g94b";
+    sha256 = "151hri3lwcm9p7w1nyw99h8c70j51698cvzaiazvwb6gl4khwavv";
   };
 
   # remove this as soon as https://github.com/luispedro/mahotas/issues/97 is fixed
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
index 681a5d3b1c54..7e9215f33933 100644
--- a/pkgs/development/python-modules/moviepy/default.nix
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -11,7 +11,7 @@
 , tqdm
 # Advanced image processing (triples size of output)
 , advancedProcessing ? false
-, opencv ? null
+, opencv3 ? null
 , scikitimage ? null
 , scikitlearn ? null
 , scipy ? null
@@ -20,7 +20,7 @@
 }:
 
 assert advancedProcessing -> (
-  opencv != null && scikitimage != null && scikitlearn != null
+  opencv3 != null && scikitimage != null && scikitlearn != null
   && scipy != null && matplotlib != null && youtube-dl != null);
 
 buildPythonPackage rec {
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     numpy decorator imageio imageio-ffmpeg tqdm requests proglog
   ] ++ (stdenv.lib.optionals advancedProcessing [
-    opencv scikitimage scikitlearn scipy matplotlib youtube-dl
+    opencv3 scikitimage scikitlearn scipy matplotlib youtube-dl
   ]);
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/nbformat/2.nix b/pkgs/development/python-modules/nbformat/2.nix
new file mode 100644
index 000000000000..fbc71202d286
--- /dev/null
+++ b/pkgs/development/python-modules/nbformat/2.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, glibcLocales
+, ipython_genutils
+, traitlets
+, testpath
+, jsonschema
+, jupyter_core
+}:
+
+buildPythonPackage rec {
+  pname = "nbformat";
+  version = "4.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402";
+  };
+
+  LC_ALL="en_US.utf8";
+
+  checkInputs = [ pytest glibcLocales ];
+  propagatedBuildInputs = [ ipython_genutils traitlets testpath jsonschema jupyter_core ];
+
+  preCheck = ''
+    mkdir tmp
+    export HOME=tmp
+  '';
+
+  # Some of the tests use localhost networking.
+  __darwinAllowLocalNetworking = true;
+
+  meta = {
+    description = "The Jupyter Notebook format";
+    homepage = https://jupyter.org/;
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ fridh globin ];
+  };
+}
diff --git a/pkgs/development/python-modules/nbformat/default.nix b/pkgs/development/python-modules/nbformat/default.nix
index fbc71202d286..179c5e8b9b6c 100644
--- a/pkgs/development/python-modules/nbformat/default.nix
+++ b/pkgs/development/python-modules/nbformat/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbformat";
-  version = "4.4.0";
+  version = "5.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402";
+    sha256 = "562de41fc7f4f481b79ab5d683279bf3a168858268d4387b489b7b02be0b324a";
   };
 
   LC_ALL="en_US.utf8";
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 3c174288b82c..b73dc553546d 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -25,12 +25,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.0.2";
+  version = "6.0.3";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "399a4411e171170173344761e7fd4491a3625659881f76ce47c50231ed714d9b";
+    sha256 = "47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index f452b7fae738..4529b80556ba 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -13,12 +13,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.46.0";
+  version = "0.48.0";
   pname = "numba";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2cbaeae60f80805290fff50175028726fae12692404a36babd3326730fbceee";
+    sha256 = "9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
diff --git a/pkgs/development/python-modules/pyfftw/default.nix b/pkgs/development/python-modules/pyfftw/default.nix
index bed1dffa5c72..41330ca6405f 100644
--- a/pkgs/development/python-modules/pyfftw/default.nix
+++ b/pkgs/development/python-modules/pyfftw/default.nix
@@ -2,12 +2,12 @@
 , fftw, fftwFloat, fftwLongDouble, numpy, scipy, cython, dask }:
 
 buildPythonPackage rec {
-  version = "0.11.1";
+  version = "0.12.0";
   pname = "pyFFTW";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05ea28dede4c3aaaf5c66f56eb0f71849d0d50f5bc0f53ca0ffa69534af14926";
+    sha256 = "60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0";
   };
 
   buildInputs = [ fftw fftwFloat fftwLongDouble];
diff --git a/pkgs/development/python-modules/pyosmium/default.nix b/pkgs/development/python-modules/pyosmium/default.nix
new file mode 100644
index 000000000000..e63fd00bb57f
--- /dev/null
+++ b/pkgs/development/python-modules/pyosmium/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchFromGitHub, cmake, python
+, libosmium, protozero, boost, expat, bzip2, zlib, pybind11
+, nose, shapely, mock, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "pyosmium";
+  version = "2.15.3";
+
+  src = fetchFromGitHub {
+    owner = "osmcode";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1523ym9i4rnwi5kcp7n2lm67kxlhar8xlv91s394ixzwax9bgg7w";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libosmium protozero boost expat bzip2 zlib pybind11 ];
+
+  preBuild = "cd ..";
+
+  checkInputs = [ nose shapely ] ++ lib.optionals (!isPy3k) [ mock ];
+
+  checkPhase = "(cd test && ${python.interpreter} run_tests.py)";
+
+  meta = with lib; {
+    description = "Python bindings for libosmium";
+    homepage = "https://osmcode.org/pyosmium";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index d596c640823c..10c42fea033e 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -8,10 +8,10 @@
 
 buildPythonPackage rec {
   pname = "seaborn";
-  version = "0.9.0";
+  version = "0.10.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "76c83f794ca320fb6b23a7c6192d5e185a5fcf4758966a0c0a54baee46d41e2f";
+    sha256 = "59fe414e138d7d5ea08b0feb01b86caf4682e36fa748e3987730523a89aecbb9";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index e6478554d60c..f39c57e6be6c 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -1,17 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, stdenv
+, file
 }:
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.4";
+  version = "1.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s6lgp66bn0l4a5mwxiv9h04sa7braqvjskns315lb93lyb4y092";
+    sha256 = "12i5s3qs0lxfs06p5b354scbapldf4isfr00cg1dq47n4gnqwa99";
   };
 
+  postPatch = ''
+    substituteInPlace sqlmap/thirdparty/magic/magic.py --replace "ctypes.util.find_library('magic')" \
+      "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
+
+    # the check for the last update date does not work in Nix,
+    # since the timestamp of the all files in the nix store is reset to the unix epoch
+    echo 'LAST_UPDATE_NAGGING_DAYS = float("inf")' >> sqlmap/lib/core/settings.py
+  '';
+
   # No tests in archive
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
index cddfb81d609e..07f8edc3becb 100644
--- a/pkgs/development/python-modules/tiledb/default.nix
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "tiledb";
-  version = "0.5.3";
+  version = "0.5.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB-Py";
     rev = version;
-    sha256 = "1wzzq3ggrprnjqgx9168r4x8cj1rh2ikr6mlxgbi463p5hnlkb5m";
+    sha256 = "0cgm4dhyqay26xmrzlv21ha8qh55m4q3yr338lrv81ngz77zxsvw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index d906b6d51d58..ec281138aebf 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.40.2";
+  version = "4.42.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f0ab01cf3ae5673d18f918700c0165e5fad0f26b5ebe4b34f62ead92686b5340";
+    sha256 = "251ee8440dbda126b8dfa8a7c028eb3f13704898caaef7caa699b35e119301e2";
   };
 
   checkInputs = [ nose coverage glibcLocales flake8 ];
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index c7f0fb1ecf8c..ce46443ec06b 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04b2f4d24707b8871a7ffa37328d0a2de74e81bd30791c9608712612601abd23";
+    sha256 = "c72d160c970725201f769e80fb91cbad68d6ebf21d68fcc371385a6c950459c3";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index ded4d2c98e6b..6dcaba237ae9 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "racer";
-  version = "2.1.29";
+  version = "2.1.30";
 
   src = fetchFromGitHub {
     owner = "racer-rust";
     repo = "racer";
-    rev = "5db1d0cf8bd1a1030983337c2079be09a1268c8c";
-    sha256 = "0kxi0krpc3abanphzpmi3jhmm831bn4wjzyas469q2gvqfhm71dj";
+    rev = "c2b0080243fefdad7f7b223e8a7fdef3e1f0fa77";
+    sha256 = "0svvdkfqpk2rw0wxyrhkxy553k55lg7jxc0ly4w1195iwv14ad3y";
   };
 
-  cargoSha256 = "18hx0dfx6lw3azsnpqzhbjs0fpfya5y0pcyjmfywv42a8n7dr1jc";
+  cargoSha256 = "1qxg9r6wpv811fh2l889jm0ya96gsra00kqpyxh41fb7myvl2a4i";
 
   buildInputs = [ makeWrapper ]
                 ++ stdenv.lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/misc/brightnessctl/default.nix b/pkgs/misc/brightnessctl/default.nix
index d6e606324c4e..fc4468921290 100644
--- a/pkgs/misc/brightnessctl/default.nix
+++ b/pkgs/misc/brightnessctl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "brightnessctl";
-  version = "0.4";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "Hummer12007";
     repo = "brightnessctl";
     rev = version;
-    sha256 = "1n1gb8ldgqv3vs565yhk1w4jfvrviczp94r8wqlkv5q6ab43c8w9";
+    sha256 = "0immxc7almmpg80n3bdn834p3nrrz7bspl2syhb04s3lawa5y2lq";
   };
 
   makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ];
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix
index 08fee83d8cee..d129bda33f49 100644
--- a/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.26.1";
-    sha256 = "09khm0byxa9mv8qbqrikd7akz3p816ra5z8l86xqkmbm6j1k4wpc";
+    version = "0.26.3";
+    sha256 = "1rwyvqk3gp5f75x73d33biqvq67xx2vz1lmh3y3ax8kaf9z8jfvr";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/vscode-extensions/python/default.nix b/pkgs/misc/vscode-extensions/python/default.nix
index 376f52ec5ffc..efbd163abbbb 100644
--- a/pkgs/misc/vscode-extensions/python/default.nix
+++ b/pkgs/misc/vscode-extensions/python/default.nix
@@ -41,8 +41,8 @@ in vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "python";
     publisher = "ms-python";
-    version = "2019.10.44104";
-    sha256 = "1k0wws430psrl8zp9ky5mifbg02qmh2brjyqk5k9pn3y1dks5gns";
+    version = "2020.1.58038";
+    sha256 = "09iawy1p2akan090461137d4p5gqqf0aanm9i534p0kmbxmjfpqv";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index 81e82d68dbc4..262c2cbc4f17 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -1,10 +1,10 @@
 diff --git a/data/meson.build b/data/meson.build
-index 25db9509..f394eb25 100644
+index d59bdc88..4a4cfc35 100644
 --- a/data/meson.build
 +++ b/data/meson.build
-@@ -13,7 +13,7 @@
- if build_daemon
-   subdir('installed-tests')
+@@ -16,7 +16,7 @@
+ 
+ if build_standalone
    install_data(['daemon.conf'],
 -    install_dir : join_paths(sysconfdir, 'fwupd')
 +    install_dir : join_paths(sysconfdir_install, 'fwupd')
@@ -76,10 +76,10 @@ index 826a3c1d..b78db663 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index 8e1de887..a5bb1fe6 100644
+index b1a523d2..aacb8e0a 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -158,6 +158,12 @@
+@@ -169,6 +169,12 @@
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
  
@@ -89,14 +89,14 @@ index 8e1de887..a5bb1fe6 100644
 +  sysconfdir_install = sysconfdir
 +endif
 +
+ diffcmd = find_program('diff')
  gio = dependency('gio-2.0', version : '>= 2.45.8')
- giounix = dependency('gio-unix-2.0', version : '>= 2.45.8')
- if gio.version().version_compare ('>= 2.55.0')
+ giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
 diff --git a/meson_options.txt b/meson_options.txt
-index 71b50c6a..561c2031 100644
+index be0adfef..73983333 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -24,6 +24,7 @@
+@@ -26,6 +26,7 @@
  option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
  option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units')
  option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
@@ -105,10 +105,10 @@ index 71b50c6a..561c2031 100644
  option('udevdir', type: 'string', value: '', description: 'Directory for udev rules')
  option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules')
 diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
-index cb9f4555..b972d7fb 100644
+index ed4eee70..76dbdb1d 100644
 --- a/plugins/dell-esrt/meson.build
 +++ b/plugins/dell-esrt/meson.build
-@@ -36,5 +36,5 @@
+@@ -37,5 +37,5 @@
    output : 'dell-esrt.conf',
    configuration : con2,
    install: true,
@@ -116,10 +116,10 @@ index cb9f4555..b972d7fb 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build
-index 5c88504e..7706da71 100644
+index 25fc5c7d..77eb9a83 100644
 --- a/plugins/redfish/meson.build
 +++ b/plugins/redfish/meson.build
-@@ -26,7 +26,7 @@
+@@ -27,7 +27,7 @@
  )
  
  install_data(['redfish.conf'],
@@ -129,7 +129,7 @@ index 5c88504e..7706da71 100644
  
  if get_option('tests')
 diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build
-index 42718abf..bc815491 100644
+index 06ab34ee..297a9182 100644
 --- a/plugins/thunderbolt/meson.build
 +++ b/plugins/thunderbolt/meson.build
 @@ -46,7 +46,7 @@
@@ -142,10 +142,10 @@ index 42718abf..bc815491 100644
  # we use functions from 2.52 in the tests
  if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52')
 diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
-index 45b18d7d..ef8e0b04 100644
+index 39b5f566..0f904a22 100644
 --- a/plugins/uefi/meson.build
 +++ b/plugins/uefi/meson.build
-@@ -85,7 +85,7 @@
+@@ -87,7 +87,7 @@
  )
  
  install_data(['uefi.conf'],
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index aa2d99781786..280145a6838e 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -87,14 +87,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "fwupd";
-  version = "1.3.3";
+  version = "1.3.7";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-    sha256 = "0nqzqvx8nzflhb4kzvkdcv7kixb50vh6h21kpkd7pjxp942ndzql";
+    sha256 = "02mzn3whk5mba4nxyrkypawr1gzjx79n4nrkhrp8vja6mxxgsf10";
   };
 
-  outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
+  outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
 
   nativeBuildInputs = [
     meson
@@ -148,10 +148,6 @@ stdenv.mkDerivation rec {
     ./fix-paths.patch
     ./add-option-for-installation-sysconfdir.patch
 
-    # do not require which
-    # https://github.com/fwupd/fwupd/pull/1568
-    ./no-which.patch
-
     # installed tests are installed to different output
     # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle
     (substituteAll {
@@ -163,7 +159,8 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs \
-      libfwupd/generate-version-script.py \
+      contrib/get-version.py \
+      contrib/generate-version-script.py \
       meson_post_install.sh \
       po/make-images \
       po/make-images.sh \
@@ -173,11 +170,6 @@ stdenv.mkDerivation rec {
     # https://github.com/NixOS/nix/issues/1846
     substituteInPlace data/installed-tests/meson.build --subst-var installedTests
 
-    # install plug-ins to out, they are not really part of the library
-    substituteInPlace meson.build \
-      --replace "plugin_dir = join_paths(libdir, 'fwupd-plugins-3')" \
-                "plugin_dir = join_paths('${placeholder "out"}', 'fwupd_plugins-3')"
-
     substituteInPlace data/meson.build --replace \
       "install_dir: systemd.get_pkgconfig_variable('systemdshutdowndir')" \
       "install_dir: '${placeholder "out"}/lib/systemd/system-shutdown'"
@@ -211,7 +203,6 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "-Dsysconfdir_install=${placeholder "out"}/etc"
-    "--libexecdir=${placeholder "out"}/libexec"
   ] ++ stdenv.lib.optionals (!haveDell) [
     "-Dplugin_dell=false"
     "-Dplugin_synaptics=false"
diff --git a/pkgs/os-specific/linux/firmware/fwupd/no-which.patch b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
deleted file mode 100644
index c0c65e42539d..000000000000
--- a/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/plugins/uefi/efi/generate_binary.sh
-+++ b/plugins/uefi/efi/generate_binary.sh
-@@ -1,9 +1,9 @@
- #!/bin/sh
- output=$2
--objcopy_cmd=$(which objcopy)
--genpeimg_cmd=$(which genpeimg)
-+objcopy_cmd=$(command -v objcopy)
-+genpeimg_cmd=$(command -v genpeimg)
- 
--$objcopy_cmd  -j .text \
-+"$objcopy_cmd"  -j .text \
-               -j .sdata \
-               -j .data \
-               -j .dynamic \
-@@ -11,7 +11,7 @@
-               -j .rel \
-               -j .rela \
-               -j .reloc \
--              $*
-+              "$@"
- 
- if [ -n "${genpeimg_cmd}" ]; then
-         $genpeimg_cmd -d \
-@@ -20,5 +20,5 @@
-                       +n \
-                       -d \
-                       +s \
--                      $output
-+                      "$output"
- fi
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index 84f2edc05fd3..58e058196bd3 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "${package}-${version}";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     repo = "JFBView";
     owner = "jichu4n";
     rev = version;
-    sha256 = "09rcmlf04aka0yzr25imadi0fl4nlbsxcahs7fhvzx4nql4halqw";
+    sha256 = "0ppns49hnmp04zdjw6wc28v0yvz31rkzvd5ylcj7arikx20llpxf";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 5ad5cfc06132..759d2abfad09 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "alertmanager";
-  version = "0.19.0";
+  version = "0.20.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/alertmanager";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "08k898x9ks5rzcmb7ps1rnxv36ynv64x8yq2ahpwmfkmv6nw1ylh";
+    sha256 = "1bq6vbpy25k7apvs2ga3fbp1cbnv9j0y1g1khvz2qgz6a2zvhgg3";
   };
 
   buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 35bf759af8e5..67474797c485 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "telegraf";
-  version = "1.13.2";
+  version = "1.13.3";
 
   goPackagePath = "github.com/influxdata/telegraf";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = version;
-    sha256 = "1vcnac1gj7ri1hdlkz5i6zpxiwljpfn1iag1zb3fymlw6c91b11p";
+    sha256 = "093695n83m1ywy4l7nswjh1xc0gkg7pxilxav7jjxkgl4p15yf28";
   };
 
   buildFlagsArray = [ ''-ldflags=
diff --git a/pkgs/servers/monitoring/telegraf/deps.nix b/pkgs/servers/monitoring/telegraf/deps.nix
index 091984f5bdf1..84be580c4f10 100644
--- a/pkgs/servers/monitoring/telegraf/deps.nix
+++ b/pkgs/servers/monitoring/telegraf/deps.nix
@@ -932,8 +932,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/safchain/ethtool";
-      rev =  "42ed695e3de80b9d695f280295fd7994639f209d";
-      sha256 = "0n5hkrzc1bh46nidcssx4539kvcmgj501v3kzh2pljpg27509daj";
+      rev =  "ef7e7c9c27639f149a3c4bfae07a9c0fc3a1691a";
+      sha256 = "140bd01ngh2jgqhr2av3d4xmwk71c2mq5crg8gy89al76dwrjb7b";
     };
   }
   {
diff --git a/pkgs/tools/admin/bash-my-aws/default.nix b/pkgs/tools/admin/bash-my-aws/default.nix
new file mode 100644
index 000000000000..8c0dd3067439
--- /dev/null
+++ b/pkgs/tools/admin/bash-my-aws/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, awscli
+, jq
+, fetchgit
+, installShellFiles
+, bashInteractive
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bash-my-aws";
+  version = "20200111";
+
+  src = fetchgit {
+    url = "https://github.com/bash-my-aws/bash-my-aws";
+    rev = "5a97ce2c22affca1299022a5afa109d7b62242ba";
+    sha256 = "459bda8b244af059d96c7c8b916cf956b01cb2732d1c2888a3ae06a4d660bea6";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  propagatedBuildInputs = [
+    awscli
+    jq
+    bashInteractive
+  ];
+  nativeBuildInputs = [ installShellFiles ];
+
+  checkPhase = ''
+    pushd test
+    ./shared-spec.sh
+    ./stack-spec.sh
+    popd
+  '';
+  installPhase=''
+    mkdir -p $out
+    cp -r . $out
+  '';
+  postFixup = ''
+    pushd $out
+    substituteInPlace scripts/build \
+        --replace '~/.bash-my-aws' $out
+    substituteInPlace scripts/build-completions \
+        --replace "{HOME}" $out \
+        --replace '~/.bash-my-aws' $out
+    ./scripts/build
+    ./scripts/build-completions
+    substituteInPlace bash_completion.sh \
+        --replace "{HOME}" $out \
+        --replace .bash-my-aws ""
+    substituteInPlace bin/bma \
+        --replace '~/.bash-my-aws' $out
+    installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
+    chmod +x $out/lib/*
+    patchShebangs --host $out/lib
+    installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
+    cat > $out/bin/bma-init <<EOF
+    echo source $out/aliases
+    echo source $out/bash_completion.sh
+    EOF
+    chmod +x $out/bin/bma-init
+    popd
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://bash-my-aws.org;
+    description = "CLI commands for AWS";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tomberek ];
+  };
+}
diff --git a/pkgs/tools/admin/procs/default.nix b/pkgs/tools/admin/procs/default.nix
index 10f327fd23d3..280949cfdcec 100644
--- a/pkgs/tools/admin/procs/default.nix
+++ b/pkgs/tools/admin/procs/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c2faw88np5dsbnd915m9a2fkx3a7xy9ii0xvacxkrv3z2zab3fc";
+    sha256 = "06q18ynb4r9dcxc690291z9vvll9rfpc8j1gkkgfav2f1xdndzq3";
   };
 
   cargoSha256 = "11wv02nn6gp32zzcd6kmsh6ky0dzyk1qqhb5vxvmq2nxhxjlddwv";
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index bb02c286c4d3..136ab4fe3413 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "screen";
-  version = "4.7.0";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "mirror://gnu/screen/${pname}-${version}.tar.gz";
-    sha256 = "1h90bpy2wk304xw367y1zwz0kilrpm6h28nphykx4fvqz8l56xys";
+    sha256 = "18ascpjzsy70h6hk7wpg8zmzjwgdyrdr7c6z4pg5z4l9hhyv24bf";
   };
 
   configureFlags= [
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 9c9a4450ee8b..65b34f1b720d 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.33.1";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15z8iwig10brjxirr9nm1aibjz6qpd82v7n9c4i2q1q9qvb3j5cs";
+    sha256 = "17338l3nj6rysl9qvlbi1amqk6n5p15x8fvd11md7hwiavy4c63c";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
       --replace "/bin/echo" "echo"
   '';
 
-  cargoSha256 = "16jr96ljd34x3fa2jahcqmjm1ds8519hx391wv1snk7y70fz1314";
+  cargoSha256 = "0q6g7i930n23aabkwfn30lpbm5brjls552ql5khc6w02sirshsng";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/megatools/default.nix b/pkgs/tools/networking/megatools/default.nix
index a8154f26a713..50875858574d 100644
--- a/pkgs/tools/networking/megatools/default.nix
+++ b/pkgs/tools/networking/megatools/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, fuse, curl, glib-networking
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, glib, fuse, curl, glib-networking
 , asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "megatools";
   version = "1.10.2";
 
-  src = fetchFromGitHub {
-    owner = "megous";
-    repo = "megatools";
+  src = fetchgit {
+    url = "https://megous.com/git/megatools";
     rev = version;
     sha256 = "001hw8j36ld03wwaphq3xdaazf2dpl36h84k8xmk524x8vlia8lk";
   };
@@ -16,7 +15,8 @@ stdenv.mkDerivation rec {
     autoreconfHook pkgconfig wrapGAppsHook asciidoc libxml2
     docbook_xsl docbook_xml_dtd_45 libxslt
   ];
-  buildInputs = [ glib glib-networking fuse curl ];
+  buildInputs = [ glib glib-networking curl ]
+  ++ stdenv.lib.optionals stdenv.isLinux [ fuse ];
 
   enableParallelBuilding = true;
 
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     homepage = https://megatools.megous.com/;
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.viric maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index df2cdf6b5909..424c6689e3fc 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -14,11 +14,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "1.0.20200121";
+  version = "1.0.20200206";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
-    sha256 = "0s82i8ibf0zj2wka625vh4rihdwmvlkv1v3bilrlcscwgfvzjfhf";
+    sha256 = "0ivc08lds5w39a6f2xdfih9wlk5g724hl3kpdvxvh5yff4l84qb7";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 71287da105b4..11276b5ee7f0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -782,6 +782,8 @@ in
 
   automirror = callPackage ../tools/misc/automirror { };
 
+  bash-my-aws = callPackage ../tools/admin/bash-my-aws { };
+
   bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { };
 
   bitwarden = callPackage ../tools/security/bitwarden { };
@@ -1927,6 +1929,8 @@ in
 
   lynis = callPackage ../tools/security/lynis { };
 
+  mapproxy = callPackage ../applications/misc/mapproxy { };
+
   marlin-calc = callPackage ../tools/misc/marlin-calc {};
 
   mathics = with python2Packages; toPythonApplication mathics;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f400f59eadd7..9fe07ea40a04 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4316,7 +4316,9 @@ in {
 
   nbconvert = callPackage ../development/python-modules/nbconvert { };
 
-  nbformat = callPackage ../development/python-modules/nbformat { };
+  nbformat = if isPy3k then 
+    callPackage ../development/python-modules/nbformat { }
+  else callPackage ../development/python-modules/nbformat/2.nix { };
 
   nbmerge = callPackage ../development/python-modules/nbmerge { };
 
@@ -4896,6 +4898,8 @@ in {
 
   pyopencl = callPackage ../development/python-modules/pyopencl { };
 
+  pyosmium = callPackage ../development/python-modules/pyosmium { };
+
   pyotp = callPackage ../development/python-modules/pyotp { };
 
   pyproj = callPackage ../development/python-modules/pyproj { };