summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/run-scaled/default.nix8
-rw-r--r--pkgs/tools/X11/skippy-xd/default.nix35
-rw-r--r--pkgs/tools/X11/xprintidle-ng/default.nix41
-rw-r--r--pkgs/tools/admin/ansible/default.nix16
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix5
-rw-r--r--pkgs/tools/admin/lego/default.nix4
-rw-r--r--pkgs/tools/admin/pulumi/data.nix374
-rwxr-xr-xpkgs/tools/admin/pulumi/update.sh2
-rw-r--r--pkgs/tools/admin/realvnc-vnc-viewer/default.nix8
-rw-r--r--pkgs/tools/archivers/7zz/default.nix61
-rw-r--r--pkgs/tools/archivers/unar/default.nix70
-rw-r--r--pkgs/tools/archivers/unrar-wrapper/default.nix36
-rw-r--r--pkgs/tools/archivers/unrar-wrapper/setup-hook.sh5
-rw-r--r--pkgs/tools/audio/stt/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/vobsub2srt/default.nix4
-rw-r--r--pkgs/tools/compression/ouch/default.nix20
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix6
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix57
-rw-r--r--pkgs/tools/graphics/ldgallery/default.nix6
-rw-r--r--pkgs/tools/graphics/perceptualdiff/default.nix3
-rw-r--r--pkgs/tools/graphics/pngquant/default.nix2
-rw-r--r--pkgs/tools/graphics/qrcode/default.nix10
-rw-r--r--pkgs/tools/inputmethods/emote/default.nix12
-rw-r--r--pkgs/tools/inputmethods/skk/skk-dicts/default.nix20
-rw-r--r--pkgs/tools/misc/apkeep/default.nix23
-rw-r--r--pkgs/tools/misc/beats/default.nix2
-rw-r--r--pkgs/tools/misc/clipnotify/default.nix6
-rw-r--r--pkgs/tools/misc/colorpicker/default.nix6
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/flashrom/default.nix14
-rw-r--r--pkgs/tools/misc/fortune/default.nix1
-rw-r--r--pkgs/tools/misc/gaphor/default.nix66
-rw-r--r--pkgs/tools/misc/graylog/plugins.nix4
-rw-r--r--pkgs/tools/misc/keychain/default.nix45
-rw-r--r--pkgs/tools/misc/keymapviz/default.nix22
-rw-r--r--pkgs/tools/misc/lighthouse-steamvr/default.nix27
-rw-r--r--pkgs/tools/misc/livedl/default.nix2
-rw-r--r--pkgs/tools/misc/most/default.nix7
-rw-r--r--pkgs/tools/misc/most/parallel-make.patch18
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix9
-rw-r--r--pkgs/tools/misc/octofetch/default.nix12
-rw-r--r--pkgs/tools/misc/oggvideotools/default.nix25
-rw-r--r--pkgs/tools/misc/oggvideotools/fix-compile.patch10
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix8
-rw-r--r--pkgs/tools/misc/ostree/default.nix4
-rw-r--r--pkgs/tools/misc/sfeed/default.nix7
-rw-r--r--pkgs/tools/misc/steampipe/default.nix4
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/tfk8s/default.nix2
-rw-r--r--pkgs/tools/misc/topicctl/default.nix31
-rw-r--r--pkgs/tools/misc/uwuify/default.nix1
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix16
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix4
-rw-r--r--pkgs/tools/networking/amass/default.nix4
-rw-r--r--pkgs/tools/networking/connman/connman_dmenu/default.nix12
-rw-r--r--pkgs/tools/networking/curlie/default.nix4
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix6
-rw-r--r--pkgs/tools/networking/innernet/default.nix8
-rw-r--r--pkgs/tools/networking/mosh/default.nix11
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/ndn-tools/default.nix45
-rw-r--r--pkgs/tools/networking/nss-mdns/default.nix15
-rw-r--r--pkgs/tools/networking/spoof-mac/default.nix2
-rw-r--r--pkgs/tools/networking/termscp/default.nix2
-rw-r--r--pkgs/tools/networking/tinyssh/default.nix28
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-outdated/default.nix15
-rw-r--r--pkgs/tools/security/certipy/default.nix39
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fail2ban/default.nix2
-rw-r--r--pkgs/tools/security/hash-slinger/default.nix60
-rw-r--r--pkgs/tools/security/ioccheck/default.nix39
-rw-r--r--pkgs/tools/security/keybase/gui.nix7
-rw-r--r--pkgs/tools/security/knockknock/default.nix19
-rw-r--r--pkgs/tools/security/kubescape/default.nix23
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock12
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix18
-rw-r--r--pkgs/tools/security/minio-certgen/default.nix2
-rw-r--r--pkgs/tools/security/mkpasswd/default.nix3
-rw-r--r--pkgs/tools/security/pinentry/default.nix6
-rw-r--r--pkgs/tools/security/rbw/default.nix1
-rw-r--r--pkgs/tools/security/swtpm/default.nix3
-rw-r--r--pkgs/tools/security/theharvester/default.nix5
-rw-r--r--pkgs/tools/security/tpm-luks/default.nix8
-rw-r--r--pkgs/tools/security/wpscan/Gemfile.lock10
-rw-r--r--pkgs/tools/security/wpscan/gemset.nix32
-rw-r--r--pkgs/tools/system/das_watchdog/default.nix2
-rw-r--r--pkgs/tools/system/gdu/default.nix4
-rw-r--r--pkgs/tools/system/tree/default.nix54
-rw-r--r--pkgs/tools/text/cmigemo/default.nix11
-rw-r--r--pkgs/tools/text/poedit/default.nix1
-rw-r--r--pkgs/tools/text/xml/basex/default.nix23
-rw-r--r--pkgs/tools/virtualization/extra-container/default.nix2
95 files changed, 1143 insertions, 604 deletions
diff --git a/pkgs/tools/X11/run-scaled/default.nix b/pkgs/tools/X11/run-scaled/default.nix
index 012eedf0779..d62b38bdf28 100644
--- a/pkgs/tools/X11/run-scaled/default.nix
+++ b/pkgs/tools/X11/run-scaled/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, bc, xorgserver, xpra, xrandr }:
 
 stdenv.mkDerivation {
-  version = "git-2018-06-03";
+  version = "unstable-2018-06-03";
   pname = "run-scaled";
 
   src = fetchFromGitHub {
-    owner  = "kaueraal";
-    repo   = "run_scaled";
-    rev    = "fa71b3c17e627a96ff707ad69f1def5361f2245c";
+    owner = "kaueraal";
+    repo = "run_scaled";
+    rev = "fa71b3c17e627a96ff707ad69f1def5361f2245c";
     sha256 = "1ma4ax7ydq4xvyzrc4zapihmf7v3d9zl9mbi8bgpps7nlgz544ys";
   };
 
diff --git a/pkgs/tools/X11/skippy-xd/default.nix b/pkgs/tools/X11/skippy-xd/default.nix
index 0519f2c4204..255d4c34e58 100644
--- a/pkgs/tools/X11/skippy-xd/default.nix
+++ b/pkgs/tools/X11/skippy-xd/default.nix
@@ -1,14 +1,33 @@
-{lib, stdenv, fetchgit, xorgproto, libX11, libXft, libXcomposite, libXdamage
-, libXext, libXinerama, libjpeg, giflib, pkg-config
+{ lib
+, stdenv
+, fetchgit
+, xorgproto
+, libX11
+, libXft
+, libXcomposite
+, libXdamage
+, libXext
+, libXinerama
+, libjpeg
+, giflib
+, pkg-config
 }:
 let
   buildInputs = [
-    xorgproto libX11 libXft libXcomposite libXdamage libXext
-    libXinerama libjpeg giflib pkg-config
+    xorgproto
+    libX11
+    libXft
+    libXcomposite
+    libXdamage
+    libXext
+    libXinerama
+    libjpeg
+    giflib
+    pkg-config
   ];
 in
 stdenv.mkDerivation rec {
-  version = "git-2015-03-01";
+  version = "unstable-2015-03-01";
   pname = "skippy-xd";
   inherit buildInputs;
   src = fetchgit {
@@ -16,14 +35,14 @@ stdenv.mkDerivation rec {
     rev = "397216ca67";
     sha256 = "0zcjacilmsv69rv85j6nfr6pxy8z36w1sjz0dbjg6s5m4kga1zl8";
   };
-  makeFlags = ["PREFIX=$(out)"];
+  makeFlags = [ "PREFIX=$(out)" ];
   preInstall = ''
     sed -e "s@/etc/xdg@$out&@" -i Makefile
   '';
   meta = {
     description = "Expose-style compositing-based standalone window switcher";
-    license = lib.licenses.gpl2Plus ;
-    maintainers = [lib.maintainers.raskin];
+    license = lib.licenses.gpl2Plus;
+    maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/xprintidle-ng/default.nix b/pkgs/tools/X11/xprintidle-ng/default.nix
index 61e48de7f5e..fdb3b7c58a5 100644
--- a/pkgs/tools/X11/xprintidle-ng/default.nix
+++ b/pkgs/tools/X11/xprintidle-ng/default.nix
@@ -1,11 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, libX11, libXScrnSaver, libXext, gnulib
-  , autoconf, automake, libtool, gettext, pkg-config
-  , git, perl, texinfo, help2man
+{ lib
+, stdenv
+, fetchFromGitHub
+, libX11
+, libXScrnSaver
+, libXext
+, gnulib
+, autoconf
+, automake
+, libtool
+, gettext
+, pkg-config
+, git
+, perl
+, texinfo
+, help2man
 }:
 
 stdenv.mkDerivation rec {
   pname = "xprintidle-ng";
-  version = "git-2015-09-01";
+  version = "unstable-2015-09-01";
 
   src = fetchFromGitHub {
     owner = "taktoa";
@@ -20,8 +33,16 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    autoconf automake gettext git gnulib
-    help2man libtool perl pkg-config texinfo
+    autoconf
+    automake
+    gettext
+    git
+    gnulib
+    help2man
+    libtool
+    perl
+    pkg-config
+    texinfo
   ];
 
   configurePhase = ''
@@ -30,15 +51,17 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    libX11 libXScrnSaver libXext
+    libX11
+    libXScrnSaver
+    libXext
   ];
 
   meta = {
-    inherit  version;
+    inherit version;
     description = "A command-line tool to print idle time from libXss";
     homepage = "http://taktoa.me/xprintidle-ng/";
     license = lib.licenses.gpl2;
-    maintainers = [lib.maintainers.raskin];
+    maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/ansible/default.nix b/pkgs/tools/admin/ansible/default.nix
index 4c66bda06f7..6be403b9e53 100644
--- a/pkgs/tools/admin/ansible/default.nix
+++ b/pkgs/tools/admin/ansible/default.nix
@@ -1,9 +1,19 @@
-{ python3Packages, fetchurl, fetchFromGitHub }:
+{ python3Packages, fetchFromGitHub }:
 
 rec {
-  ansible = ansible_2_11;
+  ansible = ansible_2_12;
 
-  ansible_2_11 = python3Packages.toPythonApplication python3Packages.ansible-core;
+  ansible_2_12 = python3Packages.toPythonApplication python3Packages.ansible-core;
+
+  ansible_2_11 = python3Packages.toPythonApplication (python3Packages.ansible-core.overridePythonAttrs (old: rec {
+    pname = "ansible-core";
+    version = "2.11.6";
+
+    src = python3Packages.fetchPypi {
+      inherit pname version;
+      sha256 = "sha256-k9UCg8fFtHbev4PcCJs/Z5uTmouae11ijSjar7s9MDo=";
+    };
+  }));
 
   ansible_2_10 = python3Packages.toPythonApplication python3Packages.ansible-base;
 
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 8ab301eeb38..fd02e7ea418 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -99,6 +99,11 @@ in stdenv.mkDerivation rec {
     mv $out/google-cloud-sdk/completion.bash.inc $out/share/bash-completion/completions/gcloud
     ln -s $out/share/bash-completion/completions/gcloud $out/share/bash-completion/completions/gsutil
 
+    # setup zsh completion
+    mkdir -p $out/share/zsh/site-functions
+    mv $out/google-cloud-sdk/completion.zsh.inc $out/share/zsh/site-functions/_gcloud
+    ln -s $out/share/zsh/site-functions/_gcloud $out/share/zsh/site-functions/_gsutil
+
     # This directory contains compiled mac binaries. We used crcmod from
     # nixpkgs instead.
     rm -r $out/google-cloud-sdk/platform/gsutil/third_party/crcmod \
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index 83d16c3eb77..cec4f298129 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.5.2";
+  version = "4.5.3";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ytU1G0kT8/sx9kR8yrrGqUta+vi96aCovoABit0857g=";
+    sha256 = "sha256-xvTV6jZmQWs6g8Oq+IrwPZVS3fzY1/adg7IWh189ftU=";
   };
 
   vendorSha256 = "sha256-EK2E2YWdk2X1awdUhMOJh+qr+jnnftnKuPPpiHzXZHk=";
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
index bc702e870c0..568ff7292f0 100644
--- a/pkgs/tools/admin/pulumi/data.nix
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -1,392 +1,392 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.17.0";
+  version = "3.17.1";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.0-linux-x64.tar.gz";
-        sha256 = "1n9zrqjvm6x6qgwd8hbbl9ywn13niw026a37nlsg5kza2xp8x3al";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.1-linux-x64.tar.gz";
+        sha256 = "1npm5jv0wcylidirxgfxxmp21mv1r6xl2lz9x0hdjmrs2cr1kmrf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-linux-amd64.tar.gz";
-        sha256 = "19rmwbizkhpxlwayd32hfk2dvz9mddkbg956ryckhfgfis6s3scr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.6.0-linux-amd64.tar.gz";
+        sha256 = "198m5fdppwzpqr30vpvpl8sjx90rng8q8cxvrbvaj179jnfg3bm2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-linux-amd64.tar.gz";
-        sha256 = "151bw127nxl5bdyqwbvkg0i8fi6060n8yn2skdb95s9p7f1b1fvp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-linux-amd64.tar.gz";
+        sha256 = "0wzbwpnnjm8lnph6kh2nrb0ns2v4y70sp10pp9qnwhcxggqjpb5r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "1lmy0dmpspzflc9z8p4w1cz47lbqnbkq8dng3v40lpbs75pnprvs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "05nfdwgfzi5f3hgj2g6dccaidqf9a9xzlv5vp3cd1rsxd159yk9j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-linux-amd64.tar.gz";
-        sha256 = "1rzwgfz2ikbcjp99yiiai2cqawk80xhwrc7335fylifrvl3wsqis";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-linux-amd64.tar.gz";
+        sha256 = "0mckcwyngxiv46khvchaxdylcgk82b5j5hlfjiky5qg60bic4gnr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-linux-amd64.tar.gz";
-        sha256 = "0jmbfy6y0l7zpzwndz6xj6jv20ax9rbg8nbqwcadjf96a3zglwhf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-amd64.tar.gz";
+        sha256 = "1ixmsxawp0qbyjs37c74gcvj2icpbda6znl17yp9bhiyvnrdvxn7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-amd64.tar.gz";
-        sha256 = "1p21963qr8rdl5jp7f05j02yq0ab3flybvzjn7xadcl7m85mkyxh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-amd64.tar.gz";
+        sha256 = "0d88xfi7zzmpyrnvakwxsyavdx6d5hmfrcf4jhmd53mni0m0551l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-amd64.tar.gz";
-        sha256 = "1h5159y7xlslnijs8lpi4vqgvj2px6whxk9m17p9n7wiyqbmd5na";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "1rv6l82b1v44fa685dqq7ivsr1y4xaqln0mqd9hyqnajkb2761d5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.26.0-linux-amd64.tar.gz";
-        sha256 = "0gwfw9gr8lrg27ivkw4xx18jjf3zik8cg6gq62nq2y0bclzb3hn6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.5.0-linux-amd64.tar.gz";
+        sha256 = "00qvwqynyyj72lp41c4calxx53ckf2dg0cpn9s7sr9alvnffvwzp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-amd64.tar.gz";
-        sha256 = "1ixmsxawp0qbyjs37c74gcvj2icpbda6znl17yp9bhiyvnrdvxn7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-amd64.tar.gz";
+        sha256 = "1p21963qr8rdl5jp7f05j02yq0ab3flybvzjn7xadcl7m85mkyxh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-linux-amd64.tar.gz";
-        sha256 = "0wzbwpnnjm8lnph6kh2nrb0ns2v4y70sp10pp9qnwhcxggqjpb5r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0lj01hyjyq3qazkryvvxkx6nwai3bac9shqxb6hcqv4pfdjzzxhr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "0jxcwn3zwqwg29ib5wylmkg8bpzd0vm86yxylh6b2nwfnbnn5d9v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-amd64.tar.gz";
+        sha256 = "0xrq4ffkaa0z5w2g7b9fdll3sh8wpzd6fg0xay7hfzjnl65dl3mp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.4.0-linux-amd64.tar.gz";
-        sha256 = "1apx62przhzn712pz89lbx94da352b0n794cz753vlfqvxpkfifq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-linux-amd64.tar.gz";
+        sha256 = "1rzwgfz2ikbcjp99yiiai2cqawk80xhwrc7335fylifrvl3wsqis";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-linux-amd64.tar.gz";
-        sha256 = "194kym832zfnf58z44y5n789xsvqp2dr3jy5sffqqhfrgcgabvr2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-amd64.tar.gz";
+        sha256 = "0nri27c71kf3pjivd0w9ymkl4rn39flh5n2rphi4gn6v4kfb1192";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-linux-amd64.tar.gz";
-        sha256 = "0mckcwyngxiv46khvchaxdylcgk82b5j5hlfjiky5qg60bic4gnr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-linux-amd64.tar.gz";
+        sha256 = "0pd1a2xhhhxyb2sblq474hrwrm18k2dh4c20r3b2xqz77l25nzig";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
+        sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.8.0-linux-amd64.tar.gz";
         sha256 = "0dc96mvy76i0d70jp8gln14cwzsgdxccyhrxrcf3kq38j4vf3bl1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
-        sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.6.0-linux-amd64.tar.gz";
+        sha256 = "1536pz40m4a34swjxpy7vw7xik6jqfspwdnn2z49n8a42y691cd9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "1rv6l82b1v44fa685dqq7ivsr1y4xaqln0mqd9hyqnajkb2761d5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-amd64.tar.gz";
+        sha256 = "1h5159y7xlslnijs8lpi4vqgvj2px6whxk9m17p9n7wiyqbmd5na";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-linux-amd64.tar.gz";
-        sha256 = "0pd1a2xhhhxyb2sblq474hrwrm18k2dh4c20r3b2xqz77l25nzig";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.5.0-linux-amd64.tar.gz";
+        sha256 = "0xy6h16vdg55rc0qmhxc2r1hz3iv78iyjx4i5j6jmlcwpgrwdlii";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-amd64.tar.gz";
-        sha256 = "04gaimdzh04v7f11xw1b7p95rbb142kbnix1zqas68wd6vpw9kyp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-linux-amd64.tar.gz";
+        sha256 = "151bw127nxl5bdyqwbvkg0i8fi6060n8yn2skdb95s9p7f1b1fvp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-amd64.tar.gz";
-        sha256 = "0d88xfi7zzmpyrnvakwxsyavdx6d5hmfrcf4jhmd53mni0m0551l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-linux-amd64.tar.gz";
+        sha256 = "19rmwbizkhpxlwayd32hfk2dvz9mddkbg956ryckhfgfis6s3scr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-linux-amd64.tar.gz";
-        sha256 = "0cb2b4rrz7zvdpnf0iff21y4kass7gqfimj854fh6za012j18fnx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-amd64.tar.gz";
-        sha256 = "0xrq4ffkaa0z5w2g7b9fdll3sh8wpzd6fg0xay7hfzjnl65dl3mp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.27.2-linux-amd64.tar.gz";
+        sha256 = "0dngfi5yy01yngwl9x65b9w67zrihhkbccfsr989ygbzxs3gi9bj";
       }
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.0-darwin-x64.tar.gz";
-        sha256 = "1a1bafpwgzv6s80rd4zf9nvchm4jn22wan9z81plxk4d67yfnf7w";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.1-darwin-x64.tar.gz";
+        sha256 = "0cn6zramx5hjwd9w3i0kfpzsdz0j9pskqx43yram6dh7w7vh3wxw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-darwin-amd64.tar.gz";
-        sha256 = "148wdcdmip8rlh61clhcg44rk1kmvc15dkga1nhp8ngzry1f7lf2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.6.0-darwin-amd64.tar.gz";
+        sha256 = "0vh8gnmjkchz5245iwgb1slwahq7cw18g6x9fihyqzzlpz83lr7h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-darwin-amd64.tar.gz";
-        sha256 = "183y60zvh2i20a3wg7yl1dm6bkpka0y6plnmb8746x7v9j5g4xlr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-darwin-amd64.tar.gz";
+        sha256 = "0p3zkgr557ngl6pjdidrp76b741nkdsw4s7wf1aj4mpw74fshm3g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "1j7z5dbqzsdq1q8ks9g5pwzyc3ml6avhhp6xj94dzdhskl6pd8w5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "0q19sh7l1mjl40i5vdsrjfldncxnicalmlgv3yjkw5xpxkgr98z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-darwin-amd64.tar.gz";
-        sha256 = "03ccnifs1maxnr7qnqw1mn3lc7x2c06icbc9m9j218bx16lwf8jq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-darwin-amd64.tar.gz";
+        sha256 = "04hhvakbrvjqzlhhacpb4syy6bz8qgkhqfl8339wjapsczy776j5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-darwin-amd64.tar.gz";
-        sha256 = "0vd527sx49shr3mpbm5bs4sspmm6vsjli6zlbl5w61y85jp2as1m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-amd64.tar.gz";
+        sha256 = "1dy4n03xvirg6fihiid786d88qlkyqkvk4fq6ggnxc92620x7342";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-amd64.tar.gz";
-        sha256 = "1idvdcmbbia0cwkw5v7zp7695p1a6sfmrgsfmzn0r9p8lyg66k8w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-amd64.tar.gz";
+        sha256 = "12mkr0xczdnp21k0k7qn4r3swkaq3pr6v2z853p1db7ksz5kds23";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-amd64.tar.gz";
-        sha256 = "0r2ykjwam5m2mfiibhq993s8n5pzmks837cwb57jwgwx8lc3ra4x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "04l07fqzf3fs7hj4giggzyjv9979qcpxrqbiapdjp7x4qsbsz0fv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.26.0-darwin-amd64.tar.gz";
-        sha256 = "1pvicixr245cvziw1inhnzkqkzcm95zyjh6mc5gq6cdwwpagdik0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.5.0-darwin-amd64.tar.gz";
+        sha256 = "09biqsrcd4h01m6dkfdgb2gnly229ci8a0sd2rr1m75j749ijfh7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-amd64.tar.gz";
-        sha256 = "1dy4n03xvirg6fihiid786d88qlkyqkvk4fq6ggnxc92620x7342";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-amd64.tar.gz";
+        sha256 = "1idvdcmbbia0cwkw5v7zp7695p1a6sfmrgsfmzn0r9p8lyg66k8w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-darwin-amd64.tar.gz";
-        sha256 = "0p3zkgr557ngl6pjdidrp76b741nkdsw4s7wf1aj4mpw74fshm3g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "0fhhc2k0g8mpxzcgci4jl3m59q3n8w3nka94l0n7r9cvs81099n6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "1z38yhmbmna3d397kdgribqffgagw28xf6ffhksp428dcn979yh5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-amd64.tar.gz";
+        sha256 = "1qb2gaiinclmbswyn5aakwjmm3gaggscckb1q2syx69k42hvp3s3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.4.0-darwin-amd64.tar.gz";
-        sha256 = "1cp7zfzv6jzjx7c5ywwlbhqwf6xz2yzqdbapdlhjq4wbiy5w58nl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-darwin-amd64.tar.gz";
+        sha256 = "03ccnifs1maxnr7qnqw1mn3lc7x2c06icbc9m9j218bx16lwf8jq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-darwin-amd64.tar.gz";
-        sha256 = "1gf83dv5wqvmx8ll7my3c8biklrddjrv069g97d3n510m0k7w85w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-amd64.tar.gz";
+        sha256 = "06s58xlwm3wf7895bzsqx4jsfb0kbxanzlaf21jff45y62nk1f1p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-darwin-amd64.tar.gz";
-        sha256 = "04hhvakbrvjqzlhhacpb4syy6bz8qgkhqfl8339wjapsczy776j5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-darwin-amd64.tar.gz";
+        sha256 = "1f06x2h4i15vjzjyzcl5f01by2639hsfij2daayj5xiji3b415ps";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
+        sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.8.0-darwin-amd64.tar.gz";
         sha256 = "1lfai2xd9538cq89b4jg85hj0slnvbwndd24y2g2q9h5qla08cx2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
-        sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.6.0-darwin-amd64.tar.gz";
+        sha256 = "05adn2mnfrhnqvq4cngsvjg489339azzsf6bzd9qj24qqwm9x5v3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "04l07fqzf3fs7hj4giggzyjv9979qcpxrqbiapdjp7x4qsbsz0fv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-amd64.tar.gz";
+        sha256 = "0r2ykjwam5m2mfiibhq993s8n5pzmks837cwb57jwgwx8lc3ra4x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-darwin-amd64.tar.gz";
-        sha256 = "1f06x2h4i15vjzjyzcl5f01by2639hsfij2daayj5xiji3b415ps";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.5.0-darwin-amd64.tar.gz";
+        sha256 = "144wz00hcd6zbybm0b7gqy8by3nnszf3885znvsichig23p1h76c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-amd64.tar.gz";
-        sha256 = "18vrp0zzi92x4l5nkjszvd0zr7pk6nl6s3h5a3hvsz5qrj2830q3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-darwin-amd64.tar.gz";
+        sha256 = "183y60zvh2i20a3wg7yl1dm6bkpka0y6plnmb8746x7v9j5g4xlr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-amd64.tar.gz";
-        sha256 = "12mkr0xczdnp21k0k7qn4r3swkaq3pr6v2z853p1db7ksz5kds23";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-darwin-amd64.tar.gz";
+        sha256 = "148wdcdmip8rlh61clhcg44rk1kmvc15dkga1nhp8ngzry1f7lf2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-darwin-amd64.tar.gz";
-        sha256 = "1n82xwkngql039m3pa1pwa8wvqg089mr8xnai67jyj1kryjsij56";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-amd64.tar.gz";
-        sha256 = "1qb2gaiinclmbswyn5aakwjmm3gaggscckb1q2syx69k42hvp3s3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.27.2-darwin-amd64.tar.gz";
+        sha256 = "0ki3wq879ya82slmz75r6g4hzm4nmmgnwm3pjbhmls09irn46wc3";
       }
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.0-linux-arm64.tar.gz";
-        sha256 = "1nnbm4djs23plycgsvgmi61779qriypzpv26psvi1153ad2qvg4b";
-      }
-      {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-linux-arm64.tar.gz";
-        sha256 = "10p015rhp9dsxcwp0a0k3xvkphya8vji4ndv66z73jzr6z3vfqzm";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.1-linux-arm64.tar.gz";
+        sha256 = "1gwcrbwwmclxsviqmqb9q1swg4kz2463p42939vlv2r09lwpfvmi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-linux-arm64.tar.gz";
-        sha256 = "1jdjvx123qwd4mncnzms1ps55041ad5wl8ijr5qfay1yjphy4zn8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.6.0-linux-arm64.tar.gz";
+        sha256 = "0f2frlkcai1489amas1yglpckwwz93acq1xllv88s2j1l6sab5vd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-linux-arm64.tar.gz";
-        sha256 = "0mddv37k87wiygh6x9bnxpcr721qbmbqf6l5zk3xl61n56j8qyb1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-linux-arm64.tar.gz";
+        sha256 = "1hiqcy51ag4y8j47di5h07mnplrhpc5f406ab6car2c06fwr2wdn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-linux-arm64.tar.gz";
-        sha256 = "1v5b5bwpzmr124xblrrr0rl0zbvky8ljcilyh0fmjgrmai25zbz2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-linux-arm64.tar.gz";
+        sha256 = "0j2c23ii4dn9yhpw6nymij65gv82y1xp4gi8lgxxf41b1i9bpb2i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-linux-arm64.tar.gz";
-        sha256 = "0ybw5cbiw64zmaqjwlfk5b73h5sy0pk40f15hq41d9rdkc0sypxi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-linux-arm64.tar.gz";
+        sha256 = "1hxaz0m33vf92d1vwksmib5lnpl57yrh8nf90nqmmzvjzajkzzbl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-arm64.tar.gz";
-        sha256 = "0k4yi9xqrmd5m99lr27h672ycwyh138d9jhh3wvgpmnjpdxy28jm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-arm64.tar.gz";
+        sha256 = "12iv8vjnal2ym70rxmdnvi02x6md7fxi8jbzhzfw526pzqs1dc47";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-arm64.tar.gz";
-        sha256 = "1sc8rf930cz6nkyhqn6p0h7450iqzdsrlw2smhp8yyjjvcjmsksf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-arm64.tar.gz";
+        sha256 = "1l7zpvacq6kyzj8n82drs9gdfa16k4j945w8nsd0z33byrswxr3w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.26.0-linux-arm64.tar.gz";
-        sha256 = "01mmfsfbggvhq8706irg1pv9n89lrxr9dp05m3fa8wdbfdxiwwvd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "175bqcamkd2illd57gkycsfh5kyjw700g7phjsg057jij3cdfsr8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-linux-arm64.tar.gz";
-        sha256 = "12iv8vjnal2ym70rxmdnvi02x6md7fxi8jbzhzfw526pzqs1dc47";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.5.0-linux-arm64.tar.gz";
+        sha256 = "1lz5dm1sgnydyi3rjp33y1lvs8wmy9lg0n71niibh1k4ppqbwm2m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-linux-arm64.tar.gz";
-        sha256 = "1hiqcy51ag4y8j47di5h07mnplrhpc5f406ab6car2c06fwr2wdn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-linux-arm64.tar.gz";
+        sha256 = "0k4yi9xqrmd5m99lr27h672ycwyh138d9jhh3wvgpmnjpdxy28jm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.2.0-linux-arm64.tar.gz";
-        sha256 = "11yslyxhsqchqyd31b10krgxgf2shi5pxncw79zj26w31qcqdv3x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "17iaf72dzy108v1njan21n72a5gzxbycq396hjh293a141kppn1m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.4.0-linux-arm64.tar.gz";
-        sha256 = "1fllv7pnn9jm83b6ck6fk44rk5vmsv4iv1x54nxdfa0wyrkx1ah9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-arm64.tar.gz";
+        sha256 = "03z7b32l2jp1si13qy2rjvkjw789sqaypza7q2k4vhwaxyiw715z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-linux-arm64.tar.gz";
-        sha256 = "0ap4izb3507rw965qvww1nd2h9jz7ilav92fjdhhvf33g44r6r8y";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-linux-arm64.tar.gz";
+        sha256 = "1v5b5bwpzmr124xblrrr0rl0zbvky8ljcilyh0fmjgrmai25zbz2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-linux-arm64.tar.gz";
-        sha256 = "1hxaz0m33vf92d1vwksmib5lnpl57yrh8nf90nqmmzvjzajkzzbl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-arm64.tar.gz";
+        sha256 = "14v7wm2gkhd064drw2l894dacdsm5lnndii5qzl5hsl6p9a5m970";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-linux-arm64.tar.gz";
+        sha256 = "0vjdl01ggnf3hj0ak3dak5828d8cj8x05ny9hsii2cqdphxybsj4";
       }
+      # pulumi-resource-packet skipped (does not exist on remote)
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.8.0-linux-arm64.tar.gz";
         sha256 = "0hq4l91ynjk5qzqcwvzqpd978wikqdx6lxngrawdkk501y0yh6f6";
       }
-      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "175bqcamkd2illd57gkycsfh5kyjw700g7phjsg057jij3cdfsr8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.6.0-linux-arm64.tar.gz";
+        sha256 = "042mdf4l3nb8prialq8isr4iizsq7cjsz001ycshqs21j60kq0dq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-linux-arm64.tar.gz";
-        sha256 = "0vjdl01ggnf3hj0ak3dak5828d8cj8x05ny9hsii2cqdphxybsj4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-linux-arm64.tar.gz";
+        sha256 = "1sc8rf930cz6nkyhqn6p0h7450iqzdsrlw2smhp8yyjjvcjmsksf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-arm64.tar.gz";
-        sha256 = "1slrl020xl092hjfr92zjf8i2ys8vzr3nxqh65fhnl0fzfsllvn0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.5.0-linux-arm64.tar.gz";
+        sha256 = "0ybxnskqxry9nbv9y02rqszlykcrihmlpa275s09ypbw3bibrjya";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-arm64.tar.gz";
-        sha256 = "1l7zpvacq6kyzj8n82drs9gdfa16k4j945w8nsd0z33byrswxr3w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-linux-arm64.tar.gz";
+        sha256 = "1jdjvx123qwd4mncnzms1ps55041ad5wl8ijr5qfay1yjphy4zn8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-linux-arm64.tar.gz";
-        sha256 = "0kxi3fm2463bq6n0bnf0sbf4zjhg0c86bxw52dlmc8kp2zqc6lr3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-linux-arm64.tar.gz";
+        sha256 = "10p015rhp9dsxcwp0a0k3xvkphya8vji4ndv66z73jzr6z3vfqzm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-linux-arm64.tar.gz";
-        sha256 = "03z7b32l2jp1si13qy2rjvkjw789sqaypza7q2k4vhwaxyiw715z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
       }
-    ];
-    aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.0-darwin-arm64.tar.gz";
-        sha256 = "0y5gszzin1p9ck34s6jrg11p34629vvvv4dx0zl4w0j5srmycyjj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.27.2-linux-arm64.tar.gz";
+        sha256 = "0zgiaksn6x924g8lwcczfg8sm3jm747s4s6gbxv97p4cby4diw6m";
       }
