summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2019-12-26 14:16:15 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2019-12-26 14:17:36 +0100
commit77b6c3cd06a679140fb5a44f81f904497007f333 (patch)
treee8ed1606b326cdafba719cc2a14c527c1b601f2e /pkgs/tools/misc
parent602bccd1a8262d4e6bd787838d21fc3c2c1c50ba (diff)
parent4d2dd1554618831f0a5b159b8a4dff86612c02a9 (diff)
downloadnixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.gz
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.bz2
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.lz
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.xz
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.zst
nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.zip
Merge remote-tracking branch 'origin/master' into gcc-9
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/arp-scan/default.nix12
-rw-r--r--pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--pkgs/tools/misc/bandwidth/default.nix4
-rw-r--r--pkgs/tools/misc/bat/default.nix13
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/bibutils/default.nix4
-rw-r--r--pkgs/tools/misc/birdfont/xmlbird.nix4
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/byobu/default.nix4
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cloc/default.nix2
-rw-r--r--pkgs/tools/misc/colord/default.nix7
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/debianutils/default.nix5
-rw-r--r--pkgs/tools/misc/desktop-file-utils/setup-hook.sh2
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/dua/default.nix2
-rw-r--r--pkgs/tools/misc/dust/default.nix6
-rw-r--r--pkgs/tools/misc/etcher/default.nix94
-rw-r--r--pkgs/tools/misc/ethminer/default.nix23
-rw-r--r--pkgs/tools/misc/eva/Cargo.lock.patch213
-rw-r--r--pkgs/tools/misc/eva/default.nix20
-rw-r--r--pkgs/tools/misc/exa/default.nix11
-rw-r--r--pkgs/tools/misc/fdupes/default.nix2
-rw-r--r--pkgs/tools/misc/ffsend/default.nix8
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/fselect/default.nix23
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix7
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/graylog/default.nix4
-rw-r--r--pkgs/tools/misc/hashit/default.nix6
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock14
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix29
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix8
-rw-r--r--pkgs/tools/misc/kisslicer/default.nix6
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix8
-rw-r--r--pkgs/tools/misc/licensor/default.nix23
-rw-r--r--pkgs/tools/misc/lorri/default.nix56
-rw-r--r--pkgs/tools/misc/lorri/runtime-closure.nix.template37
-rw-r--r--pkgs/tools/misc/lorri/runtime.nix33
-rw-r--r--pkgs/tools/misc/man-db/default.nix4
-rw-r--r--pkgs/tools/misc/memtest86-efi/default.nix4
-rw-r--r--pkgs/tools/misc/miniserve/default.nix11
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix5
-rw-r--r--pkgs/tools/misc/multitail/default.nix4
-rw-r--r--pkgs/tools/misc/multitime/default.nix39
-rw-r--r--pkgs/tools/misc/noti/default.nix4
-rw-r--r--pkgs/tools/misc/ocz-ssd-guru/default.nix4
-rw-r--r--pkgs/tools/misc/onefetch/default.nix26
-rw-r--r--pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--pkgs/tools/misc/ostree/default.nix10
-rw-r--r--pkgs/tools/misc/paps/default.nix12
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/parted/default.nix36
-rw-r--r--pkgs/tools/misc/parted/gpt-unicode-test-fix.patch34
-rw-r--r--pkgs/tools/misc/peruse/default.nix2
-rw-r--r--pkgs/tools/misc/pfetch/default.nix28
-rw-r--r--pkgs/tools/misc/pg_flame/default.nix22
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--pkgs/tools/misc/pipelight/default.nix6
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/ponysay/default.nix2
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix6
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix1
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix2
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix4
-rw-r--r--pkgs/tools/misc/shadowenv/default.nix6
-rw-r--r--pkgs/tools/misc/slop/default.nix4
-rw-r--r--pkgs/tools/misc/snapper/default.nix10
-rw-r--r--pkgs/tools/misc/starship/default.nix20
-rw-r--r--pkgs/tools/misc/tensorman/default.nix24
-rw-r--r--pkgs/tools/misc/termtosvg/default.nix4
-rw-r--r--pkgs/tools/misc/tio/default.nix2
-rw-r--r--pkgs/tools/misc/tmate/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix32
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix23
-rw-r--r--pkgs/tools/misc/ttygif/default.nix23
-rw-r--r--pkgs/tools/misc/units/default.nix28
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix11
-rw-r--r--pkgs/tools/misc/vector/default.nix15
-rw-r--r--pkgs/tools/misc/venus/default.nix20
-rw-r--r--pkgs/tools/misc/vimpager/build.nix2
-rw-r--r--pkgs/tools/misc/vivid/default.nix6
-rw-r--r--pkgs/tools/misc/wagyu/default.nix23
-rw-r--r--pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--pkgs/tools/misc/watchexec/default.nix15
-rw-r--r--pkgs/tools/misc/websocat/default.nix23
-rw-r--r--pkgs/tools/misc/wob/default.nix11
-rw-r--r--pkgs/tools/misc/xilinx-bootgen/default.nix37
-rw-r--r--pkgs/tools/misc/yad/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
95 files changed, 1065 insertions, 316 deletions
diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix
index 4f50e0f556b..9a3164db5d7 100644
--- a/pkgs/tools/misc/arp-scan/default.nix
+++ b/pkgs/tools/misc/arp-scan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arp-scan";
-  version = "1.9.5";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "royhills";
     repo = "arp-scan";
-    rev = "4de863c2627a05177eda7159692a588f9f520cd1";
-    sha256 = "15zpfdybk2kh98shqs8qqd0f9nyi2ch2wcyv729rfj7yp0hif5mb";
+    rev = version;
+    sha256 = "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp";
   };
 
   perlModules = with perlPackages; [
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libpcap makeWrapper ];
+  buildInputs = [ perlPackages.perl libpcap makeWrapper ];
 
   postInstall = ''
     for name in get-{oui,iab}; do
-      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makePerlPath perlModules }"
+      wrapProgram "$out/bin/$name" --set PERL5LIB "${perlPackages.makeFullPerlPath perlModules}"
     done;
   '';
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       Arp-scan is a command-line tool that uses the ARP protocol to discover
       and fingerprint IP hosts on the local network.
     '';
-    homepage = http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation;
+    homepage = "http://www.nta-monitor.com/wiki/index.php/Arp-scan_Documentation";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor mikoim ];
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 25765589bee..adf73037af8 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.8.1";
+  version = "1.9";
 in
   stdenv.mkDerivation {
     pname = "autorandr";
@@ -49,7 +49,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = version;
-      sha256 = "1bp1cqkrpg77rjyh4lq1agc719fmxn92jkiicf6nbhfl8kf3l3vy";
+      sha256 = "1bb0l7fcm5lcx9y02zdxv7pfdqf4v4gsc5br3v1x9gzjvqj64l7n";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix
index 3b5e72c89f7..b4cbc747b1d 100644
--- a/pkgs/tools/misc/bandwidth/default.nix
+++ b/pkgs/tools/misc/bandwidth/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
-  version = "1.5.1";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "https://zsmith.co/archives/${pname}-${version}.tar.gz";
-    sha256 = "1v9k1a2ilkbhc3viyacgq88c9if60kwsd1fy6rn84317qap4i7ib";
+    sha256 = "0zpv2qgkbak0llw47qcakhyh2z3zv4d69kasldmpdlpqryd9za84";
   };
 
   buildInputs = [ nasm ];
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 6b62ca247cb..6f5dc209b96 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages, pkgconfig
-, Security, libiconv, installShellFiles
+{ stdenv, rustPlatform, fetchFromGitHub, llvmPackages, pkgconfig, less
+, Security, libiconv, installShellFiles, makeWrapper
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "0d7h0kn41w6wm4w63vjy2i7r19jkansfvfjn7vgh2gqh5m60kal2";
 
-  nativeBuildInputs = [ pkgconfig llvmPackages.libclang installShellFiles ];
+  nativeBuildInputs = [ pkgconfig llvmPackages.libclang installShellFiles makeWrapper ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security libiconv ];
 
@@ -27,6 +27,13 @@ rustPlatform.buildRustPackage rec {
     installShellCompletion assets/completions/bat.fish
   '';
 
+  # Insert Nix-built `less` into PATH because the system-provided one may be too old to behave as
+  # expected with certain flag combinations.
+  postFixup = ''
+    wrapProgram "$out/bin/bat" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ less ]}"
+  '';
+
   meta = with stdenv.lib; {
     description = "A cat(1) clone with syntax highlighting and Git integration";
     homepage    = https://github.com/sharkdp/bat;
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index 6309587fd52..defdd9494e5 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.193";
+  version = "1.194";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1mykng02fyxshm02kywrk16f27b1jhgn9zcaxcvxd255sn58w68k";
+    sha256 = "10c0rbhqscizfa063m6mms31i0knh25bxr35s008b6mp5pxr33mc";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
index d84c6ebaabc..d099a8aba9b 100644
--- a/pkgs/tools/misc/bibutils/default.nix
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bibutils";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
-    sha256 = "072cmhv692nk1lfcwmaqid5gpg8q4jc4vai5ss8lj72zms32p882";
+    sha256 = "1n28fjrl7zxjxvcqzmrc9xj8ly6nkxviimxbzamj8dslnkzpzqw1";
   };
 
   configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];
