summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/audio/mimic/default.nix18
-rw-r--r--pkgs/applications/audio/pamixer/default.nix22
-rw-r--r--pkgs/applications/misc/keystore-explorer/default.nix6
-rw-r--r--pkgs/applications/misc/octoprint/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/k0sctl/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/pgo-client/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix12
-rw-r--r--pkgs/applications/networking/mhost/default.nix26
-rw-r--r--pkgs/applications/virtualization/containerd/1.4.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/data/fonts/comfortaa/default.nix6
-rw-r--r--pkgs/data/themes/materia-kde/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch91
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix17
-rw-r--r--pkgs/development/libraries/yascreen/default.nix31
-rw-r--r--pkgs/development/misc/newlib/default.nix22
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/distorm3/default.nix37
-rw-r--r--pkgs/development/python-modules/magic-wormhole/default.nix1
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--pkgs/development/python-modules/pep8-naming/default.nix13
-rw-r--r--pkgs/development/python-modules/pontos/default.nix4
-rw-r--r--pkgs/development/python-modules/pygls/default.nix23
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix4
-rw-r--r--pkgs/development/python-modules/requirements-detector/default.nix4
-rw-r--r--pkgs/development/python-modules/unidecode/default.nix29
-rw-r--r--pkgs/development/tools/cmake-language-server/default.nix35
-rw-r--r--pkgs/development/tools/dyff/default.nix36
-rw-r--r--pkgs/development/tools/misc/polylith/default.nix32
-rw-r--r--pkgs/development/tools/prospector/default.nix55
-rw-r--r--pkgs/development/tools/prospector/setoptconf.nix8
-rw-r--r--pkgs/development/tools/typos/default.nix22
-rw-r--r--pkgs/misc/vscode-extensions/default.nix12
-rw-r--r--pkgs/servers/calibre-web/default.nix3
-rw-r--r--pkgs/servers/gonic/default.nix6
-rw-r--r--pkgs/servers/nosql/redis/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix27
-rw-r--r--pkgs/top-level/lua-packages.nix4
39 files changed, 470 insertions, 199 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 07d76c8f343..e99205e9f14 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3119,6 +3119,12 @@
     githubId = 50854;
     name = "edef";
   };