+    ];
+    aarch64-darwin = [
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-darwin-arm64.tar.gz";
-        sha256 = "07ldq1anzrznan2a1x1igmgljfh6dx12cypggcyma7axiqj95ww1";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.17.1-darwin-arm64.tar.gz";
+        sha256 = "0xl5191acq12ixd4dpcrg5d32dp43qfbj5m2k0q78nsq8p85y772";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-darwin-arm64.tar.gz";
-        sha256 = "0h06wgmjqqvhsl7arx7k7q0mi9i484fj7bxbh4wvkjgxlhnm93ls";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.6.0-darwin-arm64.tar.gz";
+        sha256 = "0bjpzd81913p6bgcq4al0prnaa66ag3h9v832cvnksm128n5yqmz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.2.0-darwin-arm64.tar.gz";
-        sha256 = "0fj1ai1kv8xgmsvfbmy5gsinxag70rx9a9gkifqgcpn3r9mj48ks";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-darwin-arm64.tar.gz";
+        sha256 = "18ggnqx9zh8kl5h6nn2sa4zxvyby9pvscrvqnsam2l9yjv86r7i0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-darwin-arm64.tar.gz";
-        sha256 = "141mm2wa211gbs1kzqzq9ivjjz1bd93bb6vh9s28rz4z9ciaq44z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.3.0-darwin-arm64.tar.gz";
+        sha256 = "1i5ipmidg0yspayxyglbjaihajhj1bsk46saxkncfrkvqnh4iq50";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.4.0-darwin-arm64.tar.gz";
-        sha256 = "1iyc67r551bi1h20lfb2qp5b2ds8kf09gklbaz73k90hcrf0g9la";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-darwin-arm64.tar.gz";
+        sha256 = "09vllijaql7141h0dw3p5ikvv4kp0mzfl5f0n7gd9d4pwl3q3yzv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-arm64.tar.gz";
-        sha256 = "0fsmmgq0hvzyrw6vrdf3pppxjcj94fxxp52dl73r4f5wjkays33c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-arm64.tar.gz";
+        sha256 = "0jrihnwfh5wvc95nipqv7ak77kq9xj0pk5hlapv9w2ls5pwykv0r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-arm64.tar.gz";
-        sha256 = "1c3pchbnk6dsnxsl02ypq7s4mmkxdgxszdhql1klpx5js7i1lv8k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-arm64.tar.gz";
+        sha256 = "1rmvc2kgjmb978sfmlga6xy4i0f629lk1l95i30wg0rmj1hx3dag";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.26.0-darwin-arm64.tar.gz";
-        sha256 = "1nw1w3fj15d2536zy9im8sr4qn84c2cmvcqflf0fmwah8m21w61d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "0wzi2mb6jqmzyww2pbdx7cysi0xn4hp74g5n0jyz3mw68s5fm7vf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.3.1-darwin-arm64.tar.gz";
-        sha256 = "0jrihnwfh5wvc95nipqv7ak77kq9xj0pk5hlapv9w2ls5pwykv0r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.5.0-darwin-arm64.tar.gz";
+        sha256 = "1y77wjr7mpkf3vvqvp37bcdaci31bsjngg0kcsdwsqn93xs59vww";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.4.0-darwin-arm64.tar.gz";
-        sha256 = "18ggnqx9zh8kl5h6nn2sa4zxvyby9pvscrvqnsam2l9yjv86r7i0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.0.0-darwin-arm64.tar.gz";
+        sha256 = "0fsmmgq0hvzyrw6vrdf3pppxjcj94fxxp52dl73r4f5wjkays33c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.2.0-darwin-arm64.tar.gz";
-        sha256 = "1nsqxci7dzg433ydk34fkiq7clq00m45rj26rs4whx65y8hdhxrb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "0kym9f36h8b7s1smlmgazbzv8jjfpwxk6wv036bhx2xm3ysc7rgp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.4.0-darwin-arm64.tar.gz";
-        sha256 = "0ycqnlixxczqxa56mij8z35s50hg5k4ygw13mqqw66rpg7jvsvgk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-arm64.tar.gz";
+        sha256 = "0ci3xnxnwrk6dds21yifis1mrz24z2nxqdbya0qpqprkq6syvx41";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.5.0-darwin-arm64.tar.gz";
-        sha256 = "1y0wc1279ka05ng7wq6skmwyrmp1sb2sc64wiqx52napxvzjpv9r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v4.26.0-darwin-arm64.tar.gz";
+        sha256 = "141mm2wa211gbs1kzqzq9ivjjz1bd93bb6vh9s28rz4z9ciaq44z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.3.0-darwin-arm64.tar.gz";
-        sha256 = "09vllijaql7141h0dw3p5ikvv4kp0mzfl5f0n7gd9d4pwl3q3yzv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-arm64.tar.gz";
+        sha256 = "0n60fk2nyb1idf4rdc61jxjpzpw4v9106gwn6r1by10g8f1712yr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-darwin-arm64.tar.gz";
+        sha256 = "1lm26pinz7bjzv7bk22xq2qhyv5a4v7x7kwbl98sdv0gl1alj44f";
       }