diff --git a/pkgs/tools/misc/birdfont/xmlbird.nix b/pkgs/tools/misc/birdfont/xmlbird.nix
index a5581c84d50..3d51f282dae 100644
--- a/pkgs/tools/misc/birdfont/xmlbird.nix
+++ b/pkgs/tools/misc/birdfont/xmlbird.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlbird";
-  version = "1.2.10";
+  version = "1.2.11";
 
   src = fetchurl {
     url = "https://birdfont.org/${pname}-releases/lib${pname}-${version}.tar.xz";
-    sha256 = "0qpqpqqd4wj711jzczfsr38fgcz1rzxchrqbssxnan659ycd9c78";
+    sha256 = "1ycbgjvywnlc0garw8qjqd18s0xnrwjvssdrb410yschv3wjq1i0";
   };
 
   nativeBuildInputs = [ python3 pkgconfig vala gobject-introspection ];
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 93084640e76..63d5ff69e79 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "0.9.4";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1im04vlhmjdwzp19pizk4bmzvybgjg40ig833qx5lbisfs74xyxw";
+    sha256 = "1wisqb4cqdgsnjvmpgxbzs9zcw6npqw1kqxxs8mn33sxlikhbf2l";
   };
 
-  cargoSha256 = "0675995zh9nn690kdha3zfsa157173rxwcqz0kasbl9byjczi6sm";
+  cargoSha256 = "09gnyj97akychin1axp9kcww3c04xx7x1qnplhs2yxfki62r4y2b";
 
   meta = with stdenv.lib; {
     description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 65196e2a3b6..94db365f6d6 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python3, perl, textual-window-manager }:
 
 stdenv.mkDerivation rec {
-  version = "5.129";
+  version = "5.130";
   name = "byobu-" + version;
 
   src = fetchurl {
     url = "https://launchpad.net/byobu/trunk/${version}/+download/byobu_${version}.orig.tar.gz";
-    sha256 = "1ff20xdi58pncw76hrkf7azqy0y654kwz1zff5irnd8cflh5y4z5";
+    sha256 = "0qblw5vz90fixvpwfvlc8bkljsviri5gj77cp63l44ns3lb19r27";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 4adadbf4707..1fd76eb4db6 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.15";
+  version = "3.2.16";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0m2z34vgcqaf1yfa2919v3mz9b0q43mihz6di5kg62h6swaaanxd";
+    sha256 = "0ygmw03n8knczq9a9whslxcpmgyz0ksqwl0k8f7hyf96b9n8inc2";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 587bc2b9278..3eb3851457a 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.7.2";
+  version = "1.7.9";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "06wgfnlzcs6yfrjpy6zhcg5y844zd22manbm2sfq5vyng02bg229";
+    sha256 = "1qvrzksqr06lslryh7qzs56bs11xfyah5153x3aab2f5kgk1i8md";
   };
 
-  modSha256 = "1y1q1lps3a8piikh8ds28yrw5r82af9pyl6vy87207z1y5v2hams";
+  modSha256 = "0rzwslpikadhqw8rcbg4hbasfcgjcc850ccfnprdxva4g1bb5rqc";
 
   buildFlagsArray = [
     "-ldflags=-s -w -X github.com/twpayne/chezmoi/cmd.VersionStr=${version}"
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index 39370e6754e..6d567f6119a 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/AlDanial/cloc;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu rycee ];
+    maintainers = with stdenv.lib.maintainers; [ rycee ];
   };
 }
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 91fb208f5c0..54379ec08f0 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, nixosTests
 , bash-completion
 , glib
 , polkit
@@ -97,6 +98,12 @@ stdenv.mkDerivation rec {
   PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions";
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.colord;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
     homepage = https://www.freedesktop.org/software/colord/;
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index a91fdad8d82..e3ba0abb8bc 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner  = "rockowitz";
     repo   = "ddcutil";
     rev    = "v${version}";
-    sha256 = "1p99kxgg2893ppp56q5igpva39lzj4wvx37c993r4p6i4gq6bi3v";
+    sha256 = "1r89cfw3ycqwvpfwwiqg8ykc1vyr1gf3ah30mvrmmalgmi6bnx5w";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/debianutils/default.nix b/pkgs/tools/misc/debianutils/default.nix
index b42c302a38f..74aec9bae6a 100644
--- a/pkgs/tools/misc/debianutils/default.nix
+++ b/pkgs/tools/misc/debianutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "debianutils";
-  version = "4.8.6.3";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.xz";
-    sha256 = "08g2gdm6n66w5m8qwm4f48wzgs3ymkpki6dg01nwzwbdzhxdxirc";
+    sha256 = "14a0fqdpwdw72790jjm01g5n7lwwaf9d6k78fflbysn5v62nd0mg";
   };
 
   meta = with stdenv.lib; {
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus publicDomain smail ];
     maintainers = [];
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/misc/desktop-file-utils/setup-hook.sh b/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
index 004d635cff0..728070e3458 100644
--- a/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
+++ b/pkgs/tools/misc/desktop-file-utils/setup-hook.sh
@@ -3,4 +3,4 @@ mimeinfoPreFixupPhase() {
     rm -f $out/share/applications/mimeinfo.cache
 }
 
-preFixupPhases="$preFixupPhases mimeinfoPreFixupPhase"
+preFixupPhases="${preFixupPhases-} mimeinfoPreFixupPhase"
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 739137dab48..b64c527a6b9 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -9,11 +9,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "127";
+  version = "133";
 
   src = fetchurl {
     url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "029v3lbv281n7axl97khdh4m1p7b614p1fp838mm84v0wgz7q34i";
+    sha256 = "15hi2fwcx3sf189rmxpyah0amq1a49wgp1ynhvwij5qj13wib2q8";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index a502735c773..5ac8a661c9a 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "08zgi2yiynb20l1f9rhly4a7zgqnr7lq3cr5vkmh1jnfs6z27dv6";
   };
 
-  cargoSha256 = "0ca9gaih0b9qg7bdgyhvb9gr1mq23r62pi0845vwc216jfaag079";
+  cargoSha256 = "0hd46h4wwh81hnida0in3142884y8n6ygk7qm09i5wj52g73bivv";
 
   meta = with lib; {
     description = "A tool to conveniently learn about the disk usage of directories, fast!";
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index 68f06f1ceb8..4239b54f18e 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dust";
-  version = "0.4.1.2";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "0a2n96p6z4y09l5z617qbpm8lgxvfagd1l950d2gz9xw4xf1ik5w";
+    sha256 = "0z1vi5agaf1gcq1bdzgfc89v6vpk9kaxxy8f3rd2h6yzdrd2dhk7";
   };
 