+  edlimerkaj = {
+    name = "Edli Merkaj";
+    email = "edli.merkaj@identinet.io";
+    github = "edlimerkaj";
+    githubId = 71988351;
+  };
   edibopp = {
     email = "eduard.bopp@aepsil0n.de";
     github = "edibopp";
diff --git a/pkgs/applications/audio/mimic/default.nix b/pkgs/applications/audio/mimic/default.nix
index 5ed51a99895..cd24bec3035 100644
--- a/pkgs/applications/audio/mimic/default.nix
+++ b/pkgs/applications/audio/mimic/default.nix
@@ -1,29 +1,37 @@
-{ config, lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config
-, alsa-lib, libtool, icu
+{ config, lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, makeWrapper
+, alsa-lib, alsa-plugins, libtool, icu, pcre2
 , pulseaudioSupport ? config.pulseaudio or false, libpulseaudio }:
 
 stdenv.mkDerivation rec {
   pname = "mimic";
-  version = "1.2.0.2";
+  version = "1.3.0.1";
 
   src = fetchFromGitHub {
     rev = version;
-    repo = "mimic";
+    repo = "mimic1";
     owner = "MycroftAI";
-    sha256 = "1wkpbwk88lsahzkc7pzbznmyy0lc02vsp0vkj8f1ags1gh0lc52j";
+    sha256 = "1agwgby9ql8r3x5rd1rgx3xp9y4cdg4pi3kqlz3vanv9na8nf3id";
   };
 
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
+    makeWrapper
   ];
 
   buildInputs = [
     alsa-lib
+    alsa-plugins
     libtool
     icu
+    pcre2
   ] ++ lib.optional pulseaudioSupport libpulseaudio;
 
+  postInstall = ''
+    wrapProgram $out/bin/mimic \
+      --run "export ALSA_PLUGIN_DIR=${alsa-plugins}/lib/alsa-lib"
+  '';
+
   meta = {
     description = "Mycroft's TTS engine, based on CMU's Flite (Festival Lite)";
     homepage = "https://mimic.mycroft.ai/";
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
index 4ea432885f6..ac3df5c5f95 100644
--- a/pkgs/applications/audio/pamixer/default.nix
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -1,31 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, boost, libpulseaudio, installShellFiles }:
+{ lib, stdenv, fetchFromGitHub, boost, libpulseaudio }:
 
 stdenv.mkDerivation rec {
   pname = "pamixer";
-  version = "unstable-2021-03-29";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "cdemoulins";
     repo = "pamixer";
-    rev = "4ea2594cb8c605dccd00a381ba19680eba368e94";
-    sha256 = "sha256-kV4wIxm1WZvqqyfmgQ2cSbRJwJR154OW0MMDg2ntf6g=";
+    rev = version;
+    sha256 = "sha256-7VNhHAQ1CecQPlqb8SMKK0U1SsFZxDuS+QkPqJfMqrQ=";
   };
 
   buildInputs = [ boost libpulseaudio ];
 
-  nativeBuildInputs = [ installShellFiles ];
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 pamixer -t $out/bin
-
-    runHook postInstall
-  '';
-
-  postInstall = ''
-    installManPage pamixer.1
-  '';
+  makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
     description = "Pulseaudio command line mixer";
diff --git a/pkgs/applications/misc/keystore-explorer/default.nix b/pkgs/applications/misc/keystore-explorer/default.nix
index f98e21edf5b..2863dd103d8 100644
--- a/pkgs/applications/misc/keystore-explorer/default.nix
+++ b/pkgs/applications/misc/keystore-explorer/default.nix
@@ -1,4 +1,4 @@
-{ fetchzip, lib, stdenv, jdk8, runtimeShell }:
+{ fetchzip, lib, stdenv, jdk, runtimeShell }:
 
 stdenv.mkDerivation rec {
   version = "5.4.4";
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
     # Python on Darwin; just write our own start script to avoid unnecessary dependencies
     cat > $out/bin/keystore-explorer <<EOF
     #!${runtimeShell}
-    export JAVA_HOME=${jdk8.home}
-    exec ${jdk8}/bin/java -jar $out/share/keystore-explorer/kse.jar "\$@"
+    export JAVA_HOME=${jdk.home}
+    exec ${jdk}/bin/java -jar $out/share/keystore-explorer/kse.jar "\$@"
     EOF
     chmod +x $out/bin/keystore-explorer
 
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index bc994bf6823..85ddbdccef7 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -35,7 +35,6 @@ let
         (mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
         (mkOverride "sarge" "0.1.5.post0" "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s")
         (mkOverride "tornado" "5.1.1" "4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409")
-        (mkOverride "unidecode" "0.04.21" "280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051")
 
         # Requires flask<2, cannot mkOverride because tests need to be disabled
         (
@@ -65,7 +64,20 @@ let
           }
         )
 
-
+        # Requires unidecode>=0.04.14,<0.05. Upstream changed the source naming between releases
+        (
+          self: super: {
+            unidecode = super.unidecode.overridePythonAttrs (oldAttrs: rec {
+              version = "0.04.21";
+              src = fetchFromGitHub {
+                owner = "avian2";
+                repo = "unidecode";
+                rev = "release-${version}";
+                sha256 = "0p5bkibv0xm1265dlfrz3zq3k9bbx07gl8zyq8mvvb8hi7p5lifg";
+              };
+            });
+          }
+        )
 
         # Requires websocket-client <1.0, >=0.57. Cannot do mkOverride b/c differing underscore/hyphen in pypi source name
         (
diff --git a/pkgs/applications/networking/cluster/k0sctl/default.nix b/pkgs/applications/networking/cluster/k0sctl/default.nix
index d12042f4078..8ce36e8c312 100644
--- a/pkgs/applications/networking/cluster/k0sctl/default.nix
+++ b/pkgs/applications/networking/cluster/k0sctl/default.nix
@@ -5,17 +5,24 @@
 
 buildGoModule rec {
   pname = "k0sctl";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "k0sproject";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0vsOZbSQtoWvU81wnT7QWNhvIclwGAu441lTOuZnXho=";
+    sha256 = "sha256-hlJfgNFHEjIrvHhaAje1XQbNO6e3D/qcCmdVFhklwqs=";
   };
 
   vendorSha256 = "sha256-3OTkigryWsyCytyNMyumJJtc/BwtdryvDQRan2dzqfg=";
 
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/k0sproject/k0sctl/version.Environment=production"
+    "-X github.com/k0sproject/k0sctl/version.Version=${version}"
+  ];
+
   meta = with lib; {
     description = "A bootstrapping and management tool for k0s clusters.";
     homepage = "https://k0sproject.io/";
diff --git a/pkgs/applications/networking/cluster/pgo-client/default.nix b/pkgs/applications/networking/cluster/pgo-client/default.nix
index 8c74602465c..87bde3c2edd 100644
--- a/pkgs/applications/networking/cluster/pgo-client/default.nix
+++ b/pkgs/applications/networking/cluster/pgo-client/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgo-client";
-  version = "4.7.2";
+  version = "4.7.3";
 
   src = fetchFromGitHub {
     owner = "CrunchyData";
     repo = "postgres-operator";
     rev = "v${version}";
-    sha256 = "sha256-SUv5896Ao+EQEM3Mb//rTDVXJgbK/cOGKBeazF/USfQ=";
+    sha256 = "sha256-nIflJLHhzEMq4RZUHjZYvBW+cxsi/gc9ZnMoGCesbrc=";
   };
 
   vendorSha256 = "sha256-m8b6Lh6it67A6cppdBDX4X0u7Kde4GQz9wln/TrHVwI=";
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index 76babadc023..ecef3650683 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -3,15 +3,15 @@
 buildGoModule rec {
   pname = "velero";
   # When updating, change the commit underneath
-  version = "1.6.3";
-  commit = "8c9cdb9603446760452979dc77f93b17054ea1cc";
+  version = "1.7.0";
+  commit = "9e52260568430ecb77ac38a677ce74267a8c2176";
 
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "vmware-tanzu";
     repo = "velero";
-    sha256 = "sha256-oFDTjpcwlvSiAROG/EKYRCD+qKyZXu1gKotBcD0dfvk=";
+    rev = "v${version}";
+    sha256 = "sha256-n5Rk+Fyb6yAI5sRZi+WE1KyQZyGryZSP4yd/gmmsQxw=";
   };
 
   ldflags = [
@@ -21,9 +21,9 @@ buildGoModule rec {
     "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean"
   ];
 
-  vendorSha256 = "sha256-ypgrdv6nVW+AAwyVsiROXs6jGgDTodGrGqiT2s5elOU=";
+  vendorSha256 = "sha256-qsRbwLKNnuQRIsx0+sfOfR2OQ0+el0vptxz7mMew7zY=";
 
-  excludedPackages = [ "issue-template-gen" "crd-gen" "release-tools" "velero-restic-restore-helper" ];
+  excludedPackages = [ "issue-template-gen" "crd-gen" "release-tools" "velero-restic-restore-helper" "v1" "v1beta1" ];
 
   doCheck = false; # Tests expect a running cluster see https://github.com/vmware-tanzu/velero/tree/main/test/e2e
   doInstallCheck = true;
diff --git a/pkgs/applications/networking/mhost/default.nix b/pkgs/applications/networking/mhost/default.nix
new file mode 100644
index 00000000000..f6aad5eaa08
--- /dev/null
+++ b/pkgs/applications/networking/mhost/default.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub, rustPlatform, lib }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mhost";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "lukaspustina";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1j0378f8gj8hdcdhpj6lqlnriasmjxzri42wjj9pygzkmpd3ym86";
+  };
+
+  cargoSha256 = "0gqrya0bpdd67k2sxib7f4npnrx84d9r4hjq2sg2xz4j8pmgs018";
+
+  CARGO_CRATE_NAME = "mhost";
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A modern take on the classic host DNS lookup utility including an easy to use and very fast Rust lookup library";
+    homepage = "https://github.com/lukaspustina/mhost";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = [ maintainers.mgttlinger ];
+  };
+}
diff --git a/pkgs/applications/virtualization/containerd/1.4.nix b/pkgs/applications/virtualization/containerd/1.4.nix
index 9e62f86a347..92c7ab0b2fd 100644
--- a/pkgs/applications/virtualization/containerd/1.4.nix
+++ b/pkgs/applications/virtualization/containerd/1.4.nix
@@ -10,13 +10,13 @@
 
 buildGoPackage rec {
   pname = "containerd";
-  version = "1.4.9";
+  version = "1.4.11";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "1ykikks6ihgg899ibk9m9m0hqrbss0cx7l7z4yjb873b10bacj52";
+    sha256 = "sha256-mUagr1/LqTCFvshWuiSMxsqdRqjzogt2tZ0uwR7ZVAs=";
   };
 
   goPackagePath = "github.com/containerd/containerd";
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index cce72e2a745..844ab025f5c 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,7 +10,7 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.5.5";
+  version = "1.5.7";
 
   outputs = [ "out" "man" ];
 
@@ -18,7 +18,7 @@ buildGoModule rec {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-6mDTTXHpXBcKOcT+VrGgt6HJzvTeKgJ0ItJ+IjCTJxk=";
+    sha256 = "sha256-BHVlGXyTkaiRkG8WG1LdtxrQs8nKS8djZFnO/AfKBUw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix
index 39c228d235b..fc7ce56f796 100644
--- a/pkgs/data/fonts/comfortaa/default.nix
+++ b/pkgs/data/fonts/comfortaa/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub }:
 
 let
-  version = "3.101";
+  version = "2021-07-29";
 in fetchFromGitHub rec {
   name = "comfortaa-${version}";
 
   owner = "googlefonts";
   repo = "comfortaa";
-  rev = version;
+  rev = "2a87ac6f6ea3495150bfa00d0c0fb53dd0a2f11b";
 
   postFetch = ''
     tar -xf $downloadedFile --strip=1
@@ -16,7 +16,7 @@ in fetchFromGitHub rec {
     cp FONTLOG.txt README.md $out/share/doc/comfortaa
   '';
 
-  sha256 = "06jhdrfzl01ma085bp354g002ypmkbp6a51jn1lsj77zfj2mfmfc";
+  sha256 = "12ad7qy11q49iv9h3l2d7x7y7kf0hxbqhclb92bzwig8dzly9n2k";
 
   meta = with lib; {
     homepage = "http://aajohan.deviantart.com/art/Comfortaa-font-105395949";
diff --git a/pkgs/data/themes/materia-kde/default.nix b/pkgs/data/themes/materia-kde/default.nix
index bf3b56ae666..a50cadb0676 100644
--- a/pkgs/data/themes/materia-kde/default.nix
+++ b/pkgs/data/themes/materia-kde/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "materia-kde-theme";
-  version = "20210624";
+  version = "20210814";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "materia-kde";
     rev = version;
-    sha256 = "jmUJAWoQ/GVPNQOjlyZBg4rIIo+rhzr5imnCFAWOtrA=";
+    sha256 = "KfC1nB5WUcYixqSy5XCP+6Uqhs07Y3p2F1H+5HB8wAg=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A port of the materia theme for Plasma";
     homepage = "https://github.com/PapirusDevelopmentTeam/materia-kde";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.diffumist ];
     platforms = platforms.all;
   };
diff --git a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
index d273e262226..e6ab62caf71 100644
--- a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+++ b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
@@ -8,22 +8,32 @@ Because it's completely bypassing argv0! This looks at the executable
 file in-use according to the kernel!
 
 Wrappers cannot affect the `/proc/.../exe` symlink!
+
+Co-authored-by: Yaroslav Bolyukin <iam@lach.pw>
 ---
- src/service_utils.h | 28 +++++++++++++++++++++++++++-
- 1 file changed, 27 insertions(+), 1 deletion(-)
+ src/nixos_utils.h     | 41 +++++++++++++++++++++++++++++++++++++++++
+ src/service_utils.h   |  4 +++-
+ src/waylandclient.cpp |  5 ++++-
+ 3 files changed, 48 insertions(+), 2 deletions(-)
+ create mode 100644 src/nixos_utils.h
 
-diff --git a/src/service_utils.h b/src/service_utils.h
-index 8a70c1fad..6674f553b 100644
---- a/src/service_utils.h
-+++ b/src/service_utils.h
-@@ -26,8 +26,34 @@ namespace KWin
- const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces");
- const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces");
- 
--static QStringList fetchProcessServiceField(const QString &executablePath, const QString &fieldName)
-+static QStringList fetchProcessServiceField(const QString &in_executablePath, const QString &fieldName)
- {
-+    // !! Start NixOS fix
+diff --git a/src/nixos_utils.h b/src/nixos_utils.h
+new file mode 100644
+index 0000000..726065d
+--- /dev/null
++++ b/src/nixos_utils.h
+@@ -0,0 +1,41 @@
++#ifndef NIXOS_UTILS_H
++#define NIXOS_UTILS_H
++
++// kwin
++#include <kwinglobals.h>
++
++namespace KWin
++{
++
++static QString unwrapExecutablePath(const QString &in_executablePath)
++{
 +    // NixOS fixes many packaging issues through "wrapper" scripts that manipulates the environment or does
 +    // miscellaneous trickeries and mischievous things to make the programs work.
 +    // In turn, programs often employs different mischievous schemes and trickeries to do *other things.
@@ -47,11 +57,58 @@ index 8a70c1fad..6674f553b 100644
 +        // Approximately equivalent to s;/\.;/;
 +        executablePath.remove(executablePath.lastIndexOf("/")+1, 1);
 +    }
-+    // !! End NixOS fix
 +
++    return executablePath;
++}
++
++}// namespace
++
++#endif // SERVICE_UTILS_H
+diff --git a/src/service_utils.h b/src/service_utils.h
+index 8a70c1f..475b15d 100644
+--- a/src/service_utils.h
++++ b/src/service_utils.h
+@@ -19,6 +19,7 @@
+ #include <QLoggingCategory>
+ //KF
+ #include <KApplicationTrader>
++#include "nixos_utils.h"
+ 
+ namespace KWin
+ {
+@@ -26,8 +27,9 @@ namespace KWin
+ const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces");
+ const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces");
+ 
+-static QStringList fetchProcessServiceField(const QString &executablePath, const QString &fieldName)
++static QStringList fetchProcessServiceField(const QString &in_executablePath, const QString &fieldName)
+ {
++    const QString executablePath = unwrapExecutablePath(in_executablePath);
      // needed to be able to use the logging category in a header static function
      static QLoggingCategory KWIN_UTILS ("KWIN_UTILS", QtWarningMsg);
      const auto servicesFound = KApplicationTrader::query([&executablePath] (const KService::Ptr &service) {
+diff --git a/src/waylandclient.cpp b/src/waylandclient.cpp
+index fd2c0c1..ae8cf96 100644
+--- a/src/waylandclient.cpp
++++ b/src/waylandclient.cpp
+@@ -10,6 +10,7 @@
+ #include "screens.h"
+ #include "wayland_server.h"
+ #include "workspace.h"
++#include "nixos_utils.h"
+ 
+ #include <KWaylandServer/display.h>
+ #include <KWaylandServer/clientbuffer.h>
+@@ -173,7 +174,9 @@ void WaylandClient::updateIcon()
+ 
+ void WaylandClient::updateResourceName()
+ {
+-    const QFileInfo fileInfo(surface()->client()->executablePath());
++    const QString in_path = surface()->client()->executablePath();
++    const QString path = unwrapExecutablePath(in_path);
++    const QFileInfo fileInfo(path);
+     if (fileInfo.exists()) {
+         const QByteArray executableFileName = fileInfo.fileName().toUtf8();
+         setResourceClass(executableFileName, executableFileName);
 -- 
-2.28.0
-
+2.32.0
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index 3b8540ca68f..10d0d49236a 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -45,10 +45,9 @@ let
       };
       version = "5.212.0-alpha4";
     };
-
     qtwebengine =
       let
-        branchName = "5.15.5";
+        branchName = "5.15.6";
         rev = "v${branchName}-lts";
       in
       {
@@ -56,24 +55,26 @@ let
 
         src = fetchgit {
           url = "https://github.com/qt/qtwebengine.git";
-          sha256 = "12wf30d34sgn82mbz91xybxyn3j1mhvxda452cfkxm232n1f2kjb";
+          sha256 = "17bw9yf04zmr9ck5jkrd435c8b03zpf937vn2nwgsr8p78wkg3kr";
           inherit rev branchName;
           fetchSubmodules = true;
           leaveDotGit = true;
           name = "qtwebengine-${lib.substring 0 7 rev}.tar.gz";
           postFetch = ''
             # remove submodule .git directory
-            rm -rf $out/src/3rdparty/.git
+            rm -rf "$out/src/3rdparty/.git"
 
             # compress to not exceed the 2GB output limit
-            mv $out source
             # try to make a deterministic tarball
             tar -I 'gzip -n' \
-              --sort name \
-              --mtime 1970-01-01 \
+              --sort=name \
+              --mtime=1970-01-01 \
               --owner=root --group=root \
               --numeric-owner --mode=go=rX,u+rw,a-s \
-              -cf $out source
+              --transform='s@^@source/@' \
+              -cf temp  -C "$out" .
+            rm -r "$out"
+            mv temp "$out"
           '';
         };
       };
diff --git a/pkgs/development/libraries/yascreen/default.nix b/pkgs/development/libraries/yascreen/default.nix
new file mode 100644
index 00000000000..d1b96ac3ebe
--- /dev/null
+++ b/pkgs/development/libraries/yascreen/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, go-md2man, fetchFromGitHub, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  pname = "yascreen";
+  version = "1.86";
+
+  src = fetchFromGitHub {
+    owner = "bbonev";
+    repo = "yascreen";
+    rev = "v${version}";
+    sha256 = "sha256-z7j2yceiUyJNdyoVXAPiINln2/MUMqVJh+VwQnmzO2A=";
+  };
+
+  nativeBuildInputs = [ go-md2man ];
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/bbonev/yascreen/commit/a30b8fce66a3db9f1194fede30a48424ed3d696b.patch";
+      sha256 = "sha256-Bnaf3OVMlqyYMdGsJ6fF3oYsWT01FcjuRzxi6xfbnZg=";
+    })
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/bbonev/yascreen";
+    description = "Yet Another Screen Library (curses replacement for daemons and embedded apps)";
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.arezvov ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/misc/newlib/default.nix b/pkgs/development/misc/newlib/default.nix
index 870aa068afe..60ad50a8e4f 100644
--- a/pkgs/development/misc/newlib/default.nix
+++ b/pkgs/development/misc/newlib/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, buildPackages }:
+{ stdenv, fetchurl, buildPackages
+, # "newlib-nano" is what the official ARM embedded toolchain calls this build
+  # configuration that prioritizes low space usage. We include it as a preset
+  # for embedded projects striving for a similar configuration.
+  nanoizeNewlib ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "newlib";
@@ -22,10 +27,21 @@ stdenv.mkDerivation rec {
 
     "--disable-newlib-supplied-syscalls"
     "--disable-nls"
+    "--enable-newlib-retargetable-locking"
+  ] ++ (if !nanoizeNewlib then [
     "--enable-newlib-io-long-long"
     "--enable-newlib-register-fini"
-    "--enable-newlib-retargetable-locking"
-  ];
+  ] else [
+    "--enable-newlib-reent-small"
+    "--disable-newlib-fvwrite-in-streamio"
+    "--disable-newlib-fseek-optimization"
+    "--disable-newlib-wide-orient"
+    "--enable-newlib-nano-malloc"
+    "--disable-newlib-unbuf-stream-opt"
+    "--enable-lite-exit"
+    "--enable-newlib-global-atexit"
+    "--enable-newlib-nano-formatted-io"
+  ]);
 
   dontDisableStatic = true;
 
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index e94693b51e8..f37eaf47eef 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "9.1.2";
+  version = "9.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rgRXJ0kbIHg8QpYdBXJ5KA2kU6lV14yuVfj5OjQvmU8=";
+    sha256 = "sha256-I7SFujEh5s+WgRktmjTrcQlASOjywXvlC1SiltcKRAE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/distorm3/default.nix b/pkgs/development/python-modules/distorm3/default.nix
index d798414c197..715e8c35714 100644
--- a/pkgs/development/python-modules/distorm3/default.nix
+++ b/pkgs/development/python-modules/distorm3/default.nix
@@ -1,21 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, yasm
+}:
 
 buildPythonPackage rec {
   pname = "distorm3";
-  version = "3.3.4";
+  version = "3.5.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "1bh9xdiz9mkf9lfffimfn3hgd0mh60y7wl1micgkxzpl7hnxrpd4";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "gdabah";
+    repo = "distorm";
+    rev = version;
+    sha256 = "012bh1l2w7i9q8rcnznj3x0lra09d5yxd3r42cbrqdwl1mmg26qn";
   };
 
-  # no tests included
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+    yasm
+  ];
+
+  disabledTests = [
+    # TypeError: __init__() missing 3 required positional...
+    "test_dummy"
+  ];
+
+  pythonImportsCheck = [ "distorm3" ];
 
   meta = with lib; {
-    description = "Powerful Disassembler Library For x86/AMD64";
+    description = "Disassembler library for x86/AMD64";
     homepage = "https://github.com/gdabah/distorm";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index 0d8b3a1ec07..abb9a04eaa4 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -62,5 +62,6 @@ buildPythonPackage rec {
     # https://github.com/NixOS/nixpkgs/issues/71826
     broken = isPy27;
     maintainers = with maintainers; [ asymmetric ];
+    mainProgram = "wormhole";
   };
 }
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index 6e0beb79749..2ef611a0acf 100644
--- a/pkgs/development/python-modules/mautrix/default.nix
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.10.8";
+  version = "0.10.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-25zLhlGMwDja5wGmkqYuYtSUqOdD/gzUKGi79f1Tsjs=";
+    sha256 = "b774a2e1178a2f9812ce02119c6ee374b1ea08d34bad4c09a1ecc92d08d98f28";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pep8-naming/default.nix b/pkgs/development/python-modules/pep8-naming/default.nix
index a23cce431a0..9bfdbe89aab 100644
--- a/pkgs/development/python-modules/pep8-naming/default.nix
+++ b/pkgs/development/python-modules/pep8-naming/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
 , flake8
 , flake8-polyfill
@@ -9,21 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pep8-naming";
-  version = "0.11.1";
+  version = "0.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0937rnk3c2z1jkdmbw9hfm80p5k467q7rqhn6slfiprs4kflgpd1";
+    sha256 = "sha256-uyRVlHdX0WKqTK1V26TOApAFzRaS8omaIdUdhjDKeEE=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fix tests by setting extended-default-ignore to an empty list
-      url = "https://github.com/PyCQA/pep8-naming/commit/6d62db81d7967e123e29673a4796fefec6f06d26.patch";
-      sha256 = "1jpr2dga8sphksik3izyzq9hiszyki691mwnh2rjzd2vpgnv8cxf";
-    })
-  ];
-
   propagatedBuildInputs = [
     flake8
     flake8-polyfill
diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix
index 1264e40f30d..a175b2a813c 100644
--- a/pkgs/development/python-modules/pontos/default.nix
+++ b/pkgs/development/python-modules/pontos/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "21.9.1";
+  version = "21.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pgvpg5sjmd9p1i9lm39k4r5qsz158wfgwfa56rx0p8xqf00h1xp";
+    sha256 = "0dmszxwmkgvpl7w0g4qd3dp67bw2indvd2my6jjgfn0wgwyn46r1";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 1d08de404f0..7e424f21dee 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -2,6 +2,9 @@
 , buildPythonPackage
 , isPy3k
 , fetchFromGitHub
+, setuptools-scm
+, pydantic
+, typeguard
 , mock
 , pytest-asyncio
 , pytestCheckHook
@@ -9,17 +12,31 @@
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "0.9.1";
+  version = "0.11.2";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "openlawlibrary";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1v7x5598d6jg8ya0spqjma56y062rznwimsrp8nq6fkskqgfm0ds";
+    sha256 = "sha256-zgQ5m198HMyFFrASSYCzn0EDLLeVy2j4LD0rEyEgahQ=";
   };
 