+      # pulumi-resource-packet skipped (does not exist on remote)
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.8.0-darwin-arm64.tar.gz";
         sha256 = "1w78lqdf4ynfhl5h0bzxmvqnf4s59mflbdlbqhxq78qxwwq4v193";
       }
-      # pulumi-resource-packet skipped (does not exist on remote)
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "0wzi2mb6jqmzyww2pbdx7cysi0xn4hp74g5n0jyz3mw68s5fm7vf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.6.0-darwin-arm64.tar.gz";
+        sha256 = "0vh64l3pxg76gxxjg9gsy2jd9zjg6yjr1vx343y7f2g9p0pbir29";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.26.0-darwin-arm64.tar.gz";
-        sha256 = "1lm26pinz7bjzv7bk22xq2qhyv5a4v7x7kwbl98sdv0gl1alj44f";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.2.0-darwin-arm64.tar.gz";
+        sha256 = "1c3pchbnk6dsnxsl02ypq7s4mmkxdgxszdhql1klpx5js7i1lv8k";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-arm64.tar.gz";
-        sha256 = "10a2f5kdgk3jcd1441zbfcfnrl5zj6ks832jjmbyym33by7scvgc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.5.0-darwin-arm64.tar.gz";
+        sha256 = "0wkppnwmij7sy8iwdg9q9aknwckh90ybxpdqpr5brz9ay1svqjix";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-arm64.tar.gz";
-        sha256 = "1rmvc2kgjmb978sfmlga6xy4i0f629lk1l95i30wg0rmj1hx3dag";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.6.0-darwin-arm64.tar.gz";
+        sha256 = "0h06wgmjqqvhsl7arx7k7q0mi9i484fj7bxbh4wvkjgxlhnm93ls";
+      }
+      {
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.9.0-darwin-arm64.tar.gz";
+        sha256 = "07ldq1anzrznan2a1x1igmgljfh6dx12cypggcyma7axiqj95ww1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.5.1-darwin-arm64.tar.gz";
-        sha256 = "0h9lj565slf1gvzkk8vlk285jgssi62kmayim8473fgbgp3yj6jr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.0.1-darwin-arm64.tar.gz";
-        sha256 = "0ci3xnxnwrk6dds21yifis1mrz24z2nxqdbya0qpqprkq6syvx41";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.27.2-darwin-arm64.tar.gz";
+        sha256 = "0l8x9b3np0cwk606621vx2c3k7a67hr7022jfdmaa5ajm44fn4ai";
       }
     ];
   };
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
index 5b6b56cc772..dcd4fd1256d 100755
--- a/pkgs/tools/admin/pulumi/update.sh
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -6,7 +6,7 @@ API_URL="https://api.github.com/repos/pulumi"
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.17.0"
+VERSION="3.17.1"
 
 # A hashmap containing a plugin's name and it's respective repository inside
 # Pulumi's Github organization
diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
index 690c215471c..2e8eabfc1a3 100644
--- a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
+++ b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "realvnc-vnc-viewer";
-  version = "6.21.406";
+  version = "6.21.920";
 
   src = {
     "x86_64-linux" = fetchurl {
       url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
-      sha256 = "0rnizzanaykqg1vfy56p8abc4fmgpbibj54j4c1v81zsj3kmahka";
+      sha256 = "1qghc5380h4b2pczksmky3kcffz5wn9shw033w4f969wl96p31fz";
     };
     "i686-linux" = fetchurl {
       url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm";
-      sha256 = "1rlxfiqymi1licn2spyiqa00kiwzhdr0pkh7vv3ai6gb9f6phk31";
+      sha256 = "034iwqxpqhnm6i292fakva7vkwrrzamwcvbm7xyccpd54adj0grn";
     };
-  }.${stdenv.system};
+  }.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   nativeBuildInputs = [ autoPatchelfHook rpmextract ];
   buildInputs = [ libX11 libXext ];
diff --git a/pkgs/tools/archivers/7zz/default.nix b/pkgs/tools/archivers/7zz/default.nix
index 63e60335340..8d23b3a5c3c 100644
--- a/pkgs/tools/archivers/7zz/default.nix
+++ b/pkgs/tools/archivers/7zz/default.nix
@@ -1,47 +1,48 @@
-{ lib, stdenv, fetchurl, autoPatchelfHook }:
+{ stdenv, lib, fetchurl, p7zip }:
 