-  cargoSha256 = "0cpgxkgz10na90r3fgz8hs20vihqdcc8983inn71fq90627bhdx7";
+  cargoSha256 = "08c428rrana0llzhkg8ngzqs6vc773jrf4wql2qxdvm4l0nsx596";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix
new file mode 100644
index 00000000000..4944600108a
--- /dev/null
+++ b/pkgs/tools/misc/etcher/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, stdenv
+, fetchurl
+, gcc-unwrapped
+, dpkg
+, polkit
+, bash
+, nodePackages
+, electron_3
+, gtk3
+, wrapGAppsHook
+}:
+
+let
+  libPath = lib.makeLibraryPath [
+    # for libstdc++.so.6
+    gcc-unwrapped.lib
+  ];
+
+  sha256 = {
+    "x86_64-linux" = "0zb9j34dz7ybjix018bm8g0b6kilw9300q4ahcm22p0ggg528dh7";
+    "i686-linux" = "0wsv4mvwrvsaz1pwiqs94b3854h5l8ff2dbb1ybxmvwjbfrkdcqc";
+  }."${stdenv.system}";
+
+  arch = {
+    "x86_64-linux" = "amd64";
+    "i686-linux" = "i386";
+  }."${stdenv.system}";
+
+in stdenv.mkDerivation rec {
+  pname = "etcher";
+  version = "1.5.60";
+
+  src = fetchurl {
+    url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb";
+    inherit sha256;
+  };
+
+  buildInputs = [
+    gtk3
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  unpackPhase = ''
+    ${dpkg}/bin/dpkg-deb -x $src .
+  '';
+
+  # sudo-prompt has hardcoded binary paths on Linux and we patch them here
+  # along with some other paths
+  patchPhase = ''
+    ${nodePackages.asar}/bin/asar extract opt/balenaEtcher/resources/app.asar tmp
+    # Use Nix(OS) paths
+    sed -i "s|/usr/bin/pkexec|/usr/bin/pkexec', '/run/wrappers/bin/pkexec|" tmp/node_modules/sudo-prompt/index.js
+    sed -i 's|/bin/bash|${bash}/bin/bash|' tmp/node_modules/sudo-prompt/index.js
+    sed -i "s|process.resourcesPath|'$out/opt/balenaEtcher/resources/'|" tmp/generated/gui.js
+    ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar
+    rm -rf tmp
+    # Fix up .desktop file
+    substituteInPlace usr/share/applications/balena-etcher-electron.desktop \
+      --replace "/opt/balenaEtcher/balena-etcher-electron" "$out/bin/balena-etcher-electron"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r opt $out/
+    cp -r usr/share $out/
+
+    # We'll use our Nixpkgs electron_3 instead
+    rm $out/opt/balenaEtcher/balena-etcher-electron
+
+    ln -s ${electron_3}/bin/electron $out/bin/balena-etcher-electron
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --add-flags $out/opt/balenaEtcher/resources/app.asar
+      --prefix LD_LIBRARY_PATH : ${libPath}
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flash OS images to SD cards and USB drives, safely and easily";
+    homepage = "https://etcher.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.shou ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix
index 8a270ed0fef..1ec99f12d82 100644
--- a/pkgs/tools/misc/ethminer/default.nix
+++ b/pkgs/tools/misc/ethminer/default.nix
@@ -1,16 +1,31 @@
-{ stdenv, fetchFromGitHub, opencl-headers, cmake, jsoncpp, boost, makeWrapper,
-  cudatoolkit, mesa, ethash, opencl-info, ocl-icd, openssl, pkg-config, cli11 }:
+{
+  stdenv,
+  fetchFromGitHub,
+  opencl-headers,
+  cmake,
+  jsoncpp,
+  boost,
+  makeWrapper,
+  cudatoolkit,
+  mesa,
+  ethash,
+  opencl-info,
+  ocl-icd,
+  openssl,
+  pkg-config,
+  cli11
+}:
 
 stdenv.mkDerivation rec {
   pname = "ethminer";
-  version = "0.18.0-rc.0";
+  version = "0.18.0";
 
   src =
     fetchFromGitHub {
       owner = "ethereum-mining";
       repo = "ethminer";
       rev = "v${version}";
-      sha256 = "0gwnwxahjfwr4d2aci7y3w206nc5ifssl28ildva98ys0d24wy7z";
+      sha256 = "10b6s35axmx8kyzn2vid6l5nnzcaf4nkk7f5f7lg3cizv6lsj707";
       fetchSubmodules = true;
     };
 
diff --git a/pkgs/tools/misc/eva/Cargo.lock.patch b/pkgs/tools/misc/eva/Cargo.lock.patch
index c9fea04c75d..67553f0d6d8 100644
--- a/pkgs/tools/misc/eva/Cargo.lock.patch
+++ b/pkgs/tools/misc/eva/Cargo.lock.patch
@@ -1,12 +1,20 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000000..630f81eae76
+index 0000000..ac198e7
 --- /dev/null
-+++ b/pkgs/tools/misc/eva/Cargo.lock
-@@ -0,0 +1,448 @@
++++ b/Cargo.lock
+@@ -0,0 +1,583 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "ansi_term"
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -21,29 +29,31 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.4.12"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "atty"
 +version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "backtrace"
 +version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -52,8 +62,8 @@ index 00000000000..630f81eae76
 +version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -71,11 +81,11 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "blake2b_simd"
-+version = "0.5.8"
++version = "0.5.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -86,7 +96,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.46"
++version = "1.0.48"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -131,22 +141,45 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "directories"
++version = "2.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "dirs"
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "eva"
-+version = "0.2.4"
++version = "0.2.7"
 +dependencies = [
 + "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -166,8 +199,8 @@ index 00000000000..630f81eae76
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -182,7 +215,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.65"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -204,16 +237,81 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "nodrop"
-+version = "0.1.14"
++name = "num"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-bigint"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-complex"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-integer"
++version = "0.1.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "proc-macro2"
@@ -256,7 +354,7 @@ index 00000000000..630f81eae76
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -287,12 +385,28 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "regex"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "rust-argon2"
 +version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -307,11 +421,11 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -324,7 +438,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.5"
++version = "1.0.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -334,12 +448,12 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.12.1"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -352,8 +466,16 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "unicode-segmentation"
-+version = "1.3.0"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -401,32 +523,42 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[metadata]
++"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
 +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
 +"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 +"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 +"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
 +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
 +"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
++"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
 +"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 +"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 +"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
 +"checksum nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbdc256eaac2e3bd236d93ad999d3479ef775c863dbda3068c4006a92eec51b"
-+"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
++"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
++"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
++"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
++"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
++"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
 +"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
 +"checksum radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
@@ -436,14 +568,17 @@ index 00000000000..630f81eae76
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
 +"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
 +"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
 +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +"checksum rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f47ea1ceb347d2deae482d655dc8eef4bd82363d3329baffa3818bd76fea48b"
 +"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 +"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 +"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
diff --git a/pkgs/tools/misc/eva/default.nix b/pkgs/tools/misc/eva/default.nix
index 0efaf008d48..bf43d11e566 100644
--- a/pkgs/tools/misc/eva/default.nix
+++ b/pkgs/tools/misc/eva/default.nix
@@ -1,24 +1,32 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, fetchpatch }:
 
 rustPlatform.buildRustPackage rec {
   pname = "eva";
-  version = "0.2.5";
+  version = "0.2.7";
 
-  cargoSha256 = "1zns4xspw9w1f84sf8cz30mp2fl1jyjc2ca09gkqhzhgaj055y7k";
+  cargoSha256 = "0n3xvlmp4l925nbz8lx6dr9yrrfh6z7b9z8wd6sli3a1dq26d6bg";
 
   src = fetchFromGitHub {
     owner = "NerdyPepper";
     repo = "${pname}";
-    rev = "v${version}";
-    sha256 = "1vqr6z4vicqx1lm5ll09za4jh8rki2qbav1pawz15hqqzps3y8h1";
+    rev = "6ce0fc0212a34ffb647b24d9d903029ac4518165";
+    sha256 = "10242vnq2ph0g3p2hdacs4lmx3f474xm04nadplxbpv9xh4nbag3";
   };
 
   cargoPatches = [ ./Cargo.lock.patch ];
 
+  patches = [
+    # to fix the test suite (can be removed as soon as #33 is merged).
+    (fetchpatch {
+      url = https://github.com/NerdyPepper/eva/commit/cacf51dbb9748b1dbe97b35f3c593a0a272bd4db.patch;
+      sha256 = "11q7dkz2x1888f3awnlr1nbbxzzfjrr46kd0kk6sgjdkyfh50cvv";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A calculator REPL, similar to bc";
     homepage = https://github.com/NerdyPepper/eva;
     license = licenses.mit;
-    maintainers = with maintainers; [ nrdxp ];
+    maintainers = with maintainers; [ nrdxp ma27 ];
   };
 }
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index e05963b6902..0edd8a1b318 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkgconfig, zlib
 , darwin, libiconv, installShellFiles
 }:
 
@@ -17,6 +17,15 @@ buildRustPackage rec {
     sha256 = "14qlm9zb9v22hxbbi833xaq2b7qsxnmh15s317200vz5f1305hhw";
   };
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/ogham/exa/pull/584
+      name = "fix-panic-on-broken-symlink-in-git-repository.patch";
+      url = "https://github.com/ogham/exa/pull/584/commits/a7a8e99cf3a15992afb2383435da0231917ffb54.patch";
+      sha256 = "0n5q483sz300jkp0sbb350hdinmkw7s6bmigdyr6ypz3fvygd9hx";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig perl installShellFiles ];
   buildInputs = [ zlib ]
   ++ stdenv.lib.optionals stdenv.isDarwin [
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index 25179c36c01..8c303dd1e0c 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/adrianlopezroche/fdupes;
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.z77z ];
+    maintainers = [ maintainers.maggesi ];
   };
 }
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index aa0af61c61c..d0c389f31f9 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.55";
+  version = "0.2.57";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "0z0wa12vnzj07q54nr1zr81vjr1kac60nys26bbi8s6nh46n93wv";
+    sha256 = "04y3mnh77g8mvcikp3m0a20vz180fzv847z8xjnz97ynhrbp3q94";
   };
 
-  cargoSha256 = "14brb11nb17dykh37y099bhmk85a7z8fld2pivmywfgvz1x3i141";
+  cargoSha256 = "19w1lwvp54fjl1ll5pay5grfgj4zs2idqiqppxhksf61az6knql9";
 
   nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs = [ openssl ]
@@ -55,7 +55,7 @@ buildRustPackage rec {
     '';
     homepage = https://gitlab.com/timvisee/ffsend;
     license = licenses.gpl3;
-    maintainers = [ maintainers.lilyball ];
+    maintainers = with maintainers; [ lilyball equirosa ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index fe68613b542..516badb7bc7 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.3.2";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "155szha6mx7cvq0bzqb528zg4q1m9gip7f0m1zv9yrz1sr9p1nzv";
+    sha256 = "0xwh8fnvahcyygz0ydi4pdzgsyvjaphwl3f2ccdas52fbirwnicn";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/fselect/default.nix b/pkgs/tools/misc/fselect/default.nix
new file mode 100644
index 00000000000..b86e5ad997a
--- /dev/null
+++ b/pkgs/tools/misc/fselect/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fselect";
+  version = "0.6.7";
+
+  src = fetchFromGitHub {
+    owner = "jhspetersson";
+    repo = "fselect";
+    rev = version;
+    sha256 = "0pg3ahx8rmzr585qa4vphd1vxcm1r3sx5iyi8ghg5nn6sibqy0z4";
+  };
+
+  cargoSha256 = "0yf3xkxxlb9252r869wbiv3b3kpz4p5gp556sic63bp0acig6a76";
+
+  meta = with stdenv.lib; {
+    description = "Find files with SQL-like queries";
+    homepage = "https://github.com/jhspetersson/fselect";
+    license = with licenses; [ asl20 mit ];
+    maintainers = [ maintainers.filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index a189e8c1dba..99dcc194d01 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.3.1";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "058llxr8hbdjl721g76icm0gr50bglcgazwrbp3dxyd9jaa0bzc7";
+    sha256 = "08gscwdq7fwfpk3mf7dfdf64n5ijm5kjb7f5wrzzvpnnqz24xnb0";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 66da4f53099..19df7be9ab0 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl";
+    sha256 = "02zy3c4k84rzqdkaf04idbj10v286hi0ix1xl2qsz1wrblh168w8";
   };
 
-  modSha256 = "0xc4166d74ix5nzjphrq4rgw7qpskz05ymzl77i2qh2nhbdb53p0";
+  modSha256 = "12lnv8b96adpcg9qfizcyd9nxz590nxd82xch6ij719zlqyps143";
 
   outputs = [ "out" "man" ];
 
@@ -60,6 +60,7 @@ buildGoModule rec {
     homepage = "https://github.com/junegunn/fzf";
     description = "A command-line fuzzy finder written in Go";
     license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index 19fa7e547ae..32fe5cc5868 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.0.2";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "1vgq6dp22996y7llcij122idky92jgczliwm191yfc8b200xbx0p";
+    sha256 = "04d7ixfmzj22w9svjdj0kxsp7ycnzdzx9kd2z1vswnyybdkgyjy7";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 52e712c5cb1..d56f44aacef 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "graylog";
-  version = "3.1.2";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "14zr1aln34j5wifhg6ak3f83l959vic8i11jr90ibmnxl5v4hcqp";
+    sha256 = "0jwfq9q10nz6fy9ac2j4fcf0liz4vj0q7jmfhy9dsa3476zccwa8";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/hashit/default.nix b/pkgs/tools/misc/hashit/default.nix
index 0315750c250..9a3ffe93510 100644
--- a/pkgs/tools/misc/hashit/default.nix
+++ b/pkgs/tools/misc/hashit/default.nix
@@ -33,6 +33,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A simple app for checking usual checksums - Designed for elementary OS";
     homepage = https://github.com/artemanufrij/hashit;
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index 08689ae8dcf..ec69f523f3b 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -5,20 +5,22 @@ GEM
       public_suffix (>= 2.0.2, < 5.0)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.11.1)
-    html-proofer (3.13.0)
+    ffi (1.11.3)
+    html-proofer (3.15.0)
       addressable (~> 2.3)
       mercenary (~> 0.3)
-      nokogiri (~> 1.10)
+      nokogumbo (~> 2.0)
       parallel (~> 1.3)
       rainbow (~> 3.0)
       typhoeus (~> 1.3)
       yell (~> 2.0)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.7)
       mini_portile2 (~> 2.4.0)
-    parallel (1.17.0)
+    nokogumbo (2.0.2)
+      nokogiri (~> 1.8, >= 1.8.4)
+    parallel (1.19.1)
     public_suffix (4.0.1)
     rainbow (3.0.0)
     typhoeus (1.3.1)
@@ -32,4 +34,4 @@ DEPENDENCIES
   html-proofer
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 2d915a48dd9..1f561f52976 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -26,21 +26,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.3";
   };
   html-proofer = {
-    dependencies = ["addressable" "mercenary" "nokogiri" "parallel" "rainbow" "typhoeus" "yell"];
+    dependencies = ["addressable" "mercenary" "nokogumbo" "parallel" "rainbow" "typhoeus" "yell"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a620704y2h4g9ffpl6461ssdx87bn6hjd0y1m370r2p2xddkb9f";
+      sha256 = "0nmwxmn0dxgs53g1cqn251dzmjrklw14cpa6z6wz7cdwvjq47500";
       type = "gem";
     };
-    version = "3.13.0";
+    version = "3.15.0";
   };
   mercenary = {
     groups = ["default"];
@@ -68,20 +68,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.7";
+  };
+  nokogumbo = {
+    dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
+      type = "gem";
+    };
+    version = "2.0.2";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.1";
   };
   public_suffix = {
     groups = ["default"];
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index 8f3d245280c..9a27c4df772 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -4,22 +4,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "12bj5xifnpj5yni563b6b33lzmkgm7j1wk0c9859zw59b33ifd1l";
+    sha256 = "0jx2lqhayp14c51dfvgmqrmmadyvxf0p4dsn770ndqpzv66rh6zb";
   };
 