-  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [
+    pydantic
+    typeguard
+  ];
+
+  checkInputs = [
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pygls" ];
 
   meta = with lib; {
     description = "Pythonic generic implementation of the Language Server Protocol";
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index 9d8b36c5ef8..701163bb3d0 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pylint-django";
-  version = "2.4.3";
+  version = "2.4.4";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mybq9jynypxbaxj921s3sx8dph8n3hmipmv4nla1g9h07g9g02z";
+    sha256 = "sha256-bFcb5GhC7jc7jEpNlyjWa2CuCSMvQLJdnag+7mHwSb8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/requirements-detector/default.nix b/pkgs/development/python-modules/requirements-detector/default.nix
index 0d91cbc7509..e8621429cea 100644
--- a/pkgs/development/python-modules/requirements-detector/default.nix
+++ b/pkgs/development/python-modules/requirements-detector/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "requirements-detector";
-  version = "0.6";
+  version = "0.7";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "landscapeio";
     repo = pname;
     rev = version;
-    sha256 = "1sfmm7daz0kpdx6pynsvi6qlfhrzxx783l1wb69c8dfzya4xssym";
+    sha256 = "sha256-DdPNqbTsL2+GUp8vppqUSa0mUVMxk73MCcpwo8u51tU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/unidecode/default.nix b/pkgs/development/python-modules/unidecode/default.nix
index 3ff2e3b981e..694f10ba087 100644
--- a/pkgs/development/python-modules/unidecode/default.nix
+++ b/pkgs/development/python-modules/unidecode/default.nix
@@ -1,22 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi, glibcLocales }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-  pname = "Unidecode";
-  version = "1.2.0";
+  pname = "unidecode";
+  version = "1.3.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8d73a97d387a956922344f6b74243c2c6771594659778744b2dbdaad8f6b727d";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "avian2";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "07789mrq0gjxrg1b9a3ypzzfww224sbj25wl0h9nik22sjwi8qhh";
   };
 