-let platform =       if stdenv.isi686    then "x86"
-                else if stdenv.isx86_64  then "x64"
-                else if stdenv.isAarch32 then "arm"
-                else if stdenv.isAarch64 then "arm64"
-                else throw "Unsupported architecture";
+# https://sourceforge.net/p/sevenzip/discussion/45797/thread/7fe6c21efa/
+stdenv.mkDerivation rec {
+  pname = "7zz";
+  version = "21.04";
 
-    url = "https://7-zip.org/a/7z2101-linux-${platform}.tar.xz";
+  src = fetchurl {
+    url = "https://7-zip.org/a/7z${lib.replaceStrings ["." ] [""] version}-src.7z";
+    sha256 = "sha256-XmuEyIJAJQM0ZbgrW02lQ2rp4KFDBjLXKRaTfY+VCOg=";
+  };
 
-    hashes = {
-      x86 = "0k6vg85ld8i2pcv5sv3xbvf3swqh9qj8hf2jcpadssys3yyidqyj";
-      x64 = "1yfanx98fizj8d2s87yxgsy30zydx7h5w9wf4wy3blgsp0vkbjb3";
-      arm = "04iah9vijm86r8rbkhxig86fx3lpag4xi7i3vq7gfrlwkymclhm1";
-      arm64 = "0a26ginpb22aydcyvffxpbi7lxh4sgs9gb6cj96qqx7cnf7bk2ri";
-    };
-    sha256 = hashes."${platform}";
+  sourceRoot = "CPP/7zip/Bundles/Alone2";
 
-in stdenv.mkDerivation {
-  pname = "7zz";
-  version = "21.01";
+  # we need https://github.com/nidud/asmc/tree/master/source/asmc/linux in order
+  # to build with the optimized assembler but that doesn't support building with
+  # GCC: https://github.com/nidud/asmc/issues/8
+  makefile = "../../cmpl_gcc.mak"; # "../../cmpl_gcc_x64.mak";
 
-  src = fetchurl { inherit url sha256; };
-  sourceRoot = ".";
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
 
-  nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ stdenv.cc.cc.lib ];
+  nativeBuildInputs = [ p7zip ];
 
-  dontBuild = true;
+  enableParallelBuilding = true;
 
   installPhase = ''
     runHook preInstall
-    install -D -t $out/bin 7zz
+
+    install -Dm555 -t $out/bin b/g/7zz
+    install -Dm444 -t $out/share/doc/${pname} ../../../../DOC/*.txt
+
     runHook postInstall
   '';
 
-  meta = with lib; {
-    description = "Command line archiver utility";
-    homepage = "https://www.7-zip.org";
+  doInstallCheck = true;
 
-    # source not released yet. will be under LGPL 2.1+ with RAR exception
-    license = licenses.unfree;
+  installCheckPhase = ''
+    $out/bin/7zz --help | grep ${version}
+  '';
 
-    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
-    maintainers = with maintainers; [ anna328p ];
+  meta = with lib; {
+    description = "Command line archiver utility";
+    homepage = "https://7zip.org";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ anna328p peterhoeg ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/archivers/unar/default.nix b/pkgs/tools/archivers/unar/default.nix
index f3f7b32e119..5ce51fb0134 100644
--- a/pkgs/tools/archivers/unar/default.nix
+++ b/pkgs/tools/archivers/unar/default.nix
@@ -1,4 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, installShellFiles, gnustep, bzip2, zlib, icu, openssl, wavpack }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+, gnustep
+, bzip2
+, zlib
+, icu
+, openssl
+, wavpack
+, xcbuildHook
+, Foundation
+, AppKit
+}:
 
 stdenv.mkDerivation rec {
   pname = "unar";
@@ -12,35 +25,54 @@ stdenv.mkDerivation rec {
     sha256 = "0p846q1l66k3rnd512sncp26zpv411b8ahi145sghfcsz9w8abc4";
   };
 
-  postPatch = ''
-    for f in Makefile.linux ../UniversalDetector/Makefile.linux ; do
-      substituteInPlace $f \
-        --replace "= gcc" "=${stdenv.cc.targetPrefix}cc" \
-        --replace "= g++" "=${stdenv.cc.targetPrefix}c++" \
-        --replace "-DGNU_RUNTIME=1" "" \
-        --replace "-fgnu-runtime" "-fobjc-nonfragile-abi"
-    done
+  postPatch =
+    if stdenv.isDarwin then ''
+      substituteInPlace "./XADMaster.xcodeproj/project.pbxproj" \
+        --replace "libstdc++.6.dylib" "libc++.1.dylib"
+    '' else ''
+      for f in Makefile.linux ../UniversalDetector/Makefile.linux ; do
+        substituteInPlace $f \
+          --replace "= gcc" "=${stdenv.cc.targetPrefix}cc" \
+          --replace "= g++" "=${stdenv.cc.targetPrefix}c++" \
+          --replace "-DGNU_RUNTIME=1" "" \
+          --replace "-fgnu-runtime" "-fobjc-nonfragile-abi"
+      done
 
-    # we need to build inside this directory as well, so we have to make it writeable
-    chmod +w ../UniversalDetector -R
-  '';
+      # we need to build inside this directory as well, so we have to make it writeable
+      chmod +w ../UniversalDetector -R
+    '';
 
-  buildInputs = [ gnustep.base bzip2 icu openssl wavpack zlib ];
+  buildInputs = [ bzip2 icu openssl wavpack zlib ] ++
+    lib.optionals stdenv.isLinux [ gnustep.base ] ++
+    lib.optionals stdenv.isDarwin [ Foundation AppKit ];
 
-  nativeBuildInputs = [ gnustep.make installShellFiles ];
+  nativeBuildInputs = [ installShellFiles ] ++
+    lib.optionals stdenv.isLinux [ gnustep.make ] ++
+    lib.optionals stdenv.isDarwin [ xcbuildHook ];
+
+  xcbuildFlags = lib.optionals stdenv.isDarwin [
+    "-target unar"
+    "-target lsar"
+    "-configuration Release"
+    "MACOSX_DEPLOYMENT_TARGET=10.12"
+    # Fix "ld: file not found: /nix/store/*-clang-7.1.0/lib/arc/libarclite_macosx." error
+    # Disabling ARC may leak memory, however since this program is generally not used for
+    # long periods of time, it shouldn't be an issue
+    "CLANG_LINK_OBJC_RUNTIME=NO"
+  ];
+
+  makefile = lib.optionalString (!stdenv.isDarwin) "Makefile.linux";
 
   enableParallelBuilding = true;
 
   dontConfigure = true;
 
-  makefile = "Makefile.linux";
-
   sourceRoot = "./source/XADMaster";
 
   installPhase = ''
     runHook preInstall
 
-    install -Dm555 -t $out/bin lsar unar
+    install -Dm555 -t $out/bin ${lib.optionalString stdenv.isDarwin "Products/Release/"}{lsar,unar}
     for f in lsar unar; do
       installManPage ./Extra/$f.?
       installShellCompletion --bash --name $f ./Extra/$f.bash_completion
@@ -60,7 +92,7 @@ stdenv.mkDerivation rec {
       ADF, DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old formats.
     '';
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ peterhoeg thiagokokada ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/archivers/unrar-wrapper/default.nix b/pkgs/tools/archivers/unrar-wrapper/default.nix
new file mode 100644
index 00000000000..7452969cbdb
--- /dev/null
+++ b/pkgs/tools/archivers/unrar-wrapper/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildPythonApplication, fetchFromGitHub, unar }:
+
+buildPythonApplication rec {
+  pname = "unrar-wrapper";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "openSUSE";
+    repo = "unrar_wrapper";
+    rev = "unrar_wrapper-${version}";
+    sha256 = "sha256-HjrUif8MrbtLjRQMAPZ/Y2o43rGSDj0HHY4fZQfKz5w=";
+  };
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" "${lib.makeBinPath [ unar ]}"
+  ];
+
+  postFixup = ''
+    ln -s $out/bin/unrar_wrapper $out/bin/unrar
+    rm -rf $out/nix-support/propagated-build-inputs
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = with lib; {
+    homepage = "https://github.com/openSUSE/unrar_wrapper";
+    description = "Backwards compatibility between unar and unrar";
+    longDescription = ''
+      unrar_wrapper is a wrapper python script that transforms the basic UnRAR commands
+      to unar and lsar calls in order to provide a backwards compatibility.
+    '';
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ artturin ];
+  };
+}
diff --git a/pkgs/tools/archivers/unrar-wrapper/setup-hook.sh b/pkgs/tools/archivers/unrar-wrapper/setup-hook.sh
new file mode 100644
index 00000000000..41d6a5cd217
--- /dev/null
+++ b/pkgs/tools/archivers/unrar-wrapper/setup-hook.sh
@@ -0,0 +1,5 @@
+unpackCmdHooks+=(_tryUnrar)
+_tryUnrar() {
+    if ! [[ "$curSrc" =~ \.rar$ ]]; then return 1; fi
+    unrar x "$curSrc" >/dev/null
+}
diff --git a/pkgs/tools/audio/stt/default.nix b/pkgs/tools/audio/stt/default.nix
index 7834f87a051..c8fff7ddbb4 100644
--- a/pkgs/tools/audio/stt/default.nix
+++ b/pkgs/tools/audio/stt/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = https://github.com/coqui-ai/STT;
+    homepage = "https://github.com/coqui-ai/STT";
     description = "Deep learning toolkit for Speech-to-Text, battle-tested in research and production";
     license = licenses.mpl20;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
index 54df481cd67..624bcc08b41 100644
--- a/pkgs/tools/cd-dvd/vobsub2srt/default.nix
+++ b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchgit, cmake, libtiff, pkg-config, tesseract }:
 
 stdenv.mkDerivation rec {
-  pname = "vobsub2srt-git";
-  version = "20140817-${builtins.substring 0 7 rev}";
+  pname = "vobsub2srt";
+  version = "unstable-2014-08-17";
   rev = "a6abbd61127a6392d420bbbebdf7612608c943c2";
 
   src = fetchgit {
diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix
index fc2e2642cf8..c9ffaef4b76 100644
--- a/pkgs/tools/compression/ouch/default.nix
+++ b/pkgs/tools/compression/ouch/default.nix
@@ -1,4 +1,14 @@
-{ lib, rustPlatform, fetchFromGitHub, help2man, installShellFiles }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, help2man
+, installShellFiles
+, pkg-config
+, bzip2
+, xz
+, zlib
+, zstd
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "ouch";
@@ -13,7 +23,13 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-jEprWtIl5LihD9fOMYHGGlk0+h4woUlwUWNfSkd2t10=";
 
-  nativeBuildInputs = [ help2man installShellFiles ];
+  nativeBuildInputs = [ help2man installShellFiles pkg-config ];
+
+  buildInputs = [ bzip2 xz zlib zstd ];
+
+  cargoBuildFlags = [ "--features" "zstd/pkg-config" ];
+
+  cargoTestFlags = cargoBuildFlags;
 
   postInstall = ''
     help2man $out/bin/ouch > ouch.1
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 0f28ad14416..04774e851b3 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -239,12 +239,14 @@ in rec {
   };
 
   ceph-client = runCommand "ceph-client-${version}" {
-      meta = getMeta "Tools needed to mount Ceph's RADOS Block Devices";
+      meta = getMeta "Tools needed to mount Ceph's RADOS Block Devices/Cephfs";
     } ''
-      mkdir -p $out/{bin,etc,${sitePackages},share/bash-completion/completions}
+      mkdir -p $out/{bin,sbin,etc,${sitePackages},share/bash-completion/completions}
       cp -r ${ceph}/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $out/bin
       cp -r ${ceph}/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $out/bin
       cp -r ${ceph}/bin/rbd-replay* $out/bin
+      cp -r ${ceph}/sbin/mount.ceph $out/sbin
+      cp -r ${ceph}/sbin/mount.fuse.ceph $out/sbin
       cp -r ${ceph}/${sitePackages} $out/${sitePackages}
       cp -r ${ceph}/etc/bash_completion.d $out/share/bash-completion/completions
       # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index 0639c6a6f21..ec227c95573 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -1,46 +1,23 @@
-{ lib, stdenv, fetchurl, fetchpatch, libuuid, libselinux }:
-let
-  sourceInfo = rec {
-    version = "2.2.7";
-    url = "http://nilfs.sourceforge.net/download/nilfs-utils-${version}.tar.bz2";
-    sha256 = "01f09bvjk2crx65pxmxiw362wkkl3v2v144dfn3i7bk5gz253xic";
-    baseName = "nilfs-utils";
-    name = "${baseName}-${version}";
-  };
-in
-stdenv.mkDerivation {
-  src = fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.sha256;
-  };
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libuuid, libselinux }:
 
-  inherit (sourceInfo) name version;
-  buildInputs = [libuuid libselinux];
+stdenv.mkDerivation rec {
+  pname = "nilfs-utils";
+  version = "2.2.8";
 
-  preConfigure = ''
-    sed -e '/sysconfdir=\/etc/d; ' -i configure
-    sed -e "s@sbindir=/sbin@sbindir=$out/sbin@" -i configure
-    sed -e 's@/sbin/@'"$out"'/sbin/@' -i ./lib/cleaner*.c
-  '';
+  src = fetchFromGitHub {
+    owner = "nilfs-dev";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "094mw7dsyppyiyzfdnf3f5hlkrh4bidk1kvvpn1kcvw5vn2xpfk7";
+  };
 
-  patches = [
-    # Fix w/musl
-    (fetchpatch {
-      url = "https://github.com/nilfs-dev/nilfs-utils/commit/115fe4b976858c487cf83065f513d8626089579a.patch";
-      sha256 = "0h89jz9l5d4rqj647ljbnv451l4ncqpsvzj0v70mn5391hfwsjlv";
-    })
-    (fetchpatch {
-      url =  "https://github.com/nilfs-dev/nilfs-utils/commit/51b32c614be9e98c32de7f531ee600ca0740946f.patch";
-      sha256 = "1ycq83c6jjy74aif47v075k5y2szzwhq6mbcrpd1z4b4i1x6yhpn";
-    })
-  ];
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = [ libuuid libselinux ];
 
-  configureFlags = [
-    "--with-libmount"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    # AC_FUNC_MALLOC is broken on cross builds.
-    "ac_cv_func_malloc_0_nonnull=yes"
-    "ac_cv_func_realloc_0_nonnull=yes"
+  installFlags = [
+    "sysconfdir=${placeholder "out"}/etc"
+    "root_sbindir=${placeholder "out"}/sbin"
   ];
 
   # FIXME: https://github.com/NixOS/patchelf/pull/98 is in, but stdenv
@@ -49,7 +26,7 @@ stdenv.mkDerivation {
   # To make sure patchelf doesn't mistakenly keep the reference via
   # build directory
   postInstall = ''
-    find . -name .libs | xargs rm -rf
+    find . -name .libs -exec rm -rf -- {} +
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/graphics/ldgallery/default.nix b/pkgs/tools/graphics/ldgallery/default.nix
index 84d179374ae..1b620656ce5 100644
--- a/pkgs/tools/graphics/ldgallery/default.nix
+++ b/pkgs/tools/graphics/ldgallery/default.nix
@@ -1,7 +1,7 @@
 { lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick, CoreServices }:
 
 with lib;
-with haskell.lib;
+with haskell.lib.compose;
 
 let
   ldgallery-viewer = pkgs.callPackage ./viewer { inherit CoreServices; };
@@ -12,7 +12,7 @@ in
 # making sure that the versions of the compiler and viewer parts are in sync
 assert ldgallery-compiler.version == versions.majorMinor ldgallery-viewer.version;
 
-justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: {
+justStaticExecutables (overrideCabal (oldAttrs: {
   pname = "ldgallery"; # bundled viewer + compiler
 
   buildTools = (oldAttrs.buildTools or []) ++ [ makeWrapper pandoc ];
@@ -50,4 +50,4 @@ justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: {
 
   # other package metadata (maintainer, description, license, ...)
   # are inherited from the compiler package
-}))
+}) ldgallery-compiler)
diff --git a/pkgs/tools/graphics/perceptualdiff/default.nix b/pkgs/tools/graphics/perceptualdiff/default.nix
index 454352986ed..f2281bc5d35 100644
--- a/pkgs/tools/graphics/perceptualdiff/default.nix
+++ b/pkgs/tools/graphics/perceptualdiff/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/myint/perceptualdiff";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ uri-canva ];
-    platforms = platforms.x86;
+    platforms = platforms.unix;
+    broken = stdenv.hostPlatform.system == "aarch64-darwin";
   };
 }
diff --git a/pkgs/tools/graphics/pngquant/default.nix b/pkgs/tools/graphics/pngquant/default.nix
index b2b0691718a..bb0ef858125 100644
--- a/pkgs/tools/graphics/pngquant/default.nix
+++ b/pkgs/tools/graphics/pngquant/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   preConfigure = "patchShebangs .";
 
+  configureFlags = lib.optionals (!stdenv.isi686 && !stdenv.isx86_64) [ "--disable-sse" ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libpng zlib lcms2 ];
 
diff --git a/pkgs/tools/graphics/qrcode/default.nix b/pkgs/tools/graphics/qrcode/default.nix
index 93a620b5779..2067d1a97e2 100644
--- a/pkgs/tools/graphics/qrcode/default.nix
+++ b/pkgs/tools/graphics/qrcode/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  pname = "qrcode-git";
-  version = "20160804";
+  pname = "qrcode";
+  version = "unstable-2016-08-04";
 
   src = fetchFromGitHub {
-    owner  = "qsantos";
-    repo   = "qrcode";
-    rev    = "ad0fdb4aafd0d56b903f110f697abaeb27deee73";
+    owner = "qsantos";
+    repo = "qrcode";
+    rev = "ad0fdb4aafd0d56b903f110f697abaeb27deee73";
     sha256 = "0v81745nx5gny2g05946k8j553j18a29ikmlyh6c3syq6c15k8cf";
   };
 
diff --git a/pkgs/tools/inputmethods/emote/default.nix b/pkgs/tools/inputmethods/emote/default.nix
index d65831d5202..79831d7ef1e 100644
--- a/pkgs/tools/inputmethods/emote/default.nix
+++ b/pkgs/tools/inputmethods/emote/default.nix
@@ -2,18 +2,21 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "emote";
-  version = "2.0.0";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "tom-james-watson";
     repo = "Emote";
     rev = "v${version}";
-    sha256 = "kYXFD6VBnuEZ0ZMsF6ZmN4V0JN83puxRILpNlllVsKQ=";
+    sha256 = "mqCSl+EGbnL9AfzZT3aa/Y5Rsx433ZmI31BmK3wkaJk=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace "pygobject==3.36.0" "pygobject"
+    substituteInPlace setup.py \
+      --replace "pygobject==3.36.0" "pygobject" \
+      --replace "manimpango==0.3.0" "manimpango"
     substituteInPlace emote/config.py --replace 'os.environ.get("SNAP")' "'$out/share/emote'"
+    substituteInPlace emote/picker.py --replace 'os.environ.get("SNAP_VERSION", "dev build")' "'$version'"
     substituteInPlace snap/gui/emote.desktop --replace "Icon=\''${SNAP}/usr/share/icons/emote.svg" "Icon=emote.svg"
   '';
 
@@ -27,6 +30,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = [
+    python3Packages.manimpango
     python3Packages.pygobject3
     gtk3
     xdotool
@@ -36,7 +40,7 @@ python3Packages.buildPythonApplication rec {
   postInstall = ''
     install -D snap/gui/emote.desktop $out/share/applications/emote.desktop
     install -D snap/gui/emote.svg $out/share/pixmaps/emote.svg
-    install -D -t $out/share/emote/static static/{emojis.json,logo.svg,style.css}
+    install -D -t $out/share/emote/static static/{NotoColorEmoji.ttf,emojis.csv,logo.svg,style.css}
   '';
 
   dontWrapGApps = true;
diff --git a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
index d165f404f6c..385806e444c 100644
--- a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
+++ b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libiconv, skktools }:
+{ lib, stdenv, fetchurl, buildPackages, libiconv, skktools }:
 
 let
   # kana to kanji
@@ -33,6 +33,8 @@ stdenv.mkDerivation {
   srcs = [ small medium large edict assoc ];
   nativeBuildInputs = [ skktools ] ++ lib.optional stdenv.isDarwin libiconv;
 
+  strictDeps = true;
+
   dontUnpack = true;
 
   installPhase = ''
@@ -47,28 +49,30 @@ stdenv.mkDerivation {
     for src in $srcs; do
       dst=$out/share/$(dictname $src)
       echo ";;; -*- coding: utf-8 -*-" > $dst  # libskk requires this on the first line
-      iconv -f EUC-JP -t UTF-8 $src |\
-        ${skktools}/bin/skkdic-expr2 >> $dst
+      ${lib.getBin buildPackages.stdenv.cc.libc}/bin/iconv \
+        -f EUC-JP -t UTF-8 $src | skkdic-expr2 >> $dst
     done
 
     # combine .L .edict and .assoc for convenience
     dst=$out/share/SKK-JISYO.combined
     echo ";;; -*- coding: utf-8 -*-" > $dst
-    ${skktools}/bin/skkdic-expr2 \
+    skkdic-expr2 \
       $out/share/$(dictname ${large}) + \
       $out/share/$(dictname ${edict}) + \
       $out/share/$(dictname ${assoc}) >> $dst
   '';
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with lib; {
     description = "A collection of standard SKK dictionaries";
     longDescription = ''
       This package provides a collection of standard kana-to-kanji
       dictionaries for the SKK Japanese input method.
     '';
     homepage = "https://github.com/skk-dev/dict";
-    license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [ yuriaisaka ];
-    platforms = with lib.platforms; linux ++ darwin;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ yuriaisaka ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
new file mode 100644
index 00000000000..41e6e32b831
--- /dev/null
+++ b/pkgs/tools/misc/apkeep/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchCrate, rustPlatform, openssl, pkg-config }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "apkeep";
+  version = "0.6.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-RTzYvDkmE0kgl4FSOSjDuQ5G1E0ugFU41zVAMMroofM=";
+  };
+
+  cargoSha256 = "sha256-YFs2AOMGp0WNrceK14AnigZdJl+UsQdUchpxaI7HSXw=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ];
+
+  meta = with lib; {
+    description = "A command-line tool for downloading APK files from various sources";
+    homepage = "https://github.com/EFForg/apkeep";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jyooru ];
+  };
+}
diff --git a/pkgs/tools/misc/beats/default.nix b/pkgs/tools/misc/beats/default.nix
index 3e471c76fdf..9b387a3939d 100644
--- a/pkgs/tools/misc/beats/default.nix
+++ b/pkgs/tools/misc/beats/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1rdvsqrjpily74y8vwch711401585xckb4p41cfwrmj6vf44jhif";
   };
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
 
   meta = with lib; {
     homepage = "https://github.com/j0hax/beats";
diff --git a/pkgs/tools/misc/clipnotify/default.nix b/pkgs/tools/misc/clipnotify/default.nix
index 5cb3a5114d8..51a67f6983f 100644
--- a/pkgs/tools/misc/clipnotify/default.nix
+++ b/pkgs/tools/misc/clipnotify/default.nix
@@ -1,12 +1,12 @@
 { libX11, libXfixes, lib, stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "clipnotify";
-  version = "git-2018-02-20";
+  version = "unstable-2018-02-20";
 
   src = fetchFromGitHub {
     owner = "cdown";
-    repo  = "clipnotify";
-    rev   = "9cb223fbe494c5b71678a9eae704c21a97e3bddd";
+    repo = "clipnotify";
+    rev = "9cb223fbe494c5b71678a9eae704c21a97e3bddd";
     sha256 = "1x9avjq0fgw0svcbw6b6873qnsqxbacls9sipmcv86xia4bxh8dn";
   };
 
diff --git a/pkgs/tools/misc/colorpicker/default.nix b/pkgs/tools/misc/colorpicker/default.nix
index 07d15469383..475041b4f68 100644
--- a/pkgs/tools/misc/colorpicker/default.nix
+++ b/pkgs/tools/misc/colorpicker/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "colorpicker";
-  version = "git-2018-01-14";
+  version = "unstable-2018-01-14";
 
   src = fetchFromGitHub {
     owner = "Ancurio";
-    repo  = "colorpicker";
-    rev   = "287676947e6e3b5b0cee784aeb1638cf22f0ce17";
+    repo = "colorpicker";
+    rev = "287676947e6e3b5b0cee784aeb1638cf22f0ce17";
     sha256 = "1kj1dpb79llrfpszraaz6r7ci114zqi5rmqxwsvq2dnnpjxyi29r";
   };
 
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index e4ca354e4a3..65797f65fe6 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "5.14";
+  version = "5.15";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-uxPbkZFcrNekkrZbZd8Hpn5Ll03b6vdiBbGUWiPSdoY=";
+    sha256 = "sha256-aG/WEQOJ1JwqEg8Aw81d/kPeutqOAh5CcNdLvkUqEW0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
index 03465d593ff..4c227cbe3f9 100644
--- a/pkgs/tools/misc/flashrom/default.nix
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -1,4 +1,5 @@
 { fetchurl
+, fetchpatch
 , gcc9Stdenv
 , installShellFiles
 , lib
@@ -20,11 +21,18 @@ gcc9Stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
-  buildInputs = [ libftdi1 libusb1 ]
-    # https://github.com/flashrom/flashrom/issues/125
-    ++ lib.optional (!gcc9Stdenv.isAarch64) pciutils
+  buildInputs = [ libftdi1 libusb1 pciutils ]
     ++ lib.optional jlinkSupport libjaylink;
 
+  patches = [
+    # remove when updating from 1.2
+    (fetchpatch {
+      name = "fix-aarch64-build.patch";
+      url = "https://github.com/flashrom/flashrom/commit/da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d.patch";
+      sha256 = "sha256-fXYDXgT/ik+qtxxFEyJ7/axtycbwLkEg0UD+hzsYEwg=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace util/z60_flashrom.rules \
       --replace "plugdev" "flashrom"
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 350e28428d4..6f77c54e30b 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
   '') ];
 
   meta = with lib; {
+    mainProgram = "fortune";
     description = "A program that displays a pseudorandom message from a database of quotations";
     license = licenses.bsdOriginal;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/gaphor/default.nix b/pkgs/tools/misc/gaphor/default.nix
new file mode 100644
index 00000000000..6105b07c345
--- /dev/null
+++ b/pkgs/tools/misc/gaphor/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, poetry-core
+, gobject-introspection
+, pango
+, gtksourceview4
+, wrapGAppsHook
+, makeDesktopItem
+, copyDesktopItems
+, gaphas
+, generic
+, pycairo
+, pygobject3
+, python
+, tinycss2
+}:
+
+buildPythonApplication rec {
+  pname = "gaphor";
+  version = "2.6.5";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-IFsbWx5lblKsnEibVihM6ZPRoydXC+JM1gdZEUUTKxw=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core copyDesktopItems gobject-introspection wrapGAppsHook
+  ];
+
+  # Setting gobject-introspection on booth nativeBuildInputs and
+  # buildInputs because of #56943. This recognizes pango, avoiding
+  # a "ValueError: Namespace PangoCairo not available".
+  buildInputs = [ gobject-introspection gtksourceview4 pango ];
+
+  propagatedBuildInputs = [
+    gaphas
+    generic
+    pycairo
+    pygobject3
+    tinycss2
+  ];
+
+  desktopItems = makeDesktopItem {
+    name = pname;
+    exec = "gaphor";
+    icon = "gaphor";
+    comment = meta.description;
+    desktopName = "Gaphor";
+  };
+
+  postInstall = ''
+    install -Dm644 $out/${python.sitePackages}/gaphor/ui/icons/hicolor/scalable/apps/org.gaphor.Gaphor.svg $out/share/pixmaps/gaphor.svg
+  '';
+
+  meta = with lib; {
+    description = "Simple modeling tool written in Python";
+    maintainers = with maintainers; [ wolfangaukang ];
+    homepage = "https://github.com/gaphor/gaphor";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/graylog/plugins.nix b/pkgs/tools/misc/graylog/plugins.nix
index 8df7f34bb23..45c4441ea2d 100644
--- a/pkgs/tools/misc/graylog/plugins.nix
+++ b/pkgs/tools/misc/graylog/plugins.nix
@@ -107,7 +107,7 @@ in {
       cp ${pluginName}-${version}.jar $out/bin/${pluginName}-${version}.jar
     '';
     meta = {
-      homepage = https://github.com/Graylog2/graylog-plugin-integrations;
+      homepage = "https://github.com/Graylog2/graylog-plugin-integrations";
       description = "A collection of open source Graylog integrations that will be released together";
     };
   };
@@ -224,7 +224,7 @@ in {
       sha256 = "1hkaklwzcsvqq45b98chwqxqdgnnbj4dg68agsll13yq4zx37qpp";
     };
     meta = {
-      homepage = https://github.com/graylog-labs/graylog-plugin-snmp;
+      homepage = "https://github.com/graylog-labs/graylog-plugin-snmp";
       description = "Graylog plugin to receive SNMP traps";
     };
   };
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 61abb3eee10..826c9d85579 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,5 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, openssh, gnupg
-, perl, procps, gnugrep, gawk, findutils, gnused }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+, makeWrapper
+, coreutils
+, openssh
+, gnupg
+, perl
+, procps
+, gnugrep
+, gawk
+, findutils
+, gnused
+}:
 
 stdenv.mkDerivation rec {
   pname = "keychain";
@@ -12,33 +25,19 @@ stdenv.mkDerivation rec {
     sha256 = "1bkjlg0a2bbdjhwp37ci1rwikvrl4s3xlbf2jq2z4azc96dr83mj";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
   buildInputs = [ perl ];
 
   installPhase = ''
-    mkdir -p $out/{bin,share/man/man1}
+    mkdir -p $out/bin
     cp keychain $out/bin/keychain
-    cp keychain.1 $out/share/man/man1
+    installManPage keychain.1
     wrapProgram $out/bin/keychain \
-      --prefix PATH ":" "${coreutils}/bin" \
-      --prefix PATH ":" "${openssh}/bin" \
-      --prefix PATH ":" "${gnupg}/bin" \
-      --prefix PATH ":" "${gnugrep}/bin" \
-      --prefix PATH ":" "${gnused}/bin" \
-      --prefix PATH ":" "${findutils}/bin" \
-      --prefix PATH ":" "${gawk}/bin" \
-      --prefix PATH ":" "${procps}/bin"
+      --prefix PATH ":" "${lib.makeBinPath [ coreutils findutils gawk gnupg gnugrep gnused openssh procps ]}" \
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Keychain management tool";
-    homepage = "https://www.funtoo.org/Keychain";
-    license = lib.licenses.gpl2;
-    # other platforms are untested (AFAIK)
-    platforms =
-      with lib;
-      platforms.linux ++ platforms.darwin;
-    maintainers = with lib.maintainers; [ sigma ];
     longDescription = ''
       Keychain helps you to manage SSH and GPG keys in a convenient and secure
       manner. It acts as a frontend to ssh-agent and ssh-add, but allows you
@@ -51,5 +50,9 @@ stdenv.mkDerivation rec {
       for remote cron jobs to securely "hook in" to a long-running ssh-agent
       process, allowing your scripts to take advantage of key-based logins.
     '';
+    homepage = "https://www.funtoo.org/Keychain";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sigma SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/keymapviz/default.nix b/pkgs/tools/misc/keymapviz/default.nix
new file mode 100644
index 00000000000..14c56d48dfc
--- /dev/null
+++ b/pkgs/tools/misc/keymapviz/default.nix
@@ -0,0 +1,22 @@
+{ fetchFromGitHub, lib, python3 }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "keymapviz";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "yskoht";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-lNpUH4BvlnHx0SDq5YSsHdcTeEnf6MH2WRUEsCWWHA0=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [ regex ];
+
+  meta = with lib; {
+    description = "A qmk keymap.c visualizer";
+    homepage = "https://github.com/yskoht/keymapviz";
+    license = licenses.mit;
+    maintainers = with maintainers; [ legendofmiracles ];
+  };
+}
diff --git a/pkgs/tools/misc/lighthouse-steamvr/default.nix b/pkgs/tools/misc/lighthouse-steamvr/default.nix
new file mode 100644
index 00000000000..ac3c6bcf1ad
--- /dev/null
+++ b/pkgs/tools/misc/lighthouse-steamvr/default.nix
@@ -0,0 +1,27 @@
+{ fetchFromGitHub, lib, rustPlatform, pkg-config, dbus }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "Lighthouse";
+  version = "unstable-2021-03-28";
+
+  src = fetchFromGitHub {
+    owner = "ShayBox";
+    repo = "Lighthouse";
+    rev = "a090889077557fe92610ca503979b5cfc0724d61";
+    sha256 = "0vfl4y61cdrah98x6xcnb3cyi8rwhlws8ps6vfdlmr3dv30mbnbb";
+  };
+
+  cargoSha256 = "0aqd9ixszwq6qmj751gxx453gwbhwqi16m72bkbkj9s6nfyqihql";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ dbus ];
+
+  meta = with lib; {
+    description = "VR Lighthouse power state management";
+    homepage = "https://github.com/ShayBox/Lighthouse";
+    license = licenses.mit;
+    maintainers = with maintainers; [ expipiplus1 ];
+  };
+}
+
diff --git a/pkgs/tools/misc/livedl/default.nix b/pkgs/tools/misc/livedl/default.nix
index b989fe27a65..ef298fbc646 100644
--- a/pkgs/tools/misc/livedl/default.nix
+++ b/pkgs/tools/misc/livedl/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   sourceRoot = "source/src";
 
-  vendorSha256 = sha256:g5Y1IH1U1zOOHygTzAJuBnUj+MyPe64KHTYikipt3TY=;
+  vendorSha256 = "g5Y1IH1U1zOOHygTzAJuBnUj+MyPe64KHTYikipt3TY=";
 
   meta = with lib; {
     description = "Command-line tool to download nicovideo.jp livestreams";
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index de2118083d9..2073e066ae7 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "008537ns659pw2aag15imwjrxj73j26aqq90h285is6kz8gmv06v";
   };
 
+  patches = [
+    # Upstream patch to fix parallel build failure
+    ./parallel-make.patch
+  ];
+
   outputs = [ "out" "doc" ];
 
   makeFlags = [
@@ -26,6 +31,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ slang ncurses ];
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "A terminal pager similar to 'more' and 'less'";
     longDescription = ''
diff --git a/pkgs/tools/misc/most/parallel-make.patch b/pkgs/tools/misc/most/parallel-make.patch
new file mode 100644
index 00000000000..07c2e47c673
--- /dev/null
+++ b/pkgs/tools/misc/most/parallel-make.patch
@@ -0,0 +1,18 @@
+Upstream commit c9cfad50a ("src/Makefile.in: Avoid a race condition
+when performing a parallel build")
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -54,6 +54,12 @@ COMPILE_CMD = $(CC) -c $(ALL_CFLAGS) -DMOST_SYSTEM_INITFILE='"$(SYS_INITFILE)"'
+ all: $(EXEC)
+ $(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC)
+ 	@echo $(EXEC) created in $(OBJDIR)
++
++# C source files include autogenrated "config.h". Make sure
++# it's available before the compilation. Pessimistically assume
++# any source file can depend on "config.h".
++$(OBJS) $(OBJDIR)/chkslang.o: $(CONFIG_H)
++
+ $(OBJDIR)/$(EXEC): $(OBJS)
+ 	cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS)
+ #
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index 1873cc60557..0de14426f21 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -2,14 +2,9 @@
 , stdenv
 , fetchFromGitHub
 , gnugrep
-, nixStable
-, nixUnstable
-, enableFlakes ? false
+, nix
+, enableFlakes ? null # deprecated
 }:
-
-let
-  nix = if enableFlakes then nixUnstable else nixStable;
-in
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
   version = "1.5.0";
diff --git a/pkgs/tools/misc/octofetch/default.nix b/pkgs/tools/misc/octofetch/default.nix
index b415b43d0cd..e0cf9d98d65 100644
--- a/pkgs/tools/misc/octofetch/default.nix
+++ b/pkgs/tools/misc/octofetch/default.nix
@@ -1,26 +1,28 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , pkg-config
 , openssl
+, Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "octofetch";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "azur1s";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ciBFTVdHotjifNAoXJjI9CumyK98OkMmfWMbrEldlNI=";
+    sha256 = "sha256-/AXE1e02NfxQzJZd0QX6gJDjmFFmuUTOndulZElgIMI=";
   };
 
-  cargoSha256 = "sha256-Gzemm5HY6YwlxesQlil6R+34OtAeU2k7f/9+Lll3i8k=";
+  cargoSha256 = "sha256:1ddyzbpsiy54r13nb9yrm64cbbifixnhkskwg5fvhhzj4ri4ks4a";
 
   nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ openssl ];
+  buildInputs = lib.optionals stdenv.isLinux [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
     description = "Github user information on terminal";
diff --git a/pkgs/tools/misc/oggvideotools/default.nix b/pkgs/tools/misc/oggvideotools/default.nix
index 2780354aa0e..e6b8d9a1d28 100644
--- a/pkgs/tools/misc/oggvideotools/default.nix
+++ b/pkgs/tools/misc/oggvideotools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, boost, gd, libogg, libtheora, libvorbis }:
+{ lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, boost, gd, libogg, libtheora, libvorbis }:
 
 stdenv.mkDerivation rec {
   pname = "oggvideotools";
@@ -10,9 +10,30 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./fix-compile.patch
+    # Fix pending upstream inclusion for missing includes:
+    #  https://sourceforge.net/p/oggvideotools/bugs/12/
+    (fetchpatch {
+      name = "gcc-10.patch";
+      url = "https://sourceforge.net/p/oggvideotools/bugs/12/attachment/fix-compile.patch";
+      sha256 = "sha256-mJttoC3jCLM3vmPhlyqh+W0ryp2RjJGIBXd6sJfLJA4=";
+    })
+
+    # Fix pending upstream inclusion for build failure on gcc-12:
+    #  https://sourceforge.net/p/oggvideotools/bugs/13/
+    (fetchpatch {
+      name = "gcc-12.patch";
+      url = "https://sourceforge.net/p/oggvideotools/bugs/13/attachment/fix-gcc-12.patch";
+      sha256 = "sha256-zuDXe86djWkR8SgYZHkuAJJ7Lf2VYsVRBrlEaODtMKE=";
+      # svn patch, rely on prefix added by fetchpatch:
+      extraPrefix = "";
+    })
   ];
 
+  postPatch = ''
+    # Don't disable optimisations
+    substituteInPlace CMakeLists.txt --replace " -O0 " ""
+  '';
+
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ boost gd libogg libtheora libvorbis ];
diff --git a/pkgs/tools/misc/oggvideotools/fix-compile.patch b/pkgs/tools/misc/oggvideotools/fix-compile.patch
deleted file mode 100644
index 65c3dd6a235..00000000000
--- a/pkgs/tools/misc/oggvideotools/fix-compile.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- oggvideotools-0.9.1/src/base/test/decoderTest.cpp	2016-09-05 10:35:14.000000000 +0200
-+++ oggvideotools-0.9.1/src/base/test/decoderTest.cpp	2021-10-22 22:42:48.980473419 +0200
-@@ -5,6 +5,7 @@
- #include "oggDecoder.h"
- #include <vector>
- #include <iostream>
-+#include <cstring>
- 
- int main(int argc, char* argv[])
- {
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 3250047e0e3..27dc4ee6d5c 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -5,18 +5,20 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.31.0";
+  version = "0.38.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-iJL3EFoBtp4UOLm4/b4JBwzK6iZSTE0cb6EzmlziOLk=";
+    sha256 = "1sgzz7p19vy7grvq1qrfgf5rw3yjnidcsdsky2l2g98i54md25ml";
   };
 
-  vendorSha256 = "sha256-LNlglYys4F7+W7PUmBT9cBnYs7y6AlB9wdaDibaxqC0=";
+  vendorSha256 = "1p9i01lwz7yidlmcri3pndmg8brgdrd0ai8sag9xn021hw2sn6qq";
   proxyVendor = true;
 
+  CGO_ENABLED = 0;
+
   subPackages = [ "cmd/otelcontribcol" ];
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 1508e6f93cd..82851e8aad9 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -41,13 +41,13 @@ let
   ]));
 in stdenv.mkDerivation rec {
   pname = "ostree";
-  version = "2021.3";
+  version = "2021.4";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
-    sha256 = "sha256-D6Wjnww+WMIEATPkIpyyhmDGG5eM1KKj0vbpfvTI0LM=";
+    sha256 = "sha256-21zgGhYGrzRm7HcjZwD1OmPOIOSYSlSdDquj9mo9k2E=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/sfeed/default.nix b/pkgs/tools/misc/sfeed/default.nix
index 6e7a6914e57..5c39cc803b5 100644
--- a/pkgs/tools/misc/sfeed/default.nix
+++ b/pkgs/tools/misc/sfeed/default.nix
@@ -10,10 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-pLKWq4KIiT6X37EUIOw5SBb1KWopnFcDO+iE++Uie5s=";
   };
 
-  installPhase = ''
-    mkdir $out
-    make install PREFIX=$out
-  '';
+  makeFlags = [ "RANLIB:=$(RANLIB)" ];
+
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
     homepage = "https://codemadness.org/sfeed-simple-feed-parser.html";
diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix
index e7d20bd8fc2..4885b48b339 100644
--- a/pkgs/tools/misc/steampipe/default.nix
+++ b/pkgs/tools/misc/steampipe/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    sha256 = "sha256-wG5KvyY40CNxIScuQHQdJ4u8fzNU+oV7iNe9VAvTQMg=";
+    sha256 = "sha256-asAqRCJdy8HmzWzuE9nSvxqo6EVY8tkljzEFAClogrs=";
   };
 
   vendorSha256 = "sha256-3JBCiF1gxGCVn81s7abGvNIAy+eP7orAnSBOXUNImao=";
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index fff5c25cd6e..ba065d322b8 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -9,13 +9,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "svtplay-dl";
-  version = "4.8";
+  version = "4.9";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "1mlf0yvj3zy3df0ip7qb6g4v7032rsz038a7d25zn6yfzsz04br3";
+    sha256 = "01jbhydj6q1zgzsrs9prpsc3ycqzisx4jqm70dikkmsr5b64hhni";
   };
 
   pythonPaths = [ cryptography pyyaml requests ];
diff --git a/pkgs/tools/misc/tfk8s/default.nix b/pkgs/tools/misc/tfk8s/default.nix
index daf5738d73a..e1841ba426f 100644
--- a/pkgs/tools/misc/tfk8s/default.nix
+++ b/pkgs/tools/misc/tfk8s/default.nix
@@ -44,6 +44,6 @@ buildGoModule rec {
       * Strip out server side fields when piping kubectl get $R -o yaml | tfk8s --strip
     '';
     homepage = "https://github.com/jrhouston/tfk8s/";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ bryanasdev000 ];
   };
 }
diff --git a/pkgs/tools/misc/topicctl/default.nix b/pkgs/tools/misc/topicctl/default.nix
new file mode 100644
index 00000000000..9ecbbcba37a
--- /dev/null
+++ b/pkgs/tools/misc/topicctl/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "topicctl";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "segmentio";
+    repo = "topicctl";
+    rev = "v${version}";
+    sha256 = "sha256-LsMt2BHfO0I5N2C247fmoOgQ5EXMgk/3Kj/lI+vTRV0=";
+  };
+
+  vendorSha256 = "sha256-ur7qMm7l1CocQwX58fTL1PpdgIEJyRAzSlNJM1WTvM0=";
+
+  ldflags = [
+    "-X main.BuildVersion=${version}"
+    "-X main.BuildCommitSha=unknown"
+    "-X main.BuildDate=unknown"
+  ];
+
+  # needs a kafka server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A tool for easy, declarative management of Kafka topics";
+    inherit (src.meta) homepage;
+    license = licenses.mit;
+    maintainers = with maintainers; [ eskytthe srhb ];
+  };
+}
diff --git a/pkgs/tools/misc/uwuify/default.nix b/pkgs/tools/misc/uwuify/default.nix
index b276abf3e5c..2722610d0e3 100644
--- a/pkgs/tools/misc/uwuify/default.nix
+++ b/pkgs/tools/misc/uwuify/default.nix
@@ -18,6 +18,7 @@ rustPlatform.buildRustPackage rec {
     description = "Fast text uwuifier";
     homepage = "https://github.com/Daniel-Liu-c0deb0t/uwu";
     license = licenses.mit;
+    platforms = lib.platforms.x86; # uses SSE instructions
     maintainers = with maintainers; [ siraben ];
   };
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 680000b3371..20869ac4d79 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildPythonPackage
+{ lib, fetchurl, fetchpatch, buildPythonPackage
 , zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
@@ -25,6 +25,20 @@ buildPythonPackage rec {
     sha256 = "1hqan9h55x9gfdakw554vic68w9gpvhblchwxlw265zxp56hxjrw";
   };
 
+  patches = [
+    # Fixes throttling on youtube.com. Without the patch downloads are capped at
+    # about 80KiB/s. See, e.g.,
+    #
+    #   https://github.com/ytdl-org/youtube-dl/issues/29326
+    #
+    # The patch comes from PR https://github.com/ytdl-org/youtube-dl/pull/30188
+    (fetchpatch {
+      name = "fix-youtube-dl-speed.patch";
+      url = "https://github.com/ytdl-org/youtube-dl/pull/30188.patch";
+      sha256 = "15liban37ina2y4bnykfdywdy4rbkfff2r6vd0kqn2k7rfkcczyz";
+    })
+  ];
+
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   buildInputs = [ zip ] ++ lib.optional generateManPage pandoc;
   propagatedBuildInputs = lib.optional hlsEncryptedSupport pycryptodome;
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index b05df0ae611..6a6a019dcbe 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -20,12 +20,12 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2021.10.22";
+  version = "2021.11.10.1";
 
   src = fetchPypi {
     inherit pname;
     version = builtins.replaceStrings [ ".0" ] [ "." ] version;
-    sha256 = "sha256-okuWZr0iNBSeTajE8Wu45fdGwpQo0S7gT8HBG1JHowc=";
+    sha256 = "f0ad6ae2e2838b608df2fd125f2a777a7ad832d3e757ee6d4583b84b21e44388";
   };
 
   propagatedBuildInputs = [ websockets mutagen ]
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index 7b67dcf6223..63ecdb550a8 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.14.3";
+  version = "3.15.0";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    sha256 = "sha256-bDDd0QvXvXngHx4GJFeWhv1yQmPj2IFDSuOB7pJDl3I=";
+    sha256 = "sha256-AOWVz+JQvri7H2k2vDSuDmTHPAVCb7MCi4uCJcj0Yjs=";
   };
 
   vendorSha256 = "sha256-lM/UWrljJHks+by4kUjlk0f39j/Qo+5+kxUVgrsO0zE=";
diff --git a/pkgs/tools/networking/connman/connman_dmenu/default.nix b/pkgs/tools/networking/connman/connman_dmenu/default.nix
index 3ac730f471f..86e5a62fb8d 100644
--- a/pkgs/tools/networking/connman/connman_dmenu/default.nix
+++ b/pkgs/tools/networking/connman/connman_dmenu/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "connman_dmenu";
-  version = "git-29-9-2015";
+  version = "unstable-2015-09-29";
 
   src = fetchFromGitHub {
     owner = "march-linux";
@@ -26,10 +26,10 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description  = "A dmenu wrapper for connmann";
-    homepage     = "https://github.com/march-linux/connman_dmenu";
-    license      = lib.licenses.free;
-    maintainers  = [ lib.maintainers.magnetophon ];
-    platforms    = lib.platforms.all;
+    description = "A dmenu wrapper for connmann";
+    homepage = "https://github.com/march-linux/connman_dmenu";
+    license = lib.licenses.free;
+    maintainers = [ lib.maintainers.magnetophon ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/curlie/default.nix b/pkgs/tools/networking/curlie/default.nix
index 9d3e4025a99..2e6683ef4ea 100644
--- a/pkgs/tools/networking/curlie/default.nix
+++ b/pkgs/tools/networking/curlie/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "curlie";
-  version = "1.6.2";
+  version = "1.6.7";
 
   src= fetchFromGitHub {
     owner = "rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2CZpqc1MnAY6M1UFakKLaqGjaifw+7bN4hxc0jWgSps=";
+    sha256 = "sha256-uWLJWhsqJaLji2JSuVX8Vu929AdozhtAPwsqXdpEt84=";
   };
 
   vendorSha256 = "sha256-tYZtnD7RUurhl8yccXlTIvOxybBJITM+it1ollYJ1OI=";
diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index 7f500b2c09f..e050b68ca2d 100644
--- a/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -10,15 +10,15 @@ let
 
 in buildGoModule rec {
   pname = "datadog-agent";
-  version = "7.30.2";
+  version = "7.31.0";
 
   src = fetchFromGitHub {
     inherit owner repo;
     rev = version;
-    sha256 = "17ahrxhb87sj7f04wg44xv4k9wrlvf04j92ac5936a6maygp01rd";
+    sha256 = "sha256-APwR3/bvCHNnJWxRPSLLe4lHYv39wfw3WhGDEkxAku8=";
   };
 
-  vendorSha256 = "06ryy501vibc6n14qwg94394c76l060525y6qg261qb748mbi8qi";
+  vendorSha256 = "sha256-CNQJvnNnB29duALEXPguEJsoRHdieAiPFbwXa89jxUk=";
 
   subPackages = [
     "cmd/agent"
diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix
index cf63342fbb6..608a7379ef9 100644
--- a/pkgs/tools/networking/innernet/default.nix
+++ b/pkgs/tools/networking/innernet/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "innernet";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "tonarino";
-    repo = pname;
+    repo = "innernet";
     rev = "v${version}";
-    sha256 = "sha256-9oL91jacfUADaPvdTTvvXhpwzr9OnNnVLwy1okORss4=";
+    sha256 = "1ja7khvc4cy317ckglnlf11wfmin62ihic061phdp6rmfv95cza0";
   };
-  cargoSha256 = "sha256-jHWt7Jqv4B7u6Mvo3q69Omcn8kdnXGJSyzod1lDzvKE=";
+  cargoSha256 = "18xpwav48xv7xm7r3w9qplmv2i18cg09pkahyvs5l4akdjgxyw10";
 
   nativeBuildInputs = with llvmPackages; [
     llvm
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 00746a7afbd..e87b550aa6f 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     # Fix build with bash-completion 2.10
     ./bash_completion_datadir.patch
   ];
+
   postPatch = ''
     # Fix build with Xcode 12.5 toolchain/case-insensitive filesystems
     # Backport of https://github.com/mobile-shell/mosh/commit/12199114fe4234f791ef4c306163901643b40538;
@@ -40,12 +41,12 @@ stdenv.mkDerivation rec {
     }}
 
     substituteInPlace scripts/mosh.pl \
-        --subst-var-by ssh "${openssh}/bin/ssh"
-    substituteInPlace scripts/mosh.pl \
-        --subst-var-by mosh-client "$out/bin/mosh-client"
+      --subst-var-by ssh "${openssh}/bin/ssh" \
+      --subst-var-by mosh-client "$out/bin/mosh-client"
   '';
 
-  configureFlags = [ "--enable-completion" ] ++ lib.optional withUtempter "--with-utempter";
+  configureFlags = [ "--enable-completion" ]
+    ++ lib.optional withUtempter "--with-utempter";
 
   postInstall = ''
       wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB
@@ -65,7 +66,7 @@ stdenv.mkDerivation rec {
       especially over Wi-Fi, cellular, and long-distance links.
     '';
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ viric ];
+    maintainers = with maintainers; [ viric SuperSandro2000 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index b94cc498fa0..47d0dffda00 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mu";
-  version = "1.6.9";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner  = "djcb";
     repo   = "mu";
     rev    = version;
-    sha256 = "RoSj283fcllEbirZOScKRU4BKLoxgatDdL1qYZu+LEI=";
+    sha256 = "1uJB8QdR0JgWlogb1cdUicz+LLtYQpAvYJjwcRjXt+E=";
   };
 
   postPatch = lib.optionalString (batchSize != null) ''
diff --git a/pkgs/tools/networking/ndn-tools/default.nix b/pkgs/tools/networking/ndn-tools/default.nix
new file mode 100644
index 00000000000..83a8182b427
--- /dev/null
+++ b/pkgs/tools/networking/ndn-tools/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, boost
+, fetchFromGitHub
+, libpcap
+, ndn-cxx
+, openssl
+, pkg-config
+, sphinx
+, wafHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ndn-tools";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "named-data";
+    repo = pname;
+    rev = "ndn-tools-${version}";
+    sha256 = "1q2d0v8srqjbvigr570qw6ia0d9f88aj26ccyxkzjjwwqdx3y4fy";
+  };
+
+  nativeBuildInputs = [ pkg-config sphinx wafHook ];
+  buildInputs = [ libpcap ndn-cxx openssl ];
+
+  wafConfigureFlags = [
+    "--boost-includes=${boost.dev}/include"
+    "--boost-libs=${boost.out}/lib"
+    "--with-tests"
+  ];
+
+  doCheck = true;
+  checkPhase = ''
+    build/unit-tests
+  '';
+
+  meta = with lib; {
+    homepage = "https://named-data.net/";
+    description = "Named Data Neworking (NDN) Essential Tools";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bertof ];
+  };
+}
diff --git a/pkgs/tools/networking/nss-mdns/default.nix b/pkgs/tools/networking/nss-mdns/default.nix
index 6faf1f06dbb..6ba996401a8 100644
--- a/pkgs/tools/networking/nss-mdns/default.nix
+++ b/pkgs/tools/networking/nss-mdns/default.nix
@@ -21,14 +21,13 @@ stdenv.mkDerivation rec {
       "--localstatedir=/var"
     ];
 
-  patches = lib.optional stdenv.hostPlatform.isMusl
-    (
-      fetchpatch
-      {
-        url = "https://raw.githubusercontent.com/openembedded/openembedded-core/94f780e889f194b67a48587ac68b3200288bee10/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch";
-        sha256 = "1l1kjbdw8z31br4vib3l5b85jy7kxin760a2f24lww8v6lqdpgds";
-      }
-    );
+  patches = [
+    # Provide compat definition for libc lacking <nss.h> (e.g. musl)
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/openembedded/openembedded-core/94f780e889f194b67a48587ac68b3200288bee10/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch";
+      sha256 = "1l1kjbdw8z31br4vib3l5b85jy7kxin760a2f24lww8v6lqdpgds";
+    })
+  ];
 
 
   meta = {
diff --git a/pkgs/tools/networking/spoof-mac/default.nix b/pkgs/tools/networking/spoof-mac/default.nix
index fdd282fa8b5..3b7bbd0d52a 100644
--- a/pkgs/tools/networking/spoof-mac/default.nix
+++ b/pkgs/tools/networking/spoof-mac/default.nix
@@ -16,6 +16,8 @@ buildPythonPackage rec {
   # No tests
   doCheck = false;
 
+  pythonImportsCheck = [ "spoofmac" ];
+
   meta = with lib; {
     description = "Change your MAC address for debugging purposes";
     homepage = "https://github.com/feross/SpoofMAC";
diff --git a/pkgs/tools/networking/termscp/default.nix b/pkgs/tools/networking/termscp/default.nix
index 3bc12747b74..58bbfe5e46c 100644
--- a/pkgs/tools/networking/termscp/default.nix
+++ b/pkgs/tools/networking/termscp/default.nix
@@ -5,6 +5,7 @@
 , openssl
 , pkg-config
 , rustPlatform
+, Foundation
 , Security
 , stdenv
 }:
@@ -31,6 +32,7 @@ rustPlatform.buildRustPackage rec {
     libssh
     openssl
   ] ++ lib.optional stdenv.isDarwin [
+    Foundation
     Security
   ];
 
diff --git a/pkgs/tools/networking/tinyssh/default.nix b/pkgs/tools/networking/tinyssh/default.nix
new file mode 100644
index 00000000000..9bfa8aa3ab5
--- /dev/null
+++ b/pkgs/tools/networking/tinyssh/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "tinyssh";
+  version = "20210601";
+
+  src = fetchFromGitHub {
+    owner = "janmojzis";
+    repo = "tinyssh";
+    rev = version;
+    sha256 = "sha256-+THoPiD6dW5ZuiQmmLckOJGyjhzdF3qF0DgC51zjGY8=";
+  };
+
+  preConfigure = ''
+    echo /bin       > conf-bin
+    echo /share/man > conf-man
+  '';
+
+  DESTDIR = placeholder "out";
+
+  meta = with lib; {
+    description = "minimalistic SSH server";
+    homepage = "https://tinyssh.org";
+    license = licenses.publicDomain;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.kaction ];
+  };
+}
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 7344b12180e..d86eb8c8865 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "sha256-nr5qvo/SLzQ16B/83lCzlQ5zduPGxOhfqWat/Grsf/Q=";
+    sha256 = "sha256-Itq06zE2AVQ1HSUEQdNUuvEazfU56Hs86T0DEVuF8d4=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix
index beb04041861..106622706f0 100644
--- a/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -1,22 +1,21 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, libiconv, curl, darwin }:
+{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, libiconv, curl, darwin }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "0.9.17";
+  version = "0.9.18";
 
-  src = fetchFromGitHub {
-    owner = "kbknapp";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-Ian/vXGoPHecguQUp2IUgdLW6Ll8OdCA2W0WmoYPDrI=";
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "19r4nv28iq4cmzs5j127qgvdf7y3pfmgjp6jzzbb8b5xj7w06jhl";
   };
 
-  cargoSha256 = "sha256-eDu1dAs543AryUEsCY9COHrvuamQocCk0nBXDIdFmYs=";
+  cargoSha256 = "1rf3sxprra9s76iip2xf82kclgs83fhnlx9ykl9hhn2y0z8r3342";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
   ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
     libiconv
     curl
   ];
diff --git a/pkgs/tools/security/certipy/default.nix b/pkgs/tools/security/certipy/default.nix
new file mode 100644
index 00000000000..9e3d4573df2
--- /dev/null
+++ b/pkgs/tools/security/certipy/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "certipy";
+  version = "unstable-2021-11-08";
+
+  src = fetchFromGitHub {
+    owner = "ly4k";
+    repo = "Certipy";
+    rev = "c2f5581505c54f3bf9fe4e6f07c17fa9ef501cab";
+    sha256 = "0m2n30prqd9d02kmryk8vry4cabcad1892qr8a02qfg6r98x8q3q";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    asn1crypto
+    pycryptodome
+    impacket
+    ldap3
+    pyasn1
+    dnspython
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "certipy"
+  ];
+
+  meta = with lib; {
+    description = "Tool to enumerate and abuse misconfigurations in Active Directory Certificate Services";
+    homepage = "https://github.com/ly4k/Certipy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 7d15fc8bc65..06c6d0bac26 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-11-06";
+  version = "2021-11-13";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pyzK6Z62gvuvi8FilNySyp78i4A2SLSFLY8WsSNdFQ0=";
+    sha256 = "sha256-0/ZKki+QJpBL+K3zQ0H5d5cfan+pKEYHwr6y4U+FKzM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 18128639ff4..06b4ddc0621 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -47,7 +47,7 @@ python3.pkgs.buildPythonApplication rec {
     in
     ''
       # see https://github.com/NixOS/nixpkgs/issues/4968
-      rm -r ${sitePackages}/etc ${sitePackages}/usr
+      rm -rf ${sitePackages}/etc ${sitePackages}/usr
     '';
 
   meta = with lib; {
diff --git a/pkgs/tools/security/hash-slinger/default.nix b/pkgs/tools/security/hash-slinger/default.nix
index ee06c112481..e51d93e9d7f 100644
--- a/pkgs/tools/security/hash-slinger/default.nix
+++ b/pkgs/tools/security/hash-slinger/default.nix
@@ -1,45 +1,63 @@
-{ lib, stdenv, fetchFromGitHub, python2Packages, unbound, libreswan }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+, unbound
+, libreswan
+}:
 
-let
-  pythonPackages = python2Packages;
-in stdenv.mkDerivation rec {
-  pname    = "hash-slinger";
-  version = "2.7";
+stdenv.mkDerivation rec {
+  pname = "hash-slinger";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "letoams";
     repo = pname;
     rev = version;
-    sha256 = "05wn744ydclpnpyah6yfjqlfjlasrrhzj48lqmm5a91nyps5yqyn";
+    sha256 = "sha256-mhMUdZt846QjwRIh2m/4EE+93fUcCKc2FFeoFpzKYvk=";
   };
 
-  pythonPath = with pythonPackages; [ dnspython m2crypto ipaddr python-gnupg
-                                      pyunbound ];
+  pythonPath = with python3.pkgs; [
+    dnspython
+    m2crypto
+    python-gnupg
+    pyunbound
+  ];
 
-  buildInputs = [ pythonPackages.wrapPython ];
-  propagatedBuildInputs = [ unbound libreswan ] ++ pythonPath;
-  propagatedUserEnvPkgs = [ unbound libreswan ];
+  buildInputs = [
+    python3.pkgs.wrapPython
+  ];
 
-  patchPhase = ''
+  propagatedBuildInputs = [
+    unbound
+    libreswan
+  ] ++ pythonPath;
+
+  propagatedUserEnvPkgs = [
+    unbound
+    libreswan
+  ];
+
+  postPatch = ''
     substituteInPlace Makefile \
       --replace "$(DESTDIR)/usr" "$out"
     substituteInPlace ipseckey \
       --replace "/usr/sbin/ipsec" "${libreswan}/sbin/ipsec"
     substituteInPlace tlsa \
-      --replace "/var/lib/unbound/root" "${pythonPackages.pyunbound}/etc/pyunbound/root"
+      --replace "/var/lib/unbound/root" "${python3.pkgs.pyunbound}/etc/pyunbound/root"
     patchShebangs *
-    '';
+  '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/man $out/${pythonPackages.python.sitePackages}/
+    mkdir -p $out/bin $out/man $out/lib/${python3.libPrefix}/site-packages
     make install
     wrapPythonPrograms
-   '';
+  '';
 
-   meta = {
+  meta = with lib; {
     description = "Various tools to generate special DNS records";
-    homepage    = "https://github.com/letoams/hash-slinger";
-    license     = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.leenaars ];
+    homepage = "https://github.com/letoams/hash-slinger";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ leenaars ];
   };
 }
diff --git a/pkgs/tools/security/ioccheck/default.nix b/pkgs/tools/security/ioccheck/default.nix
index 1ad7bfd85fe..e936ab025fa 100644
--- a/pkgs/tools/security/ioccheck/default.nix
+++ b/pkgs/tools/security/ioccheck/default.nix
@@ -3,13 +3,33 @@
 , python3
 }:
 
-python3.pkgs.buildPythonApplication rec {
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+
+      # Support for later tweepy releases is missing
+      # https://github.com/ranguli/ioccheck/issues/70
+      tweepy = super.tweepy.overridePythonAttrs (oldAttrs: rec {
+        version = "3.10.0";
+
+        src = fetchFromGitHub {
+          owner = "tweepy";
+          repo = "tweepy";
+          rev = "v${version}";
+          sha256 = "0k4bdlwjna6f1k19jki4xqgckrinkkw8b9wihzymr1l04rwd05nw";
+        };
+        doCheck = false;
+      });
+    };
+  };
+in
+with py.pkgs;
+
+buildPythonApplication rec {
   pname = "ioccheck";
   version = "unstable-2021-09-29";
   format = "pyproject";
 
-  disabled = python3.pythonOlder "3.7";
-
   src = fetchFromGitHub {
     owner = "ranguli";
     repo = pname;
@@ -17,11 +37,11 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "0lgqypcd5lzb2yqd5lr02pba24m26ghly4immxgz13svi8f6vzm9";
   };
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = with py.pkgs; [
     poetry-core
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with py.pkgs; [
     backoff
     click
     emoji
@@ -36,17 +56,20 @@ python3.pkgs.buildPythonApplication rec {
     vt-py
   ];
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = with py.pkgs; [
     pytestCheckHook
   ];
 
   postPatch = ''
     # Can be removed with the next release
     substituteInPlace pyproject.toml \
-      --replace '"hurry.filesize" = "^0.9"' ""
+      --replace '"hurry.filesize" = "^0.9"' "" \
+      --replace 'vt-py = ">=0.6.1,<0.8.0"' 'vt-py = ">=0.6.1"'
   '';
 
-  pythonImportsCheck = [ "ioccheck" ];
+  pythonImportsCheck = [
+    "ioccheck"
+  ];
 
   meta = with lib; {
     description = "Tool for researching IOCs";
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 7a19a439a8e..8912961e352 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -4,17 +4,16 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20210623205749.763227b4c6";
+  versionSuffix = "20210930160723.fefa22edc1";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "5.7.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.8.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
-
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "0ajpkidbzfwhi7q018wriws0n3amcy9g3mfiqm13cpz0q6vkjx83";
+    sha256 = "cqbGvnJ6wx5boVe78Ju8CimH1H08DfkM5nmwbV0uKG0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/knockknock/default.nix b/pkgs/tools/security/knockknock/default.nix
index 960667e72de..ed7f19065f0 100644
--- a/pkgs/tools/security/knockknock/default.nix
+++ b/pkgs/tools/security/knockknock/default.nix
@@ -1,14 +1,13 @@
 { lib, fetchFromGitHub, python2Packages, hping }:
-let
-  rev  = "bf14bbff";
-in python2Packages.buildPythonApplication rec {
-  pname = "knockknock-r";
-  version = rev;
+
+python2Packages.buildPythonApplication rec {
+  pname = "knockknock";
+  version = "unstable-2012-09-17";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner  = "moxie0";
     repo   = "knockknock";
+    rev    = "bf14bbffc5f1d2105cd1d955dabca26b3faa0db4";
     sha256 = "1chpfs3w2vkjrgay69pbdr116z1jldv53fi768a1i05fdqhy1px4";
   };
 
@@ -17,7 +16,7 @@ in python2Packages.buildPythonApplication rec {
   # No tests
   doCheck = false;
 
-  patchPhase = ''
+  postPatch = ''
     sed -i '/build\//d' setup.py
     substituteInPlace setup.py --replace "/etc" "$out/etc"
     substituteInPlace knockknock.py --replace 'existsInPath("hping3")' '"${hping}/bin/hping3"'
@@ -25,10 +24,10 @@ in python2Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Simple, secure port knocking daemon and client written in Python";
-    homepage    = "http://www.thoughtcrime.org/software/knockknock/";
-    license     = licenses.gpl3;
+    homepage    = "https://github.com/moxie0/knockknock";
+    license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ copumpkin ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
 
diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix
index 5a8e50c7096..e68980cc965 100644
--- a/pkgs/tools/security/kubescape/default.nix
+++ b/pkgs/tools/security/kubescape/default.nix
@@ -1,20 +1,31 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "kubescape";
-  version = "1.0.128";
+  version = "1.0.131";
 
   src = fetchFromGitHub {
     owner = "armosec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fHXT9vg7uenFDjYmdPkMu63dlmyIATEBCxOn39c80cg=";
+    sha256 = "sha256-DcReo4pTdI8ssWH1IqD8gDUm4jQ0jBBJ+ltxSpdkxQE=";
   };
-  vendorSha256 = "sha256-cOxjsujlpRbdw4098eMHe2oNAJXWGjKbPeYpKt0DCp8=";
 
-  ldflags = [ "-s" "-w" "-X github.com/armosec/kubescape/clihandler/cmd.BuildNumber=v${version}" ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
-  nativeBuildInputs = [ installShellFiles ];
+  vendorSha256 = "sha256-SxJnYJyKFed1c+zgeeXQQhsKHlaDevJGMwqA5gPef3s=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/armosec/kubescape/clihandler/cmd.BuildNumber=v${version}"
+  ];
 
   postInstall = ''
     # Running kubescape to generate completions outputs error warnings
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 0c6318dc435..d1e114e3245 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.13"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.14"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index a080cfa68df..27690111611 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 643afb56f7f86a858e3da144fd367575a2f0b2c6
-  ref: refs/tags/6.1.13
+  revision: 2c47df62b425e4083f4816d71405fed1c0e8b35b
+  ref: refs/tags/6.1.14
   specs:
-    metasploit-framework (6.1.13)
+    metasploit-framework (6.1.14)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -128,13 +128,13 @@ GEM
     arel-helpers (2.12.1)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.2.0)
-    aws-partitions (1.525.0)
-    aws-sdk-core (3.122.0)
+    aws-partitions (1.528.0)
+    aws-sdk-core (3.122.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.277.0)
+    aws-sdk-ec2 (1.279.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.63.0)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index c3cf57bc2ae..674418693c7 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.13";
+  version = "6.1.14";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-ncmLizpX1yEtr8biUoWVVK4Ziv3QMiKWsj694yubA1M=";
+    sha256 = "sha256-ySQOc/k+kvdSj5g88ujm4e2apvPVbiaspzSbCdEQ4ZA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 411be2a1127..7c1947ddb4d 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,30 +104,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "181a2xf9zs0hz77jkpmxidvkjzs65vsyqv1a31fcali7f0kvh4h9";
+      sha256 = "1awcpdvfk6dlb9n5wiksq8vhqwdpmkybv4ga8drmlx6x9li3my5k";
       type = "gem";
     };
-    version = "1.525.0";
+    version = "1.528.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0krx8cfajc72gv6mpyb67vnhd2m2iya19846jgipgfris194gjm2";
+      sha256 = "07cdd2jiydn663xgqv5fykd9zfiv96ma3j4k2khwf06czy40cvwq";
       type = "gem";
     };
-    version = "3.122.0";
+    version = "3.122.1";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qy318swkl3393gl5031n634z8msb7rghhp7zdnawvs39c0fbmxd";
+      sha256 = "1cvf70lj99r59wn35pqxg5c6c2qkgnir0b8fqgi8h757xz6b9m72";
       type = "gem";
     };
-    version = "1.277.0";
+    version = "1.279.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -664,12 +664,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "643afb56f7f86a858e3da144fd367575a2f0b2c6";
-      sha256 = "0lq3kcmy7g9ynab24cnhzn51kbjljn2m5qn6mwnj3msp7a5qpjcx";
+      rev = "2c47df62b425e4083f4816d71405fed1c0e8b35b";
+      sha256 = "1471238hk6rllyn2cvnmyfk9mvg1wvlg4g4qix9gg4iyz5rhw969";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.13";
+    version = "6.1.14";
   };
   metasploit-model = {
     groups = ["default"];
diff --git a/pkgs/tools/security/minio-certgen/default.nix b/pkgs/tools/security/minio-certgen/default.nix
index 2fa7a7b9b40..ec7b0e976ee 100644
--- a/pkgs/tools/security/minio-certgen/default.nix
+++ b/pkgs/tools/security/minio-certgen/default.nix
@@ -17,6 +17,6 @@ buildGoModule rec {
     description = "A simple Minio tool to generate self-signed certificates, and provides SAN certificates with DNS and IP entries";
     downloadPage = "https://github.com/minio/certgen";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ bryanasdev000 ];
   };
 }
diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix
index 6064a80d6cd..7fea400f008 100644
--- a/pkgs/tools/security/mkpasswd/default.nix
+++ b/pkgs/tools/security/mkpasswd/default.nix
@@ -2,8 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "mkpasswd";
-  inherit (whois) version;
-  inherit (whois) src;
+  inherit (whois) version src;
 
   nativeBuildInputs = [ perl pkg-config ];
   buildInputs = [ libxcrypt ];
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 4f6ddae3044..f34acafc9fe 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,7 +1,6 @@
 { fetchurl, mkDerivation, fetchpatch, stdenv, lib, pkg-config, autoreconfHook, wrapGAppsHook
 , libgpg-error, libassuan, qtbase, wrapQtAppsHook
-, ncurses, gtk2, gcr
-, libcap ? null, libsecret ? null
+, ncurses, gtk2, gcr, libcap, libsecret
 , enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ]
   ++ lib.optionals stdenv.isLinux [ "gnome3" ]
   ++ lib.optionals (stdenv.hostPlatform.system != "aarch64-darwin") [ "qt" ]
@@ -52,7 +51,8 @@ pinentryMkDerivation rec {
 
   nativeBuildInputs = [ pkg-config autoreconfHook ]
     ++ concatMap(f: flavorInfo.${f}.nativeBuildInputs or []) enabledFlavors;
-  buildInputs = [ libgpg-error libassuan libcap libsecret ]
+  buildInputs = [ libgpg-error libassuan libsecret ]
+    ++ lib.optional (!stdenv.isDarwin) libcap
     ++ concatMap(f: flavorInfo.${f}.buildInputs or []) enabledFlavors;
 
   dontWrapGApps = true;
diff --git a/pkgs/tools/security/rbw/default.nix b/pkgs/tools/security/rbw/default.nix
index 278e0090392..919fda9c67c 100644
--- a/pkgs/tools/security/rbw/default.nix
+++ b/pkgs/tools/security/rbw/default.nix
@@ -74,7 +74,6 @@ rustPlatform.buildRustPackage rec {
       $out/bin/rbw gen-completions $shell > rbw.$shell
       installShellCompletion rbw.$shell
     done
-  '' + ''
     cp bin/git-credential-rbw $out/bin
   '' + lib.optionalString withFzf ''
     cp bin/rbw-fzf $out/bin
diff --git a/pkgs/tools/security/swtpm/default.nix b/pkgs/tools/security/swtpm/default.nix
index de67a453fc5..7f2352c7282 100644
--- a/pkgs/tools/security/swtpm/default.nix
+++ b/pkgs/tools/security/swtpm/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     perl # for pod2man
     autoreconfHook
   ];
+
   buildInputs = [
     libtpms
     openssl libtasn1 libseccomp
@@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
   ];
 
-  prePatch = ''
+  postPatch = ''
     # Makefile tries to create the directory /var/lib/swtpm-localca, which fails
     substituteInPlace samples/Makefile.am \
         --replace 'install-data-local:' 'do-not-execute:'
diff --git a/pkgs/tools/security/theharvester/default.nix b/pkgs/tools/security/theharvester/default.nix
index dc1596facdf..5e7b2dbd04f 100644
--- a/pkgs/tools/security/theharvester/default.nix
+++ b/pkgs/tools/security/theharvester/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "theharvester";
-  version = "4.0.0";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "laramies";
     repo = pname;
     rev = version;
-    sha256 = "02jhk34znpvq522pqr3x4c0rljw37x62znwycijf1zx81dpbn4rm";
+    sha256 = "sha256-jG0uVfeAfbX809XTUhoSpYdh2i42NoGzortv96dWEAs=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     fastapi
     lxml
     netaddr
+    orjson
     plotly
     pyppeteer
     pyyaml
diff --git a/pkgs/tools/security/tpm-luks/default.nix b/pkgs/tools/security/tpm-luks/default.nix
index 2af4a742208..4aab72cb5df 100644
--- a/pkgs/tools/security/tpm-luks/default.nix
+++ b/pkgs/tools/security/tpm-luks/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "tpm-luks";
-  version = "git-2015-07-11";
+  version = "unstable-2015-07-11";
 
   src = fetchgit {
     url = "https://github.com/momiji/tpm-luks";
@@ -23,14 +23,14 @@ stdenv.mkDerivation {
     make install DESTDIR=$out
     mv $out/$out/sbin $out/bin
     rm -r $out/nix
-    '';
+  '';
 
   meta = with lib; {
     description = "LUKS key storage in TPM NVRAM";
-    homepage    = "https://github.com/shpedoikal/tpm-luks/";
+    homepage = "https://github.com/shpedoikal/tpm-luks/";
     maintainers = [ maintainers.tstrobel ];
     license = with licenses; [ gpl2Only ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/tools/security/wpscan/Gemfile.lock b/pkgs/tools/security/wpscan/Gemfile.lock
index 23e4a17ea8a..9fd52667436 100644
--- a/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/pkgs/tools/security/wpscan/Gemfile.lock
@@ -26,16 +26,16 @@ GEM
     ffi (1.15.4)
     get_process_mem (0.2.7)
       ffi (~> 1.0)
-    i18n (1.8.10)
+    i18n (1.8.11)
       concurrent-ruby (~> 1.0)
     minitest (5.14.4)
-    nokogiri (1.12.4-x86_64-linux)
+    nokogiri (1.12.5-x86_64-linux)
       racc (~> 1.4)
     opt_parse_validator (1.9.5)
       activesupport (>= 5.2, < 6.2.0)
       addressable (>= 2.5, < 2.9)
     public_suffix (4.0.6)
-    racc (1.5.2)
+    racc (1.6.0)
     ruby-progressbar (1.11.0)
     sys-proctable (1.2.6)
       ffi
@@ -44,12 +44,12 @@ GEM
     tzinfo (2.0.4)
       concurrent-ruby (~> 1.0)
     webrick (1.7.0)
-    wpscan (3.8.19)
+    wpscan (3.8.20)
       cms_scanner (~> 0.13.6)
     xmlrpc (0.3.2)
       webrick
     yajl-ruby (1.4.1)
-    zeitwerk (2.4.2)
+    zeitwerk (2.5.1)
 
 PLATFORMS
   x86_64-linux
diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix
index d62c17bc94d..0c882a31331 100644
--- a/pkgs/tools/security/wpscan/gemset.nix
+++ b/pkgs/tools/security/wpscan/gemset.nix
@@ -80,30 +80,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
+      sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
       type = "gem";
     };
-    version = "1.8.10";
+    version = "1.8.11";
   };
-  minitest = {
+  mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "2.6.1";
   };
-  mini_portile2 = {
+  minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
+      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "5.14.4";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -111,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sad16idsxayhaaswc3bksii1ydiqyzikl7y0ng35cn7w4g1dv3z";
+      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
       type = "gem";
     };
-    version = "1.12.4";
+    version = "1.12.5";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -142,10 +142,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.6.0";
   };
   ruby-progressbar = {
     groups = ["default"];
@@ -206,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gv5ym8sxr9901z55d0dakc7af954rp2asnd1a68arjvfyj96sq3";
+      sha256 = "07mzbds1j0a1y6jw4swgc4d7kcflkycdk3ivdw3lxaqaqvbfs35p";
       type = "gem";
     };
-    version = "3.8.19";
+    version = "3.8.20";
   };
   xmlrpc = {
     dependencies = ["webrick"];
@@ -237,9 +237,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
+      sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.1";
   };
 }
diff --git a/pkgs/tools/system/das_watchdog/default.nix b/pkgs/tools/system/das_watchdog/default.nix
index d9332acc898..65be63bffe1 100644
--- a/pkgs/tools/system/das_watchdog/default.nix
+++ b/pkgs/tools/system/das_watchdog/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "das_watchdog";
-  version = "git-2015-09-12";
+  version = "unstable-2015-09-12";
 
   src = fetchgit {
     url = "https://github.com/kmatheussen/das_watchdog.git";
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index 43d08b11965..730a5d6cd23 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.9.0";
+  version = "5.10.0";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bJvIm2ZmbfSI+RtaBYlUYVVF7Q7vKwtKMCUC8tS8ZOI=";
+    sha256 = "sha256-JXjlK/XTIJeJj8do7JsoZQ8kE+bgy6czXAam/cj7IQo=";
   };
 
   vendorSha256 = "0ls0pw1m6hy203cdkmp9847h2fmvc4hjkv5x2v6r7516cqbs25ac";
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index acf0813b3ac..0b19bd57687 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -4,22 +4,20 @@ let
   # These settings are found in the Makefile, but there seems to be no
   # way to select one ore the other setting other than editing the file
   # manually, so we have to duplicate the know how here.
-  systemFlags = with stdenv;
-    if isDarwin then ''
-      CFLAGS="-O2 -Wall -fomit-frame-pointer"
-      LDFLAGS=
-      EXTRA_OBJS=strverscmp.o
-    '' else if isCygwin then ''
-      CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN"
-      LDFLAGS=-s
-      TREE_DEST=tree.exe
-      EXTRA_OBJS=strverscmp.o
-    '' else if (isFreeBSD || isOpenBSD) then ''
-      CFLAGS="-O2 -Wall -fomit-frame-pointer"
-      LDFLAGS=-s
-      EXTRA_OBJS=strverscmp.o
-    '' else
-    ""; # use linux flags by default
+  systemFlags = lib.optionalString stdenv.isDarwin ''
+    CFLAGS="-O2 -Wall -fomit-frame-pointer"
+    LDFLAGS=
+    EXTRA_OBJS=strverscmp.o
+  '' + lib.optionalString stdenv.isCygwin ''
+    CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN"
+    LDFLAGS=-s
+    TREE_DEST=tree.exe
+    EXTRA_OBJS=strverscmp.o
+  '' + lib.optionalString (stdenv.isFreeBSD || stdenv.isOpenBSD) ''
+    CFLAGS="-O2 -Wall -fomit-frame-pointer"
+    LDFLAGS=-s
+    EXTRA_OBJS=strverscmp.o
+  ''; # use linux flags by default
 in
 stdenv.mkDerivation rec {
   pname = "tree";
@@ -30,27 +28,27 @@ stdenv.mkDerivation rec {
     sha256 = "1hmpz6k0mr6salv0nprvm1g0rdjva1kx03bdf1scw8a38d5mspbi";
   };
 
-  configurePhase = ''
+  preConfigure = ''
     sed -i Makefile -e 's|^OBJS=|OBJS=$(EXTRA_OBJS) |'
-    makeFlagsArray=(
-      prefix=$out
-      MANDIR=$out/share/man/man1
-      ${systemFlags}
-      CC="$CC"
-    )
+    makeFlags+=("CC=$CC")
   '';
 
-  meta = {
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "MANDIR=${placeholder "out"}/share/man/man1"
+    systemFlags
+  ];
+
+  meta = with lib; {
     homepage = "http://mama.indstate.edu/users/ice/tree/";
     description = "Command to produce a depth indented directory listing";
-    license = lib.licenses.gpl2;
-
+    license = licenses.gpl2;
     longDescription = ''
       Tree is a recursive directory listing command that produces a
       depth indented listing of files, which is colorized ala dircolors if
       the LS_COLORS environment variable is set and output is to tty.
     '';
-
-    platforms = lib.platforms.all;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/cmigemo/default.nix b/pkgs/tools/text/cmigemo/default.nix
index 6787d68991d..3562d40bc3e 100644
--- a/pkgs/tools/text/cmigemo/default.nix
+++ b/pkgs/tools/text/cmigemo/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, gzip, libiconv, nkf, perl, skk-dicts, which }:
+{ lib, stdenv, fetchFromGitHub, fetchurl, buildPackages
+, gzip, libiconv, nkf, perl, which
+, skk-dicts
+}:
 
 stdenv.mkDerivation {
   pname = "cmigemo";
@@ -21,7 +24,11 @@ stdenv.mkDerivation {
 
   makeFlags = [ "INSTALL=install" ];
 
-  buildPhase = if stdenv.isDarwin then "make osx-all" else "make gcc-all";
+  preBuild = ''
+    makeFlagsArray+=(FILTER_UTF8="${lib.getBin buildPackages.stdenv.cc.libc}/bin/iconv -t utf-8 -f cp932")
+  '';
+
+  buildFlags = [ (if stdenv.isDarwin then "osx-all" else "gcc-all") ];
 
   installTargets = [ (if stdenv.isDarwin then "osx-install" else "gcc-install") ];
 
diff --git a/pkgs/tools/text/poedit/default.nix b/pkgs/tools/text/poedit/default.nix
index c53f521fddc..4c45e5dbeea 100644
--- a/pkgs/tools/text/poedit/default.nix
+++ b/pkgs/tools/text/poedit/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     "--without-cpprest"
     "--with-boost-libdir=${boost.out}/lib"
     "CPPFLAGS=-I${nlohmann_json}/include/nlohmann/"
+    "LDFLAGS=-llucene++"
   ];
 
   preFixup = ''
diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix
index 0e2c8b824f5..92fde60c23c 100644
--- a/pkgs/tools/text/xml/basex/default.nix
+++ b/pkgs/tools/text/xml/basex/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem }:
+{ lib, stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem, copyDesktopItems }:
 
 stdenv.mkDerivation rec {
   pname = "basex";
-  version = "9.4.3";
+  version = "9.6.3";
 
   src = fetchurl {
     url = "http://files.basex.org/releases/${version}/BaseX${builtins.replaceStrings ["."] [""] version}.zip";
-    hash = "sha256-IZhRg2JcYQXQKU/lYZpLLcsSdjZZO+toY5yvk+RKUCY=";
+    hash = "sha256-OlIAyGUQKrl+Zu79p6cahHpx59zLozGkUDAEvykGN6Y=";
   };
 
-  nativeBuildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip copyDesktopItems ];
   buildInputs = [ jre ];
 
-  desktopItem = makeDesktopItem {
+  desktopItems = lib.optional (!stdenv.isDarwin) (makeDesktopItem {
     name = "basex";
     exec = "basexgui %f";
     icon = "${./basex.svg}"; # icon copied from Ubuntu basex package
@@ -21,22 +21,21 @@ stdenv.mkDerivation rec {
     genericName = "XML database tool";
     categories = "Development;Utility;Database";
     mimeType = "text/xml";
-  };
+  });
 
   dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
+
     # Remove Windows batch files (unclutter $out/bin)
     rm ./bin/*.bat
 
-    mkdir -p "$out/share/basex" "$out/share/applications"
+    mkdir -p "$out/share/basex"
 
     cp -R bin etc lib webapp src BaseX.jar "$out"
     cp -R readme.txt webapp "$out/share/basex"
 
-    # Install desktop file
-    cp "$desktopItem"/share/applications/* "$out/share/applications/"
-
     # Use substitutions instead of wrapper scripts
     for file in "$out"/bin/*; do
         sed -i -e "s|/usr/bin/env bash|${stdenv.shell}|" \
@@ -47,6 +46,8 @@ stdenv.mkDerivation rec {
                -e "s|echo|${coreutils}/bin/echo|" \
             "$file"
     done
+
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -60,7 +61,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://basex.org/";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/virtualization/extra-container/default.nix b/pkgs/tools/virtualization/extra-container/default.nix
index ad0601a5243..dad7a3d1be7 100644
--- a/pkgs/tools/virtualization/extra-container/default.nix
+++ b/pkgs/tools/virtualization/extra-container/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Run declarative containers without full system rebuilds";
-    homepage = https://github.com/erikarvstedt/extra-container;
+    homepage = "https://github.com/erikarvstedt/extra-container";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.earvstedt ];