-  cargoSha256 = "1ias944wg55njjnap7w02b87bvb502vzkpjvsb704q5i9sr8hjry";
+  cargoSha256 = "0sqmqfig40ragjx3jvwrng6hqz8l1zbmxzq470lk66x0gy4gziag";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line benchmarking tool";
-    homepage    = https://github.com/sharkdp/hyperfine;
+    homepage    = "https://github.com/sharkdp/hyperfine";
     license     = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.thoughtpolice ];
     platforms   = platforms.all;
diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix
index 3667b483383..5e5a7174a14 100644
--- a/pkgs/tools/misc/kisslicer/default.nix
+++ b/pkgs/tools/misc/kisslicer/default.nix
@@ -1,6 +1,6 @@
 { fetchzip
 , libX11
-, libGLU_combined
+, libGLU, libGL
 , makeWrapper
 , stdenv
 }:
@@ -8,7 +8,7 @@
 let
 
   libPath = stdenv.lib.makeLibraryPath [
-    libGLU_combined
+    libGLU libGL
     stdenv.cc.cc
     libX11
   ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     makeWrapper
-    libGLU_combined
+    libGLU libGL
     libX11
   ];
 
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index 3d9111b6a61..96c13010fac 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "lazydocker";
-  version = "0.7.4";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "03l6gs4p9p8g0ai6wqg9024rp0pd13m0b9y3sy1ww5afwxb82br6";
+    sha256 = "1sp5f9lkysqkyhd6gvrlpszrih78bj67yidkkd6azv9ianrndx0b";
   };
 
   goPackagePath = "github.com/jesseduffield/lazydocker";
@@ -17,8 +17,8 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "A simple terminal UI for both docker and docker-compose";
-    homepage = https://github.com/jesseduffield/lazydocker;
+    homepage = "https://github.com/jesseduffield/lazydocker";
     license = licenses.mit;
-    maintainers = with maintainers; [ das-g ];
+    maintainers = with maintainers; [ das-g filalex77 ];
   };
 }
diff --git a/pkgs/tools/misc/licensor/default.nix b/pkgs/tools/misc/licensor/default.nix
new file mode 100644
index 00000000000..0913b9afbf5
--- /dev/null
+++ b/pkgs/tools/misc/licensor/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "licensor";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "raftario";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zr8hcq7crmhrdhwcclc0nap68wvg5kqn5l93ha0vn9xgjy8z11p";
+  };
+
+  cargoSha256 = "042dplm0cdxkv73m5qlkc61h0x9fpzxn2b0c8gjx2hwvigcia139";
+
+  meta = with lib; {
+    description = "Write licenses to stdout";
+    homepage = "https://github.com/raftario/licensor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix
new file mode 100644
index 00000000000..914578c47ec
--- /dev/null
+++ b/pkgs/tools/misc/lorri/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, pkgs
+, fetchFromGitHub
+, rustPlatform
+  # Updater script
+, runtimeShell
+, writeScript
+  # Tests
+, nixosTests
+  # Apple dependencies
+, CoreServices
+, Security
+, cf-private
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lorri";
+  version = "unstable-2019-10-30";
+
+  meta = with stdenv.lib; {
+    description = "Your project's nix-env";
+    homepage = "https://github.com/target/lorri";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ grahamc Profpatsch ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "target";
+    repo = pname;
+    # Run `eval $(nix-build -A lorri.updater)` after updating the revision!
+    rev = "03f10395943449b1fc5026d3386ab8c94c520ee3";
+    sha256 = "0fcl79ndaziwd8d74mk1lsijz34p2inn64b4b4am3wsyk184brzq";
+  };
+
+  cargoSha256 = "1daff4plh7hwclfp21hkx4fiflh9r80y2c7k2sd3zm4lmpy0jpfz";
+  doCheck = false;
+
+  BUILD_REV_COUNT = src.revCount or 1;
+  RUN_TIME_CLOSURE = pkgs.callPackage ./runtime.nix {};
+
+  nativeBuildInputs = with pkgs; [ nix direnv which ];
+  buildInputs =
+    stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security cf-private ];
+
+  passthru = {
+    updater = with builtins; writeScript "copy-runtime-nix.sh" ''
+      #!${runtimeShell}
+      set -euo pipefail
+      cp ${src}/nix/runtime.nix ${toString ./runtime.nix}
+      cp ${src}/nix/runtime-closure.nix.template ${toString ./runtime-closure.nix.template}
+    '';
+    tests = {
+      nixos = nixosTests.lorri;
+    };
+  };
+}
diff --git a/pkgs/tools/misc/lorri/runtime-closure.nix.template b/pkgs/tools/misc/lorri/runtime-closure.nix.template
new file mode 100644
index 00000000000..2cb2ec4bbb9
--- /dev/null
+++ b/pkgs/tools/misc/lorri/runtime-closure.nix.template
@@ -0,0 +1,37 @@
+# Nix with sandboxing requires every path used at build time be
+# explicitly declared. If we simply passed in the paths, they
+# would be copied in as sources. Using builtins.storePath we're
+# able to tell Nix that, no, in fact, treat these not as sources
+# to copy, but instead of a regular store path.
+#
+# Include the explicit closure, too, otherwise we'll get mysterious
+# "file not found" errors due to the glibc interpreter being
+# missing.
+let
+  # Magic inspired by Nix's config.nix:
+  # https://github.com/NixOS/nix/blob/f9a2ea44867cd1dbb408bca4df0ced806137b7f7/corepkgs/config.nix.in#L23
+  #
+  # If the dependency is in the Nix store we're using, refer to
+  # it as a literal store path. If it isn't, refer to it "normally".
+  #
+  # This makes sandboxing happy when in a nix-build, and the
+  # evaluation happy when in a «cargo build».
+  tools_build_host = @tools_build_host@;
+
+  # Compare the stringified version of the tools_build_host Nix store
+  # path to the evaluator's stringified Nix store path. Otherwise,
+  # Nix will read the sources in to the /nix/store, and, well,
+  # you can only copy the /nix/store in to the /nix/store so many
+  # times before you run out of disk space.
+  dep = if ("${toString (dirOf tools_build_host)}" == "${toString builtins.storeDir}")
+    then (builtins.trace "using storePath"  builtins.storePath)
+    else (builtins.trace "using toString" toString) # assume we have no sandboxing
+    ;
+
+  tools = dep tools_build_host;
+
+in {
+  path = "${tools}/bin";
+  builder = "${tools}/bin/bash";
+  closure = import @runtime_closure_list@ { inherit dep; };
+}
diff --git a/pkgs/tools/misc/lorri/runtime.nix b/pkgs/tools/misc/lorri/runtime.nix
new file mode 100644
index 00000000000..71bc89b5af3
--- /dev/null
+++ b/pkgs/tools/misc/lorri/runtime.nix
@@ -0,0 +1,33 @@
+{
+  # Plumbing tools:
+  closureInfo, runCommand, writeText, buildEnv,
+
+  # Actual dependencies to propagate:
+  bash, coreutils }:
+let
+  tools = buildEnv {
+    name = "lorri-runtime-tools";
+    paths = [ coreutils bash ];
+  };
+
+  runtimeClosureInfo = closureInfo {
+    rootPaths = [ tools ];
+  };
+
+  closureToNix = runCommand "closure.nix" {}
+  ''
+    (
+      echo '{ dep, ... }: ['
+      sed -E 's/^(.*)$/    (dep \1)/' ${runtimeClosureInfo}/store-paths
+      echo ']'
+    ) > $out
+  '';
+
+  runtimeClosureInfoAsNix = runCommand "runtime-closure.nix" {
+    runtime_closure_list = closureToNix;
+    tools_build_host = tools;
+  }
+  ''
+    substituteAll ${./runtime-closure.nix.template} $out
+  '';
+in runtimeClosureInfoAsNix
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index a8fb7eea97c..49e4ab44836 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpipeline, db, groff, libiconv, makeWrapper, buildPackages }:
 
 stdenv.mkDerivation rec {
-  name = "man-db-2.8.6.1";
+  name = "man-db-2.8.7";
 
   src = fetchurl {
     url = "mirror://savannah/man-db/${name}.tar.xz";
-    sha256 = "0a1sh5gxa16k6irzf3q2lli8m204w9ik1xm62wjgf1mzknxs4xrc";
+    sha256 = "09mkpvwirv9kh2pqhfq90zl7pjdl63f4w4g1x6zhhp9hjswmpkdr";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix
index 8d28dbcf40e..71409b1c3a8 100644
--- a/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/pkgs/tools/misc/memtest86-efi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "memtest86-efi";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchzip {
     # TODO: The latest version of memtest86 is actually 8.2, but the
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     # binaries that we make sure to version, then we could probably keep up
     # with the latest versions released by the company.
     url = "https://www.memtest86.com/downloads/memtest86-${version}-usb.zip";
-    sha256 = "0qiyd8ymn307shmvwmqd80q3svxf49133d2pf84qpdlcmjjfnhgg";
+    sha256 = "1x1wjssr4nnbnfan0pi7ni2dfwnm3288kq584hkfqcyza8xdx03i";
     stripRoot = false;
   };
 
diff --git a/pkgs/tools/misc/miniserve/default.nix b/pkgs/tools/misc/miniserve/default.nix
index 412726e276d..09640b30be9 100644
--- a/pkgs/tools/misc/miniserve/default.nix
+++ b/pkgs/tools/misc/miniserve/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib }:
+{ stdenv, rustPlatform, fetchFromGitHub, cmake, pkgconfig, zlib, openssl }:
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.2.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner  = "svenstaro";
     repo   = "miniserve";
     rev    = "v${version}";
-    sha256 = "1g8ggqs4fyscb1r98qj22f61jgkqnr4vdyps0drrvydl9lafdmpl";
+    sha256 = "06cxkkf3sf84prba65dymr1hg7mwizmsax0dlljh0lcmvlcpzi08";
   };
 