-  LC_ALL="en_US.UTF-8";
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  buildInputs = [ glibcLocales ];
+  pythonImportsCheck = [ "unidecode" ];
 
   meta = with lib; {
     homepage = "https://pypi.python.org/pypi/Unidecode/";
     description = "ASCII transliterations of Unicode text";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ domenkozar ];
   };
 }
diff --git a/pkgs/development/tools/cmake-language-server/default.nix b/pkgs/development/tools/cmake-language-server/default.nix
index 0540e5785f6..663e0a5b66f 100644
--- a/pkgs/development/tools/cmake-language-server/default.nix
+++ b/pkgs/development/tools/cmake-language-server/default.nix
@@ -1,46 +1,41 @@
-{ lib, stdenv, buildPythonApplication, fetchFromGitHub
-, poetry, pygls, pyparsing
-, cmake, pytest, pytest-datadir
-, fetchpatch
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, poetry
+, pygls
+, pyparsing
+, cmake
+, pytest-datadir
+, pytestCheckHook
 }:
 
 buildPythonApplication rec {
   pname = "cmake-language-server";
-  version = "0.1.2";
+  version = "0.1.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "regen100";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vz7bjxkk0phjhz3h9kj6yr7wnk3g7lqmkqraa0kw12mzcfck837";
+    sha256 = "sha256-eZBnygEYjLzk29tvLGg1JdhCECc5x2MewHRSChMuCjo=";
   };
 
   patches = [
+    # Test timeouts occasionally cause the build to fail
     ./disable-test-timeouts.patch
-  ] ++ lib.optionals stdenv.isDarwin [
-    # can be removed after v0.1.2
-    (fetchpatch {
-      url = "https://github.com/regen100/cmake-language-server/commit/0ec120f39127f25898ab110b43819e3e9becb8a3.patch";
-      sha256 = "1xbmarvsvzd61fnlap4qscnijli2rw2iqr7cyyvar2jd87z6sfp0";
-    })
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'pygls = "^0.8.1"' 'pygls = "^0.9.0"'
-  '';
-
   nativeBuildInputs = [ poetry ];
   propagatedBuildInputs = [ pygls pyparsing ];
 
-  checkInputs = [ cmake pytest pytest-datadir ];
+  checkInputs = [ cmake pytest-datadir pytestCheckHook ];
   dontUseCmakeConfigure = true;
-  checkPhase = "pytest";
+  pythonImportsCheck = [ "cmake_language_server" ];
 
   meta = with lib; {
-    homepage = "https://github.com/regen100/cmake-language-server";
     description = "CMake LSP Implementation";
+    homepage = "https://github.com/regen100/cmake-language-server";
     license = licenses.mit;
     maintainers = with maintainers; [ kira-bruneau ];
   };
diff --git a/pkgs/development/tools/dyff/default.nix b/pkgs/development/tools/dyff/default.nix
new file mode 100644
index 00000000000..c51e5738b9e
--- /dev/null
+++ b/pkgs/development/tools/dyff/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildGoModule, fetchFromGitHub}:
+
+buildGoModule rec {
+  pname = "dyff";
+  version = "1.4.3";
+
+  src = fetchFromGitHub {
+    owner = "homeport";
+    repo = "dyff";
+    rev = "v${version}";
+    sha256 = "0r1nfwglyw8b46n17bpmgscfmjhjsbk83lgkpm63ysy0h5r84dq8";
+  };
+
+  vendorSha256 = "12mirnw229x5jkzda0c45vnjnv7fjvzf0rm3fcy5f3wza6hkx6q7";
+
+  subPackages = [
+    "cmd/dyff"
+    "pkg/dyff"
+    "internal/cmd"
+  ];
+
+  meta = with lib; {
+    description = "A diff tool for YAML files, and sometimes JSON";
+    longDescription = ''
+      dyff is inspired by the way the old BOSH v1 deployment output reported
+      changes from one version to another by only showing the parts of a YAML
+      file that change.
+
+      Each difference is referenced by its location in the YAML document by
+      using either the Spruce or go-patch path syntax.
+    '';
+    homepage = "https://github.com/homeport/dyff";
+    license = licenses.mit;
+    maintainers = with maintainers; [ edlimerkaj ];
+  };
+}
diff --git a/pkgs/development/tools/misc/polylith/default.nix b/pkgs/development/tools/misc/polylith/default.nix
index b29b2521d17..4397fd11a27 100644
--- a/pkgs/development/tools/misc/polylith/default.nix
+++ b/pkgs/development/tools/misc/polylith/default.nix
@@ -1,30 +1,32 @@
-{ lib, stdenv, fetchurl, jre, runtimeShell }:
+{ lib, stdenv, fetchurl, jdk, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "polylith";
-  version = "0.1.0-alpha9";
+  version = "0.2.12-alpha";
 
   src = fetchurl {
     url = "https://github.com/polyfy/polylith/releases/download/v${version}/poly-${version}.jar";
-    sha256 = "0mjn0fibj7z8wihk5frhyd5ai2bmzm909701sphjs7j9lgg0gc4k";
+    sha256 = "1zsasyrrssj7kmvgfr63fa5hslw9gnlbp9bh05g72bfgzi99n8kg";
   };
 
   dontUnpack = true;
 
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-
-    cat > "$out/bin/poly" <<EOF
+  passAsFile = [ "polyWrapper" ];
+  polyWrapper = ''
     #!${runtimeShell}
     ARGS=""
-    while [ "\$1" != "" ] ; do
-      ARGS="\$ARGS \$1"
+    while [ "$1" != "" ] ; do
+      ARGS="$ARGS $1"
       shift
     done
-    exec "${jre}/bin/java" "-jar" "${src}" \$ARGS
-    EOF
+    exec "${jdk}/bin/java" "-jar" "${src}" $ARGS
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp "$polyWrapperPath" $out/bin/poly
     chmod a+x $out/bin/poly
 
     runHook postInstall
@@ -43,7 +45,7 @@ stdenv.mkDerivation rec {
     description = "A tool used to develop Polylith based architectures in Clojure";
     homepage = "https://github.com/polyfy/polylith";
     license = licenses.epl10;
-    maintainers = [ maintainers.ericdallo ];
-    platforms = jre.meta.platforms;
+    maintainers = with maintainers; [ ericdallo jlesquembre ];
+    platforms = jdk.meta.platforms;
   };
 }
diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix
index 38472ce86f0..2f58737637f 100644
--- a/pkgs/development/tools/prospector/default.nix
+++ b/pkgs/development/tools/prospector/default.nix
@@ -1,55 +1,41 @@
 { lib
 , pkgs
-, python
+, python3
 }:
 
 let
-  py = python.override {
-    packageOverrides = self: super: {
-      pep8-naming = super.pep8-naming.overridePythonAttrs(oldAttrs: rec {
-        version = "0.4.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0nhf8p37y008shd4f21bkj5pizv8q0l8cpagyyb8gr059d6gvvaf";
-        };
-      });
-    };
-  };
-  setoptconf = py.pkgs.callPackage ./setoptconf.nix { };
+  setoptconf-tmp = python3.pkgs.callPackage ./setoptconf.nix { };
 in
 
-with py.pkgs;
+with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "prospector";
-  version = "1.2.0";
-  disabled = isPy27;
+  version = "1.5.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.6.1";
 
   src = pkgs.fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "07kb37zrrsriqzcmli0ghx7qb1iwkzh83qsiikl9jy50faby2sjg";
+    sha256 = "17f822cxrvcvnrzdx1a9fyi9afljq80b6g6z1k2bqa1vs21gwv7l";
   };
 
-  checkInputs = [
-    pytest
-  ];
-
-  checkPhase = ''
-    pytest
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"'
   '';
 