-  cargoSha256 = "055mbrzg7v8a65awn1051b4b9ngxq25wy31gjq8kc93qsb7k0f2k";
+  cargoSha256 = "046xxxqcf1sdsi9dlilsn0nk36gyca20ck1a70ihj1k9kl7yj8sn";
+
+  RUSTC_BOOTSTRAP = 1;
 
   nativeBuildInputs = [ cmake pkgconfig zlib ];
+  buildInputs = [ openssl ];
 
   meta = with stdenv.lib; {
     description = "For when you really just want to serve some files over HTTP right now!";
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 25d7eaba55e..95c87cb35fc 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, dpkg
 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
-, gnome2, gnome3, libnotify, libxcb, nspr, nss, systemd, xorg }:
+, gnome2, gnome3, libnotify, libxcb, nspr, nss, systemd, xorg, wrapGAppsHook }:
 
 let
 
@@ -57,7 +57,7 @@ in stdenv.mkDerivation {
 
   inherit src;
 
-  buildInputs = [ dpkg ];
+  buildInputs = [ dpkg wrapGAppsHook gnome3.gtk ];
   dontUnpack = true;
 
   buildCommand = ''
@@ -76,6 +76,7 @@ in stdenv.mkDerivation {
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
       patchelf --set-rpath ${rpath}:$out/share/mongodb-compass "$file" || true
     done
+    wrapGAppsHook $out/bin/mongodb-compass
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix
index 3037b672498..92945004cb0 100644
--- a/pkgs/tools/misc/multitail/default.nix
+++ b/pkgs/tools/misc/multitail/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "6.4.2";
+  version = "6.5.0";
   pname = "multitail";
 
   src = fetchurl {
     url = "https://www.vanheusden.com/multitail/${pname}-${version}.tgz";
-    sha256 = "1zd1r89xkxngl1pdrvsc877838nwkfqkbcgfqm3vglwalxc587dg";
+    sha256 = "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/multitime/default.nix b/pkgs/tools/misc/multitime/default.nix
new file mode 100644
index 00000000000..a46ee2b7c9c
--- /dev/null
+++ b/pkgs/tools/misc/multitime/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "multitime";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "ltratt";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = {
+    description = "Time command execution over multiple executions";
+
+    longDescription = ''
+      Unix's `time` utility is a simple and often effective way of measuring
+      how long a command takes to run. Unfortunately, running a command once
+      can give misleading timings: the process may create a cache on its first
+      execution, running faster subsequently; other processes may cause the
+      command to be starved of CPU or IO time; etc. It is common to see people
+      run `time` several times and take whichever values they feel most
+      comfortable with. Inevitably, this causes problems.
+
+      `multitime` is, in essence, a simple extension to time which runs a
+      command multiple times and prints the timing means (with confidence
+      intervals), standard deviations, minimums, medians, and maximums having
+      done so. This can give a much better understanding of the command's
+      performance.
+    '';
+
+    license = stdenv.lib.licenses.mit;
+    homepage = "https://tratt.net/laurie/src/multitime/";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/noti/default.nix b/pkgs/tools/misc/noti/default.nix
index dcc946c854e..a6288b32295 100644
--- a/pkgs/tools/misc/noti/default.nix
+++ b/pkgs/tools/misc/noti/default.nix
@@ -3,13 +3,13 @@
 
 buildGoPackage rec {
   pname = "noti";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "variadico";
     repo = "noti";
     rev = version;
-    sha256 = "1644bivjcky07n3rrm83vsms7hw47p4hnp2536q0z3qca5jyri2f";
+    sha256 = "0bcwfyd93fx0rzjc9jgg4pvvqbpxwizr044yqqa5rx70gaasz7qa";
   };
 
   buildInputs = lib.optional stdenv.isDarwin Cocoa;
diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix
index 4317c46190d..d54302b31d1 100644
--- a/pkgs/tools/misc/ocz-ssd-guru/default.nix
+++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU_combined, glibc, makeWrapper }:
+{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU, libGL, glibc, makeWrapper }:
 
 let
   system = if stdenv.hostPlatform.system == "x86_64-linux" then "linux64" else "linux32";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       xorg.libXrender
       stdenv.cc.cc
       glibc
-      libGLU_combined
+      libGLU libGL
   ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
new file mode 100644
index 00000000000..be8c4fb9c06
--- /dev/null
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub, rustPlatform, stdenv
+, CoreFoundation, libiconv, libresolv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "onefetch";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "o2sh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "02mdzpzfcxp9na86b4jcqqjd3id5jslgmnq1jc0vykg58xha51jg";
+  };
+
+  cargoSha256 = "1phv06zf47bv5cmhypivljfiynrblha0kj13c5al9l0hd1xx749h";
+
+  buildInputs = with stdenv;
+    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+
+  meta = with stdenv.lib; {
+    description = "Git repository summary on your terminal";
+    homepage = "https://github.com/o2sh/onefetch";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/osm2pgsql/default.nix b/pkgs/tools/misc/osm2pgsql/default.nix
index 1a4e4d5b3a2..007ae348bc2 100644
--- a/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/pkgs/tools/misc/osm2pgsql/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.0.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "1g9qc1z5gzdjd37n586vcmq1qli0lkhbnsrnky0mf22szzv8iwfx";
+    sha256 = "1xbzkrjv5d34dahgp9xxhasr8xzygpjbsr675rq59xzy9v7nvs9b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 9f423cf6a4d..8ec9fc1d488 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gnome3
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gjs, nixosTests
 , glib, systemd, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse, utillinuxMinimal, libselinux
 , libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42, python3
 }:
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     glib systemd e2fsprogs libsoup gpgme fuse libselinux libcap
     libarchive bzip2 xz
     utillinuxMinimal # for libmount
-    (python3.withPackages (p: with p; [ pyyaml ])) gnome3.gjs # for tests
+    (python3.withPackages (p: with p; [ pyyaml ])) gjs # for tests
   ];
 
   preConfigure = ''
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/libostree"
   ];
 
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.ostree;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Git for operating system binaries";
     homepage = https://ostree.readthedocs.io/en/latest/;
diff --git a/pkgs/tools/misc/paps/default.nix b/pkgs/tools/misc/paps/default.nix
index 521bebf47a3..8084f49f1b3 100644
--- a/pkgs/tools/misc/paps/default.nix
+++ b/pkgs/tools/misc/paps/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub
-, autoconf, automake, pkgconfig, pango }:
+, autoconf, automake, pkgconfig, intltool, pango }:
 
 stdenv.mkDerivation rec {
   pname = "paps";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "dov";
     repo = pname;
-    rev = version;
-    sha256 = "1f0qcawak76zk2xypipb6sy4bd8mixlrjby851x216a7f6z8fd4y";
+    rev = "v${version}";
+    sha256 = "129wpm2ayxs6qfh2761d4x9c034ivb2bcmmcnl56qs4448qb9495";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  nativeBuildInputs = [ autoconf automake pkgconfig intltool ];
   buildInputs = [ pango ];
 
   preConfigure = ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Pango to PostScript converter";
-    homepage = https://github.com/dov/paps;
+    homepage = "https://github.com/dov/paps";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ etu ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 27fd51ed447..e606b38775e 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20191022";
+  name = "parallel-20191122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4";
+    sha256 = "01wmk3sf34d2lmhl37j4ga7aims2hcnzv1bydg1xs4pablar6ahq";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 4934252bed9..0eed491e8a9 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline, perl, python2
-, utillinux, check, enableStatic ? false }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, lvm2
+, libuuid
+, gettext
+, readline
+, dosfstools
+, e2fsprogs
+, perl
+, python2
+, utillinux
+, check
+, enableStatic ? false
+}:
 
 stdenv.mkDerivation rec {
-  name = "parted-3.2";
+  name = "parted-3.3";
 
   src = fetchurl {
     url = "mirror://gnu/parted/${name}.tar.xz";
-    sha256 = "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5";
+    sha256 = "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp";
   };
 
   outputs = [ "out" "dev" "man" "info" ];
 
-  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch
-    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch?id=9c5cd3c329a40ba4559cc1d8c7d17a9bf95c237b";
-      sha256 = "117ypyiwvzym6pi8xmy16wa5z3sbpx7gh6haabs6kfb1x2894z7q";
-    })
-    ++ stdenv.lib.optional (lvm2 == null)
-    (fetchpatch {
-      url = https://git.savannah.gnu.org/cgit/parted.git/patch/?id=7e87ca3c531228d35e13e802d2622006138b104c;
-      sha256 = "0i29lfg8cwj342q5s7qwqhncz2bkifj5rjc7cx6jd4zqb6ykkndj";
-    });
-
   postPatch = ''
     patchShebangs tests
   '';
@@ -42,8 +43,7 @@ stdenv.mkDerivation rec {
   # Tests were previously failing due to Hydra running builds as uid 0.
   # That should hopefully be fixed now.
   doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
-
-  checkInputs = [ check perl python2 utillinux ];
+  checkInputs = [ check dosfstools e2fsprogs perl python2 utillinux ];
 
   meta = {
     description = "Create, destroy, resize, check, and copy partitions";
diff --git a/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch b/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
deleted file mode 100644
index 3070a2e4666..00000000000
--- a/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From Ludo's suggestion at:
-
-  http://debbugs.gnu.org/cgi/bugreport.cgi?msg=8;bug=18258
-
-diff --git a/tests/t0251-gpt-unicode.sh b/tests/t0251-gpt-unicode.sh
-index c845950..fa63a72 100755
---- a/tests/t0251-gpt-unicode.sh
-+++ b/tests/t0251-gpt-unicode.sh
-@@ -22,7 +22,24 @@ dev=loop-file
- # create zeroed device
- truncate -s 10m $dev || fail=1
- 
--export LC_ALL=C.UTF-8
-+found_locale=no
-+for locale in en_US de_DE fr_FR es_ES
-+do
-+  LC_ALL="$locale.UTF-8"
-+  export LC_ALL
-+
-+  # In a UTF-8 locale, the string below prints as 4 characters.
-+  if [ `printf 'foo\341\264\244' | wc -m` -eq 4 ]; then
-+    found_locale=yes
-+    break
-+  fi
-+done
-+
-+if [ "$found_locale" != "yes" ]; then
-+  echo "no valid UTF-8 locale found; skipping" >&2
-+  exit 77
-+fi
-+
- # create gpt label with named partition
- part_name=$(printf 'foo\341\264\244')
- parted -s $dev mklabel gpt mkpart primary ext2 1MiB 2MiB name 1 $part_name > empty 2>&1 || fail=1
diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix
index 80583ea19cf..a5ce018545a 100644
--- a/pkgs/tools/misc/peruse/default.nix
+++ b/pkgs/tools/misc/peruse/default.nix
@@ -26,6 +26,8 @@ in mkDerivation {
   pathsToLink = [ "/etc/xdg/peruse.knsrc"];
 
   meta = with lib; {
+    homepage = "https://peruse.kde.org";
+    description = "A comic book reader";
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/tools/misc/pfetch/default.nix b/pkgs/tools/misc/pfetch/default.nix
new file mode 100644
index 00000000000..491844f26b7
--- /dev/null
+++ b/pkgs/tools/misc/pfetch/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "pfetch";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "dylanaraps";
+    repo = "pfetch";
+    rev = version;
+    sha256 = "180vvbmvak888vs4dgzlmqk0ss4qfsz09700n4p8s68j7krkxsfq";
+  };
+
+  dontbuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp pfetch $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A pretty system information tool written in POSIX sh";
+    homepage = https://github.com/dylanaraps/pfetch;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ equirosa ];
+  };
+}
diff --git a/pkgs/tools/misc/pg_flame/default.nix b/pkgs/tools/misc/pg_flame/default.nix
new file mode 100644
index 00000000000..a7b483a3f06
--- /dev/null
+++ b/pkgs/tools/misc/pg_flame/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pg_flame";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "mgartner";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13r35n4sy9s4343l3vc896av629wqr7m225ih2bbrm8qq70fwhwv";
+  };
+
+  modSha256 = "0j7qpvji546z0cfjijdd66l0vsl0jmny6i1n9fsjqjgjpwg26naq";
+
+  meta = with lib; {
+    description = "Flamegraph generator for Postgres EXPLAIN ANALYZE output";
+    homepage = "https://github.com/mgartner/pg_flame";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/phoronix-test-suite/default.nix b/pkgs/tools/misc/phoronix-test-suite/default.nix
index 88f24676b79..2436bbe4381 100644
--- a/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "9.0.1";
+  version = "9.2.0";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "056f2z1ssr2z7qnacq5aihpnawl05blbbw0bv64pkrkl0wss85x1";
+    sha256 = "04r4zm550kp44pzl5xgj8abncrd1rxcfs7hqm38an1lz7shiisfi";
   };
 
   buildInputs = [ php ];
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index 5bd1e347082..4c7e9d0892c 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU_combined, wine-staging }:
+{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU, libGL, wine-staging }:
 
 let
   wine_custom = wine-staging;
@@ -17,9 +17,9 @@ in stdenv.mkDerivation rec {
     sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk";
   };
 
-  buildInputs = [ wine_custom libX11 libGLU_combined curl ];
+  buildInputs = [ wine_custom libX11 libGLU libGL curl ];
 
-  propagatedbuildInputs = [ curl cabextract ];
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
 
   patches = [ ./pipelight.patch ];
 
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 2ff042d8cbb..ec56bb2b668 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2019.11";
+  version = "1.2019.13";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "0k9l4d3rf5g5vwx6kd170ija872j3fafkn50fkd3ddzjqdd0v9lm";
+    sha256 = "0r8ahcnim7is7np68ci6ppzr07iyx417wi81gkckfyy5p4pwk8kz";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/ponysay/default.nix b/pkgs/tools/misc/ponysay/default.nix
index 1aa7dbedd93..3fc3efa0eda 100644
--- a/pkgs/tools/misc/ponysay/default.nix
+++ b/pkgs/tools/misc/ponysay/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Cowsay reimplemention for ponies";
-    homepage = http://erkin.co/ponysay/;
+    homepage = "https://github.com/erkin/ponysay";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ bodil ];
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index 5c1b1be2db3..47336e54d67 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.13.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hgc0ji9jcsq5qnvx54dvpq8qx80mgdbvkllzavnvqr7md638zk9";
+    sha256 = "06i07m68l24v29j01qp2y91rwsfqh4x1nc8sxkjzrc7q1c7fsc1r";
   };
 
-  modSha256 = "0800r08rawv4fz08d332z0fy6pd16l1dyflz3h91ba00g59wc2ah";
+  modSha256 = "0mz1qrwar9cgrhrgw4z3gwhjj62bnfnn59ji31zkyvwlc1mqh9an";
 
   meta = with stdenv.lib; {
     description = "A Powerline like prompt for Bash, ZSH and Fish";
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index ca769be02d8..c42ea76ca85 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "2.1.8";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "0nfc1cv2l2v1rav5jj7jz5wyb2df5l3iwrvvpkvxxpv3qll8kcfv";
+    sha256 = "0cs0hsrrknl2cv39zzq4wydx5p7095hz18yly572fnniyi4ljbdg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
index 770b229a315..e32b016016b 100644
--- a/pkgs/tools/misc/rename/default.nix
+++ b/pkgs/tools/misc/rename/default.nix
@@ -12,6 +12,7 @@ perlPackages.buildPerlPackage {
   };
   meta = with stdenv.lib; {
     description = "Rename files according to a Perl rewrite expression";
+    homepage = "https://github.com/pstray/rename";
     maintainers = with maintainers; [ mkg ];
     license = with licenses; [ gpl1Plus ];
   };
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index af5bfedf203..96df0707153 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/hanslub42/rlwrap;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 71b6dd90530..d01a3a877f2 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "screenFetch";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner  = "KittyKatt";
     repo   = "screenFetch";
     rev    = "v${version}";
-    sha256 = "11mqld9pppbappqbaj49mw2v5kysx06sy1xbs81i0hhgh35hlziv";
+    sha256 = "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/shadowenv/default.nix b/pkgs/tools/misc/shadowenv/default.nix
index 6638a50931d..faa4220200c 100644
--- a/pkgs/tools/misc/shadowenv/default.nix
+++ b/pkgs/tools/misc/shadowenv/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowenv";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = version;
-    sha256 = "01hhh45h742z9mjcpmyjpbjf90a5b1m58b6nml2han149xpn5b74";
+    sha256 = "1s59ra99wcyyqz8gzly4qmcq5rh22c50c75cdi2kyajm7ghgryy9";
   };
 