-  patchPhase = ''
-    substituteInPlace setup.py \
-      --replace 'pycodestyle<=2.4.0' 'pycodestyle<=2.5.0'
-  '';
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
-    astroid
-    django
+    bandit
     dodgy
     mccabe
+    mypy
     pep8-naming
     pycodestyle
     pydocstyle
@@ -58,9 +44,18 @@ buildPythonApplication rec {
     pylint-celery
     pylint-django
     pylint-flask
+    pylint-plugin-utils
+    pyroma
     pyyaml
     requirements-detector
-    setoptconf
+    setoptconf-tmp
+    setuptools
+    toml
+    vulture
+  ];
+
+  checkInputs = [
+    pytestCheckHook
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/prospector/setoptconf.nix b/pkgs/development/tools/prospector/setoptconf.nix
index 62b4e95357d..1d0f06a57e7 100644
--- a/pkgs/development/tools/prospector/setoptconf.nix
+++ b/pkgs/development/tools/prospector/setoptconf.nix
@@ -4,19 +4,19 @@
 }:
 
 buildPythonPackage rec {
-  pname = "setoptconf";
-  version = "0.2.0";
+  pname = "setoptconf-tmp";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "177l7j68j751i781bgk6pfhxjj7hwqxzdm2ja5fkywbp0275s2sv";
+    sha256 = "0y2pgpraa36wzlzkxigvmz80mqd3mzcc9wv2yx9bliqks7fhlj70";
   };
 
   # Base tests provided via PyPi are broken
   doCheck = false;
 
   meta = with lib; {
-    homepage = "https://pypi.org/project/setoptconf";
+    homepage = "https://pypi.org/project/setoptconf-tmp";
     description = "A module for retrieving program settings from various sources in a consistant method";
     license = licenses.mit;
     maintainers = with maintainers; [
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
new file mode 100644
index 00000000000..5ddfb418432
--- /dev/null
+++ b/pkgs/development/tools/typos/default.nix
@@ -0,0 +1,22 @@
+{ fetchFromGitHub, rustPlatform, lib }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "typos";
+  version = "1.1.9";
+
+  src = fetchFromGitHub {
+    owner = "crate-ci";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "10ydsp77v4kf1qsq5wyc02iyfsdy0rpcyxycp2lqz9qy3g3ih7vm";
+  };
+
+  cargoSha256 = "1i6999nmg4pahpp4fz4qm4rx8iixa13zjwlhyixwjwbag1w8l3gp";
+
+  meta = with lib; {
+    description = "Source code spell checker";
+    homepage = "https://github.com/crate-ci/typos/";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = [ maintainers.mgttlinger ];
+  };
+}
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index 579f080bbf1..1c1db601da6 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -1472,6 +1472,18 @@ let
         };
       };
 