-  cargoSha256 = "0r8s20xgcp5d1ac07g5g4lrrnhrn2qsr1kgj13h2csly22j0ca2a";
+  cargoSha256 = "0s4p4mpz1p5v9hr4flxlzqvc1b3zbqr3nxp1nxjw39ng9g3hplpg";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index 65031c2a1fe..335a687dbc2 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, glew, glm, libGLU_combined, libX11, libXext, libXrender, icu
+, glew, glm, libGLU, libGL, libX11, libXext, libXrender, icu
 , cppcheck
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ glew glm libGLU_combined libX11 libXext libXrender icu ]
+  buildInputs = [ glew glm libGLU libGL libX11 libXext libXrender icu ]
                 ++ stdenv.lib.optional doCheck cppcheck;
 
   doCheck = false;
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 26cdbfeab67..ee47c17065f 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45
 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2
-, lvm2, pam, python, utillinux, fetchpatch }:
+, lvm2, pam, python, utillinux, fetchpatch, json_c }:
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.8.5";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "1h8qpkfcp04xpnaki2hmc7h3536dnjli2cczhzma6q9m985y45kr";
+    sha256 = "0605j4f3plb6q8lwf82y2jhply6dwj49jgxk8j16wsbf5k7lqzfq";
   };
 
   nativeBuildInputs = [
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
-    lvm2 pam python utillinux
+    lvm2 pam python utillinux json_c
   ];
 
   patches = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     # Hard-coded root paths, hard-coded root paths everywhere...
-    for file in {client,data,pam,scripts}/Makefile.am; do
+    for file in {client,data,pam,scripts,zypp-plugin}/Makefile.am; do
       substituteInPlace $file \
         --replace '$(DESTDIR)/usr' "$out" \
         --replace "DESTDIR" "out" \
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 16ca002d6c7..5a708c04db3 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -1,26 +1,32 @@
-{ stdenv, fetchFromGitHub, rustPlatform, libiconv, darwin }:
+{ stdenv, fetchFromGitHub, rustPlatform
+, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.25.2";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "starship";
-    repo = "starship";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "12qpfim0sqrghy41wdlqyq04yqh9mdkfgkhr01ajg0scqwbxi8ws";
+    sha256 = "047nvi231hzwjfci13x8lhszmaccb94mn5lvnyq24zb0im8br6d3";
   };
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  cargoSha256 = "0vcyzvcdpbn27faaj0wkm0mzhmck8s4z3wlhsck1kx4hnjripn02";
+  postPatch = ''
+    substituteInPlace src/utils.rs \
+      --replace "/bin/echo" "echo"
+  '';
+
+  cargoSha256 = "0r1kbv6f5v95wnshxj1wkqvp1adyrivzlr606c6blhl9z9j7m3d7";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
-    maintainers = with maintainers; [ bbigras davidtwco ];
+    maintainers = with maintainers; [ bbigras davidtwco filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/tensorman/default.nix b/pkgs/tools/misc/tensorman/default.nix
new file mode 100644
index 00000000000..97912b3c5fa
--- /dev/null
+++ b/pkgs/tools/misc/tensorman/default.nix
@@ -0,0 +1,24 @@
+{ pkgconfig, stdenv, rustPlatform, rustc, cargo, docker, openssl, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tensorman";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "tensorman";
+    rev = version;
+    sha256 = "0ywb53snvymmwh10hm6whckz7dwmpqa4rxiggd24y178jdfrm2ns";
+  };
+
+  buildInputs = [ pkgconfig openssl ];
+  cargoSha256 = "1gh5w6zzrvjk60bqaf355fagijy723rvmqjh4laksd96pmzdfwn9";
+
+  meta = with stdenv.lib; {
+    description = "Utility for easy management of Tensorflow containers";
+    homepage = "https://github.com/pop-os/tensorman/";
+    license = stdenv.lib.licenses.gpl3;
+    platforms =  [ "x86_64-linux" ];
+    maintainers = with maintainers; [ thefenriswolf ];
+  };
+}
diff --git a/pkgs/tools/misc/termtosvg/default.nix b/pkgs/tools/misc/termtosvg/default.nix
index f3a482baa48..7dc2bc618ea 100644
--- a/pkgs/tools/misc/termtosvg/default.nix
+++ b/pkgs/tools/misc/termtosvg/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "termtosvg";
-  version = "0.9.0";
+  version = "1.0.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1mf2vlq083mzhja449il78zpvjq6fv36pzakwrqmgxdjbsdyvxbd";
+    sha256 = "1d0lmvprraspdqpn0rsqzvkkmpj8zk0crid5l39kxpjpxrv2irfg";
   };
 
   propagatedBuildInputs = with python3Packages; [ lxml pyte wcwidth ];
diff --git a/pkgs/tools/misc/tio/default.nix b/pkgs/tools/misc/tio/default.nix
index 3a8388280d6..9ee9b977ab2 100644
--- a/pkgs/tools/misc/tio/default.nix
+++ b/pkgs/tools/misc/tio/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = https://tio.github.io/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ yegortimoshenko ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/tmate/default.nix b/pkgs/tools/misc/tmate/default.nix
index 9cc083e225f..86ab2492877 100644
--- a/pkgs/tools/misc/tmate/default.nix
+++ b/pkgs/tools/misc/tmate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmate";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "tmate-io";
     repo   = "tmate";
     rev    = version;
-    sha256 = "183rvga8nvh9r7p8104vwcmzp3vrfdhnx73vh06m2fgdq9i5rz3l";
+    sha256 = "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 36127dd57e6..1aa221bd59e 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, ncurses, libevent, pkgconfig, makeWrapper }:
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, makeWrapper
+, bison
+, ncurses
+, libevent
+}:
 
 let
 
@@ -13,20 +21,28 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "2.9a";
+  version = "3.0a";
 
   outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "tmux";
+    repo = "tmux";
     rev = version;
-    sha256 = "040plbgxlz14q5p0p3wapr576jbirwripmsjyq3g1nxh76jh1ipg";
+    sha256 = "0y9lv1yr0x50v3k70vzkc8hfr7yijlsi30p7dr7i8akp3lwmmc7h";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    bison
+  ];
 
-  buildInputs = [ ncurses libevent makeWrapper ];
+  buildInputs = [
+    ncurses
+    libevent
+    makeWrapper
+  ];
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -39,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://tmux.github.io/;
+    homepage = "http://tmux.github.io/";
     description = "Terminal multiplexer";
 
     longDescription =
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index b794e46b258..9ffa89f5919 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vxnq5r3h32dvznh4lal29q5ny70rd861r7435gn7sa6v5ajs2f1";
+    sha256 = "13qnacqlcih731wfrsalbff1g81inkh6sypvabg5gi7gd7mha49p";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
new file mode 100644
index 00000000000..3adf37c2218
--- /dev/null
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "topgrade";
+  version = "3.5.0";
+
+  src = fetchFromGitHub {
+    owner = "r-darwish";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15w1qi38dsx573nadqpvarxx63xla53w775fwkdds2iyspaljsg6";
+  };
+
+  cargoSha256 = "0xhrgs2rpkgjzgsipq5rb3fmqwvxrl2wi0fly1xaa6p304k1710m";
+
+  meta = with stdenv.lib; {
+    description = "Upgrade all the things";
+    homepage = "https://github.com/r-darwish/topgrade";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/ttygif/default.nix b/pkgs/tools/misc/ttygif/default.nix
new file mode 100644
index 00000000000..2fbd4360698
--- /dev/null
+++ b/pkgs/tools/misc/ttygif/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "ttygif";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "icholy";
+    repo = pname;
+    rev = version;
+    sha256 = "18l26iacpfn4xqqv1ai6ncabn83mqv98c48gl265gfld66y7zbzn";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/icholy/ttygif";
+    description = "Convert terminal recordings to animated gifs";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ moaxcp ];
+  };
+}
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index 8f66f566aa7..8bea94770ba 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -1,4 +1,13 @@
-{ stdenv, fetchurl, readline }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  readline,
+  enableCurrenciesUpdater ? true,
+  pythonPackages ? null
+}:
+
+assert enableCurrenciesUpdater -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "units";
@@ -9,7 +18,22 @@ stdenv.mkDerivation rec {
     sha256 = "0mk562g7dnidjgfgvkxxpvlba66fh1ykmfd9ylzvcln1vxmi6qj2";
   };
 
-  buildInputs = [ readline ];
+  pythonEnv = pythonPackages.python.withPackages(ps: [
+    ps.requests
+  ]);
+
+  buildInputs = [ readline ]
+    ++ lib.optionals enableCurrenciesUpdater [
+      pythonEnv
+    ]
+  ;
+  prePatch = ''
+    substituteInPlace units_cur \
+      --replace "#!/usr/bin/env python" ${pythonEnv}/bin/python
+  '';
+  postInstall = ''
+    cp units_cur ${placeholder "out"}/bin/
+  '';
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 7ac9542c6b5..328c343ba70 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, rustPlatform, pkgconfig, openssl, CoreServices, Security }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
     inherit src;
     sourceRoot = "source/rust";
     cargoSha256 = "1n1dxq3klsry5mmbfff2jv7ih8mr5zvpncrdgba6qs93wi77qi0y";
-    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -37,6 +37,13 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/pimutils/vdirsyncer/commit/7b636e8e40d69c495901f965b9c0686513659e44.patch";
+      sha256 = "0vl942ii5iad47y63v0ngmhfp37n30nxyk4j7h64b95fk38vfwx9";
+    })
+  ];
+
   postPatch = ''
     # see https://github.com/pimutils/vdirsyncer/pull/805
     substituteInPlace setup.cfg --replace --duration --durations
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 8c5ba4100c6..18ae7b5e211 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -1,33 +1,32 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform
 , openssl, pkgconfig, protobuf
-, Security, libiconv
+, Security, libiconv, rdkafka
 
 , features ?
     (if stdenv.isAarch64
-     then [ "jemallocator" ]
-     else [ "leveldb" "jemallocator" ])
+     then [ "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
+     else [ "leveldb" "leveldb/leveldb-sys-2" "shiplift/unix-socket" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vector";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "timberio";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff";
+    sha256 = "0bb4552nwkdpnxhaq2mn4iz5w92ggqxc1b78jq2vjbh1317sj9hw";
   };
 
-  cargoSha256 = "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5";
-  buildInputs = [ openssl pkgconfig protobuf ]
+  cargoSha256 = "1akyzrscc6pv7ggb1kna05vvxhfzrf1b4kji4bah1ry3yyqxdjsj";
+  buildInputs = [ openssl pkgconfig protobuf rdkafka ]
                 ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ];
 
   # needed for internal protobuf c wrapper library
   PROTOC="${protobuf}/bin/protoc";
   PROTOC_INCLUDE="${protobuf}/include";
 
-  # rdkafka fails to build, for some reason...
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
   checkPhase = ":"; # skip tests, too -- they don't respect the rdkafka flag...
 
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
index c51d3cc2702..534a500c7bc 100644
--- a/pkgs/tools/misc/venus/default.nix
+++ b/pkgs/tools/misc/venus/default.nix
@@ -1,16 +1,14 @@
-{ stdenv, fetchurl, python, pythonPackages, libxslt, libxml2, makeWrapper }:
-
-let
-  rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
-in
+{ stdenv, fetchFromGitHub, python, pythonPackages, libxslt, libxml2, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "venus-${rev}";
-
-  src = fetchurl {
-    url = "https://github.com/rubys/venus/tarball/${rev}";
-    name = "${name}.tar.bz";
-    sha256 = "0lsc9d83grbi3iwm8ppaig4h9vbmd5h4vvz83lmpnyp7zqfka7dy";
+  pname = "venus";
+  version = "unstable-2011-02-18";
+
+  src = fetchFromGitHub {
+    owner = "rubys";
+    repo = "venus";
+    rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
+    sha256 = "10yyx4jaxxbwhica12aiw119aywghcr7b24gs9lrmafpa6xd3an2";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/vimpager/build.nix b/pkgs/tools/misc/vimpager/build.nix
index 69ec50bd575..60389f6862b 100644
--- a/pkgs/tools/misc/vimpager/build.nix
+++ b/pkgs/tools/misc/vimpager/build.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Use Vim as PAGER";
-    homepage    = "https://www.vim.org/scripts/script.php?script_id = 1723";
+    homepage    = "https://www.vim.org/scripts/script.php?script_id=1723";
     license     = with licenses; [ bsd2 mit vim ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/tools/misc/vivid/default.nix b/pkgs/tools/misc/vivid/default.nix
index 4ffa250bdf5..a3df78abd25 100644
--- a/pkgs/tools/misc/vivid/default.nix
+++ b/pkgs/tools/misc/vivid/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13x0295v5blvv8dxhimbdjh81l7xl0vm6zni3qjd85psfn61371q";
+    sha256 = "00xxk1ipr3hndd717q52j7s2wfxis1p4glaa9lvp72gwwzmv5k9w";
   };
 
   postPatch = ''
     substituteInPlace src/main.rs --replace /usr/share $out/share
   '';
 
-  cargoSha256 = "125392a7x0h9jgcqc4wcaky0494xmr82iacxwl883kf0g227rv2y";
+  cargoSha256 = "04xx26ngz7hx7bv5g01q9h6dqa96xkx0xm3jb0qk6c3hp6500zpn";
 
   postInstall = ''
     mkdir -p $out/share/${pname}
diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix
new file mode 100644
index 00000000000..d56d21b1516
--- /dev/null
+++ b/pkgs/tools/misc/wagyu/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wagyu";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "ArgusHQ";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1646j0lgg3hhznifvbkvr672p3yqlcavswijawaxq7n33ll8vmcn";
+  };
+
+  cargoSha256 = "10b96l0b32zxq0xrnhivv3gihmi5y31rllbizv67hrg1axz095vn";
+  verifyCargoDeps = true;
+
+  meta = with lib; {
+    description = "Rust library for generating cryptocurrency wallets";
+    homepage = https://github.com/ArgusHQ/wagyu;
+    license = with licenses; [ mit asl20 ];
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 06280b49fbf..a685dc7cbde 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -3,13 +3,13 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "wakatime";
-  version = "10.8.0";
+  version = "13.0.2";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime";
     rev = version;
-    sha256 = "057gq6j41x9z29az4s21crswm97pa9z4v58m34q8mi3chihc3pj6";
+    sha256 = "0ng7hb83gj6vb569qh58vqp4ana162r20dif086kgc3sch2z63j9";
   };
 
   # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index dea4478581b..9729f110bb7 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, rustPlatform, fetchFromGitHub, CoreServices }:
+{ stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1iaib7yvxyn3l9kiys9x7wziixj13fmx1z3wgdy6h8c7jv6fpc0j";
+    sha256 = "03s9nsss4895x4lp90y65jajavk8c2nj1jjnmx0vbbwl210ghlv1";
   };
 
-  cargoSha256 = "101p0qj7ydfhqfz402mxy4bs48vq3rzgj513f1kwv0ba4hn1sxkv";
+  cargoSha256 = "07whi9w51ddh8s7v06c3k6n5q9gfx74rdkhgfysi180y2rgnbanj";
+
+  nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  postInstall = ''
+    installManPage doc/watchexec.1
+    installShellCompletion --zsh --name _watchexec completions/zsh
+  '';
+
   meta = with stdenv.lib; {
     description = "Executes commands in response to file modifications";
     homepage = https://github.com/watchexec/watchexec;
diff --git a/pkgs/tools/misc/websocat/default.nix b/pkgs/tools/misc/websocat/default.nix
index b994aecfc0e..f682bb3d2eb 100644
--- a/pkgs/tools/misc/websocat/default.nix
+++ b/pkgs/tools/misc/websocat/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security
-}:
+{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "websocat";
-  version = "1.3.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
-    owner  = "vi";
-    repo   = "websocat";
-    rev    = "v${version}";
-    sha256 = "1gf2snr12vnx2mhsrwkb5274r1pvdrf8m3bybrqbh8s9wd83nrh6";
+    owner = "vi";
+    repo = "websocat";
+    rev = "v${version}";
+    sha256 = "1lmra91ahpk4gamhnbdr066hl4vzwfh5i09fbabzdnxcvylbx8zf";
   };
 
   cargoBuildFlags = [ "--features=ssl" ];
-  cargoSha256 = "1zqfvbihf8xwgh092n9wzm3mdgbv0n99gjsfk9przqj2vh7wfvh2";
+  cargoSha256 = "163kwpahrbb9v88kjkrc0jx2np3c068pspr8rqrm9cb8jyl2njrr";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line client for WebSockets (like netcat/socat)";
-    homepage    = https://github.com/vi/websocat;
-    license     = with licenses; [ mit ];
-    maintainers = [ maintainers.thoughtpolice ];
-    platforms   = platforms.all;
+    homepage = "https://github.com/vi/websocat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thoughtpolice filalex77 ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/wob/default.nix b/pkgs/tools/misc/wob/default.nix
index 12e76be9658..ac00fd007e3 100644
--- a/pkgs/tools/misc/wob/default.nix
+++ b/pkgs/tools/misc/wob/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, wayland # wayland-scanner
+, meson, ninja, pkg-config, scdoc, wayland # wayland-scanner
 , wayland-protocols
 }:
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.2";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    fetchSubmodules = true;
-    sha256 = "1jyia4166lp4cc8gmjmgcyz6prshhfjriam8w8mz2c5h77990fr9";
+    sha256 = "1z8q5p5q8f0dfjzr96jldz97ycir9ip4p2cwj26nywmb8r0hznjr";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland ];
+  postPatch = "sed -Ei 's/Version\ 0\.[0-9]/Version ${version}/' wob.1.scd";
+
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland ];
   buildInputs = [ wayland-protocols ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/xilinx-bootgen/default.nix b/pkgs/tools/misc/xilinx-bootgen/default.nix
new file mode 100644
index 00000000000..e7aa30ac059
--- /dev/null
+++ b/pkgs/tools/misc/xilinx-bootgen/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, openssl }:
+
+stdenv.mkDerivation {
+  pname = "xilinx-bootgen";
+  version = "unstable-2019-10-23";
+
+  src = fetchFromGitHub {
+    owner = "xilinx";
+    repo = "bootgen";
+    rev = "f9f477adf243fa40bc8c7316a7aac37a0efd426d";
+    sha256 = "1qciz3jkzy0z0lcgqnhch9pqj0202mk5ghzp2m9as5pzk8n8hrbz";
+  };
+
+  buildInputs = [ openssl ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -Dm755 bootgen $out/bin/bootgen
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Generate Boot Images for Xilinx Zynq and ZU+ SoCs";
+    longDescription = ''
+      Bootgen for Xilinx Zynq and ZU+ SoCs, without code related to generating
+      obfuscated key and without code to support FPGA encryption and
+      authentication. These features are only available as part of Bootgen
+      shipped with Vivado tools.
+
+      For more details about Bootgen, please refer to Xilinx UG1283.
+    '';
+    homepage = "https://github.com/Xilinx/bootgen";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flokli ];
+  };
+}
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 946a07d17b4..776b41ac1aa 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yad";
-  version = "0.42.0";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = "v1cont";
     repo = "yad";
     rev = "v${version}";
-    sha256 = "0ym8pgbzx7ydk5rmi2kwwdyzi6pdpcps86i0c20cqcjmqh8kdl36";
+    sha256 = "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 610738daebd..2c9d2be0761 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl 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 = "2019.10.29";
+  version = "2019.12.25";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1lq6ycjbx07831s24yx42q6m6svas4mf02vbszw0965dbbzs7vp4";
+    sha256 = "13f7wv9v77zilhif0ndgjv4wn9glhmm14yh7axdcx5wglrgz38hf";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -65,6 +65,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fuuzetsu fpletz enzime ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ];
   };
 }