+      takayama.vscode-qq = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "takayama";
+          name = "vscode-qq";
+          version = "1.4.0";
+          sha256 = "sha256-DYjNWSKOrDYvdiV7G24uKz6w4ggeYUMkQIiOGZAbMSI=";
+        };
+        meta = {
+          license = lib.licenses.mpl20;
+        };
+      };
+
       tamasfe.even-better-toml = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "even-better-toml";
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
index b6dd0b98720..32564e326aa 100644
--- a/pkgs/servers/calibre-web/default.nix
+++ b/pkgs/servers/calibre-web/default.nix
@@ -20,7 +20,8 @@ python3.pkgs.buildPythonApplication rec {
     substituteInPlace setup.cfg \
       --replace "requests>=2.11.1,<2.25.0" "requests" \
       --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
-      --replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0"
+      --replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0" \
+      --replace "unidecode>=0.04.19,<1.3.0" "unidecode>=0.04.19"
   '';
 
   patches = [
diff --git a/pkgs/servers/gonic/default.nix b/pkgs/servers/gonic/default.nix
index 57623a8026b..b2f3d61d8f4 100644
--- a/pkgs/servers/gonic/default.nix
+++ b/pkgs/servers/gonic/default.nix
@@ -12,19 +12,19 @@
 
 buildGoModule rec {
   pname = "gonic";
-  version = "0.13.1";
+  version = "0.14.0";
   src = fetchFromGitHub {
     owner = "sentriz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08zr5cbmn25wfi1sjfsb311ycn1855x57ypyn5165zcz49pcfzxn";
+    sha256 = "sha256-wX97HtvHgHpKTDwZl/wHQRpiyDJ7U38CpdzWu/CYizQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ taglib zlib ]
     ++ lib.optionals stdenv.isLinux [ alsa-lib ]
     ++ lib.optionals stdenv.isDarwin [ AudioToolbox AppKit ];
-  vendorSha256 = "0inxlqxnkglz4j14jav8080718a80nqdcl866lkql8r6zcxb4fm9";
+  vendorSha256 = "sha256-oTuaA5ZsZ7zMcjzGh37zO/1XyOfj6xjfNr6A7ecrOiA=";
 
   # TODO(Profpatsch): write a test for transcoding support,
   # since it is prone to break
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index daa17def358..351a2cb3c2a 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "redis";
-  version = "6.2.5";
+  version = "6.2.6";
 
   src = fetchurl {
     url = "https://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "1bjismh8lrvsjkm1wf5ak0igak5rr9cc39i0brwb6x0vk9q7b6jb";
+    sha256 = "1ariw5x33hmmm3d5al0j3307l5kf3vhmn78wpyaz67hia1x8nasv";
   };
 
   # Cross-compiling fixes
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a93f671bc6c..8255d86d4b6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6516,7 +6516,9 @@ with pkgs;
 
   keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };
 
-  keystore-explorer = callPackage ../applications/misc/keystore-explorer { };
+  keystore-explorer = callPackage ../applications/misc/keystore-explorer {
+    jdk = jdk11;
+  };
 
   kfctl = callPackage ../applications/networking/cluster/kfctl { };
 
@@ -7429,6 +7431,8 @@ with pkgs;
 
   metasploit = callPackage ../tools/security/metasploit { };
 
+  mhost = callPackage ../applications/networking/mhost { };
+
   ms-sys = callPackage ../tools/misc/ms-sys { };
 
   mtdutils = callPackage ../tools/filesystems/mtdutils { };
@@ -9922,6 +9926,8 @@ with pkgs;
 
   tydra = callPackage ../tools/misc/tydra { };
 
+  typos = callPackage ../development/tools/typos { };
+
   tz = callPackage ../tools/misc/tz { };
 
   u9fs = callPackage ../servers/u9fs { };
@@ -10666,6 +10672,8 @@ with pkgs;
     mkYarnModules
     fixup_yarn_lock;
 
+  yascreen = callPackage ../development/libraries/yascreen { };
+
   yasr = callPackage ../applications/audio/yasr { };
 
   yank = callPackage ../tools/misc/yank { };
@@ -16078,6 +16086,7 @@ with pkgs;
     else if name == "newlib" && stdenv.targetPlatform.isVc4 then targetPackages.vc4-newlib or vc4-newlib
     else if name == "newlib" && stdenv.targetPlatform.isOr1k then targetPackages.or1k-newlib or or1k-newlib
     else if name == "newlib" then targetPackages.newlibCross or newlibCross
+    else if name == "newlib-nano" then targetPackages.newlib-nanoCross or newlib-nanoCross
     else if name == "musl" then targetPackages.muslCross or muslCross
     else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64
     else if name == "libSystem" then
@@ -18681,9 +18690,7 @@ with pkgs;
     buildPythonApplication click future six;
   };
 
-  prospector = callPackage ../development/tools/prospector {
-    python = python37;
-  };
+  prospector = callPackage ../development/tools/prospector { };
 
   protobuf = protobuf3_18;
 
@@ -24089,6 +24096,8 @@ with pkgs;
     inherit (gnome2) libgnomeui;
   };
 
+  dyff = callPackage ../development/tools/dyff {};
+
   dwl = callPackage ../applications/window-managers/dwl { };
 
   dwm = callPackage ../applications/window-managers/dwm {
@@ -32966,7 +32975,15 @@ with pkgs;
   newlib = callPackage ../development/misc/newlib { };
   newlibCross = callPackage ../development/misc/newlib {
     stdenv = crossLibcStdenv;
-    };
+  };
+
+  newlib-nano = callPackage ../development/misc/newlib {
+    nanoizeNewlib = true;
+  };
+  newlib-nanoCross = callPackage ../development/misc/newlib {
+    nanoizeNewlib = true;
+    stdenv = crossLibcStdenv;
+  };
 
   omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { dotnet-sdk = dotnet-sdk_5; };
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 3d8272633f1..e1387e42b78 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -46,8 +46,8 @@ in
   # helper functions for dealing with LUA_PATH and LUA_CPATH
   lib = luaLib;
 
-  getLuaPath = drv: getPath drv (luaLib.luaPathList lua.luaversion) ;
-  getLuaCPath = drv: getPath drv (luaLib.luaCPathList lua.luaversion) ;
+  getLuaPath = drv: getPath drv luaLib.luaPathList;
+  getLuaCPath = drv: getPath drv luaLib.luaCPathList;
 
   inherit (callPackage ../development/interpreters/lua-5/hooks { inherit (args) lib;})
     lua-setup-hook;