about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/misc
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/misc')
-rw-r--r--nixpkgs/pkgs/tools/misc/asdf-vm/default.nix85
-rw-r--r--nixpkgs/pkgs/tools/misc/broot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/clipbuzz/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/discocss/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/dua/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/dashboard.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/execline/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/expect/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/fend/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/flashrom/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/freshfetch/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/fselect/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fsmon/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/g203-led/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf4/darwin-aarch64.patch11
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf4/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/infracost/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/less/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/lf/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/livedl/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/misc/ncdu/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/nncp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pferd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pgcenter/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/piston-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/powerline-rs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/remind/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/slop/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/starship/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/termplay/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/tfk8s/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/thefuck/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/misc/trash-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/usbmuxd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/vivid/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vsh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yafetch/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ytmdl/default.nix48
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/zoxide/default.nix10
55 files changed, 549 insertions, 146 deletions
diff --git a/nixpkgs/pkgs/tools/misc/asdf-vm/default.nix b/nixpkgs/pkgs/tools/misc/asdf-vm/default.nix
new file mode 100644
index 000000000000..1ba5c750f38f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/asdf-vm/default.nix
@@ -0,0 +1,85 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, installShellFiles, bash, coreutils, curl, git, writeScript }:
+
+let
+  asdfReshimFile = writeScript "asdf-reshim" ''
+#!/usr/bin/env bash
+
+# asdf-vm create "shim" file like this:
+#
+#    exec $ASDF_DIR/bin/asdf exec "node" "$@"
+#
+# So we should reshim all installed versions every time shell initialized,
+# because $out always change
+
+asdfDir="''${ASDF_DIR:-$HOME/.asdf}"
+asdfDataDir="''${ASDF_DATA_DIR:-$HOME/.asdf}"
+
+prevAsdfDirFilePath="$asdfDataDir/.nix-prev-asdf-dir-path"
+
+if [ -r "$prevAsdfDirFilePath" ]; then
+  prevAsdfDir="$(cat "$prevAsdfDirFilePath")"
+else
+  prevAsdfDir=""
+fi
+
+if [ "$prevAsdfDir" != "$asdfDir" ]; then
+  rm -rf "$asdfDataDir"/shims
+  "$asdfDir"/bin/asdf reshim
+  echo "$asdfDir" > "$prevAsdfDirFilePath"
+fi
+  '';
+
+  asdfPrepareFile = writeScript "asdf-prepare" ''
+ASDF_DIR="@asdfDir@"
+
+source "$ASDF_DIR/asdf.sh"
+${asdfReshimFile}
+  '';
+in stdenv.mkDerivation rec {
+  pname = "asdf-vm";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "asdf-vm";
+    repo = "asdf";
+    rev = "v${version}";
+    sha256 = "07lh5k1krzm7fbkv0jlwbzz5ycn2jg7s12dnqwmy82qqic0sl6fl";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    installShellFiles
+  ];
+
+  buildInputs = [
+    bash
+    curl
+    git
+  ];
+
+  installPhase = ''
+    mkdir -p $out/share/asdf-vm
+    cp -r . $out/share/asdf-vm
+
+    mkdir -p $out/etc/profile.d
+    substitute ${asdfPrepareFile} $out/etc/profile.d/asdf-prepare.sh \
+      --replace "@asdfDir@" "$out/share/asdf-vm"
+
+    mkdir -p $out/bin
+    makeWrapper $out/share/asdf-vm/bin/asdf $out/bin/asdf \
+      --set ASDF_DIR $out/share/asdf-vm
+
+    installShellCompletion --cmd asdf \
+      --zsh completions/_asdf \
+      --fish completions/asdf.fish \
+      --bash completions/asdf.bash
+  '';
+
+  meta = with lib; {
+    description = "Extendable version manager with support for Ruby, Node.js, Erlang & more";
+    homepage = "https://asdf-vm.com/";
+    license = licenses.mit;
+    maintainers = [ maintainers.c4605 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/broot/default.nix b/nixpkgs/pkgs/tools/misc/broot/default.nix
index 0aeef02f32d1..d1f9ca80f705 100644
--- a/nixpkgs/pkgs/tools/misc/broot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broot/default.nix
@@ -14,14 +14,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-6UveXa0rMWt5FbmhB0CsYRMGMXxL8FB/XivB4Ec93PY=";
+    sha256 = "sha256-H/QT/fmQI9sHjl6wMJjrfjvbOhY9VyBkAGetvcUqGrE=";
   };
 
-  cargoHash = "sha256-c6U1ZOaXZ7RnKD7q0WTkam9gL8SL/naSeHGbB5I82lk=";
+  cargoHash = "sha256-5mqLVbB/dLAk3Ck7ilHhVn0CB/6Ln82SaTxZ/vkx+9k=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index b7a717b5b2f3..4d69f237a08c 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.0.13";
+  version = "2.0.15";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-ApgprU8PC5sn62D6eM1JG3s4DD2+e8SfyPpiC/6ANmQ=";
+    sha256 = "sha256-PUcsDyszFT4DzTwvbcCO8FQErvmotmY7gREZ2sgpcw8=";
   };
 
-  vendorSha256 = "sha256-07v+JzOYtfaaL2M/z5FOWlhhaEwWwc0wui3RLynP5N8=";
+  vendorSha256 = "sha256-7SfqBxCfOYwePK/6SsWS5StuVr0png6WjQXIDuQW0EE=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/clipbuzz/default.nix b/nixpkgs/pkgs/tools/misc/clipbuzz/default.nix
new file mode 100644
index 000000000000..aaa37ad7c18f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/clipbuzz/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromSourcehut, zig, libX11, libXfixes }:
+
+stdenv.mkDerivation rec {
+  pname = "clipbuzz";
+  version = "2.0.0";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1qn98bwp7v7blw4v0g4pckgxrky5ggvq9m0kck2kqw8jg9jc15jp";
+  };
+
+  nativeBuildInputs = [ zig ];
+  buildInputs = [ libX11 libXfixes ];
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  installPhase = ''
+    zig build -Drelease-safe -Dcpu=baseline --prefix $out install
+  '';
+
+  meta = with lib; {
+    description = "Buzz on new X11 clipboard events";
+    homepage = "https://git.sr.ht/~cnx/clipbuzz";
+    license = licenses.unlicense;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix b/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
index 39e6e6f211a3..d1735268224a 100644
--- a/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/coreboot-utils/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, zlib, pciutils, coreutils, acpica-tools, iasl, makeWrapper, gnugrep, gnused, file, buildEnv }:
 
 let
-  version = "4.13";
+  version = "4.14";
 
   commonMeta = with lib; {
     description = "Various coreboot-related tools";
@@ -16,13 +16,14 @@ let
 
     src = fetchurl {
       url = "https://coreboot.org/releases/coreboot-${version}.tar.xz";
-      sha256 = "0sl50aajnah4a138sr3jjm3ydc8gfh5vvlhviz3ypp95b9jdlya7";
+      sha256 = "0viw2x4ckjwiylb92w85k06b0g9pmamjy2yqs7fxfqbmfadkf1yr";
     };
 
     enableParallelBuilding = true;
 
     postPatch = ''
       cd ${path}
+      patchShebangs .
     '';
 
     makeFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/discocss/default.nix b/nixpkgs/pkgs/tools/misc/discocss/default.nix
index 2e0506bf4209..f847f615756a 100644
--- a/nixpkgs/pkgs/tools/misc/discocss/default.nix
+++ b/nixpkgs/pkgs/tools/misc/discocss/default.nix
@@ -2,23 +2,24 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "discocss";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "mlvzk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EdkcTVDFQppBeAoyM5hMMIK0d4B87JyVlmCW7zlGfDs=";
+    sha256 = "sha256-afmQCOOZ1MwQkbZZNHYfq2+IRv2eOtYBrGVHzDEbUHw=";
   };
 
   dontBuild = true;
 
   installPhase = ''
-    install -m755 -D ./discocss $out/bin/discocss
+    install -Dm755 ./discocss $out/bin/discocss
   '';
 
   meta = with lib; {
     description = "A tiny Discord css-injector";
+    changelog = "https://github.com/mlvzk/discocss/releases/tag/v${version}";
     homepage = "https://github.com/mlvzk/discocss";
     license = licenses.mpl20;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/dua/default.nix b/nixpkgs/pkgs/tools/misc/dua/default.nix
index 32c5d3b47457..20288bf3f5e7 100644
--- a/nixpkgs/pkgs/tools/misc/dua/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dua/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.13.0";
+  version = "2.13.1";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "sha256-gJOEMp2Ex9gBsvYOmIKH7WNLQejiJhY8wnw2JYxcUU4=";
+    sha256 = "sha256-6xSRsLM1DD1xMjOGzHMDVLibrJlu9lN9OoSV7B/WMT0=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-cN5rURv1RmesLzwm3ZXyGJXxvFeIbpTb6kWzJSKgX5o=";
+  cargoSha256 = "sha256-udz1EtPchEHxkvvVFnkwSOpFz4XEBGOXRz8qWREyzvc=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix b/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
new file mode 100644
index 000000000000..3edf59002b3d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix
@@ -0,0 +1,20 @@
+{ lib
+, python3
+}:
+
+with python3.pkgs; buildPythonPackage rec {
+  pname = "esphome-dashboard";
+  version = "20210615.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07ammr46bipfi4b7nnjkip5l7966wxqhp5n3g2wqf68m3ymx24s9";
+  };
+
+  meta = with lib; {
+    description = "ESPHome dashboard";
+    homepage = "https://esphome.io/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index fe02fe0d5219..1daf4f139cf6 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -1,4 +1,5 @@
 { lib
+, pkgs
 , python3
 , fetchFromGitHub
 , platformio
@@ -6,15 +7,18 @@
 , git
 }:
 
+let
+  esphome-dashboard = pkgs.callPackage ./dashboard.nix {};
+in
 python3.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vz3d59wfqssfv1kvd4minlxibr0id06xfyg8956w9s3b22jc5vq";
+    sha256 = "07brvpsy40jv30h0a0ywrw4bgwajjd37xznw34s8k53y92qs8lfi";
   };
 
   postPatch = ''
@@ -44,6 +48,7 @@ python3.pkgs.buildPythonApplication rec {
     click
     colorama
     cryptography
+    esphome-dashboard
     ifaddr
     paho-mqtt
     pillow
@@ -66,6 +71,7 @@ python3.pkgs.buildPythonApplication rec {
   checkInputs = with python3.pkgs; [
     hypothesis
     mock
+    pytest-asyncio
     pytest-mock
     pytest-sugar
     pytestCheckHook
@@ -75,6 +81,10 @@ python3.pkgs.buildPythonApplication rec {
     $out/bin/esphome --help > /dev/null
   '';
 
+  passthru = {
+    dashboard = esphome-dashboard;
+  };
+
   meta = with lib; {
     description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
     homepage = "https://esphome.io/";
diff --git a/nixpkgs/pkgs/tools/misc/execline/default.nix b/nixpkgs/pkgs/tools/misc/execline/default.nix
index 705a8a554c18..095e43b9d3ee 100644
--- a/nixpkgs/pkgs/tools/misc/execline/default.nix
+++ b/nixpkgs/pkgs/tools/misc/execline/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "execline";
-  version = "2.8.0.0";
-  sha256 = "0vbn4pdazy6x6213vn42k0khcij5bvkbrcfg7nw6inhf8154nx77";
+  version = "2.8.0.1";
+  sha256 = "1v9swmhw2rcrr9fmkmd7qh8qq0kslhmvxwz2a3bhan9ksabz8wx3";
 
   description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
 
diff --git a/nixpkgs/pkgs/tools/misc/expect/default.nix b/nixpkgs/pkgs/tools/misc/expect/default.nix
index 1315ac8540cb..03e8e260ac6b 100644
--- a/nixpkgs/pkgs/tools/misc/expect/default.nix
+++ b/nixpkgs/pkgs/tools/misc/expect/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, buildPackages, fetchurl, tcl, makeWrapper, autoreconfHook, fetchpatch }:
 
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "expect";
   version = "5.45.4";
 
@@ -20,24 +20,14 @@ stdenv.mkDerivation rec {
     sed -i "s,/bin/stty,$(type -p stty),g" configure.in
   '';
 
-  nativeBuildInputs = [ autoreconfHook makeWrapper tcl ];
-  buildInputs = [ tcl ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper ];
 
   strictDeps = true;
   hardeningDisable = [ "format" ];
 
-  configureFlags = [
-    "--with-tcl=${buildPackages.tcl}/lib"
-    "--with-tclinclude=${tcl}/include"
-    "--exec-prefix=${placeholder "out"}"
-  ];
-
-  postInstall = ''
+  postInstall = lib.optionalString stdenv.isDarwin ''
     for i in $out/bin/*; do
-      wrapProgram $i \
-        --prefix PATH : "${tcl}/bin" \
-        --prefix TCLLIBPATH ' ' $out/lib/* \
-        ${lib.optionalString stdenv.isDarwin "--prefix DYLD_LIBRARY_PATH : $out/lib/expect${version}"}
+      wrapProgram $i --prefix DYLD_LIBRARY_PATH : $out/lib/expect${version}
     done
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/fend/default.nix b/nixpkgs/pkgs/tools/misc/fend/default.nix
index ceaee9746af9..6c4160b06e32 100644
--- a/nixpkgs/pkgs/tools/misc/fend/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fend/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fend";
-  version = "0.1.16";
+  version = "0.1.17";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ITS2wE4vwp0W/nlTyX55cY5E95VIwR46JBzF0pD/xsE=";
+    sha256 = "sha256-Xq2UjeZiKy9BjNQ9xnC7tppEwrEtg8ZN5BVDz1bUOmw=";
   };
 
-  cargoSha256 = "sha256-YqOc/B+ZP1i9xJLrOguQ6fwQr6SV0qvQ3fWwguY2S0I=";
+  cargoSha256 = "sha256-Bf3fYHhpoX05AmTdwwdRU2YRfGVb1EmaGDm75i+Vs2w=";
 
   doInstallCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/misc/flashrom/default.nix b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
index 8fcfa9acb1f8..66a8b213403c 100644
--- a/nixpkgs/pkgs/tools/misc/flashrom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
@@ -7,6 +7,7 @@
 , libftdi1
 , libusb1
 , pciutils
+, installShellFiles
 }:
 
 stdenv.mkDerivation rec {
@@ -18,8 +19,15 @@ stdenv.mkDerivation rec {
     sha256 = "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71";
   };
 
+  # Meson build doesn't build and install manpage. Only Makefile can.
+  # Build manpage from source directory. Here we're inside the ./build subdirectory
+  postInstall = ''
+    make flashrom.8 -C ..
+    installManPage ../flashrom.8
+  '';
+
   mesonFlags = lib.optionals stdenv.isAarch64 [ "-Dpciutils=false" ];
-  nativeBuildInputs = [ meson pkg-config ninja ];
+  nativeBuildInputs = [ meson pkg-config ninja installShellFiles ];
   buildInputs = [ libftdi1 libusb1 pciutils ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
index 89435e769896..5fdd4b72e1e4 100644
--- a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "sha256-n7X6VlNZVsL+Tn9t3L4mTblVjPTKgTMmcRdkDGPXI8U=";
+    sha256 = "sha256-/Mpdi414LNzavh4nUY2pnflyshzwTYv1XK1HmnAHJaQ=";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/nixpkgs/pkgs/tools/misc/freshfetch/default.nix b/nixpkgs/pkgs/tools/misc/freshfetch/default.nix
index 7ed334360358..b9d671f224e2 100644
--- a/nixpkgs/pkgs/tools/misc/freshfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/freshfetch/default.nix
@@ -1,4 +1,14 @@
-{ fetchFromGitHub, fetchurl, lib, rustPlatform }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchurl
+, rustPlatform
+, AppKit
+, CoreFoundation
+, DiskArbitration
+, Foundation
+, IOKit
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "freshfetch";
@@ -22,6 +32,14 @@ rustPlatform.buildRustPackage rec {
   # freshfetch depends on rust nightly features
   RUSTC_BOOTSTRAP = 1;
 
+  buildInputs = lib.optionals stdenv.isDarwin [
+    AppKit
+    CoreFoundation
+    DiskArbitration
+    Foundation
+    IOKit
+  ];
+
   meta = with lib; {
     description = "A fresh take on neofetch";
     homepage = "https://github.com/k4rakara/freshfetch";
diff --git a/nixpkgs/pkgs/tools/misc/fselect/default.nix b/nixpkgs/pkgs/tools/misc/fselect/default.nix
index eaddc8790e94..e877304a2d5f 100644
--- a/nixpkgs/pkgs/tools/misc/fselect/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fselect/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jhspetersson";
     repo = "fselect";
     rev = version;
-    sha256 = "sha256-6/mcGq6qKYmcBcNndYYJB3rnHr6ZVpEcVjJBz7NEJEw=";
+    sha256 = "sha256-uIqkk0aQVPXUWjOWmMTdM28Ihi+mflPpxnXJLFIQYJw=";
   };
 
-  cargoSha256 = "sha256-W6YmFsTlU3LD3tvhLuA/3k/269gR2RLLOo86BQC5x98=";
+  cargoSha256 = "sha256-5LRCLJbLiocB/VDf9MMxyIsERmOvuSAQEe822Dcu2j8=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/nixpkgs/pkgs/tools/misc/fsmon/default.nix b/nixpkgs/pkgs/tools/misc/fsmon/default.nix
index c845c3de8e95..94b209bcd000 100644
--- a/nixpkgs/pkgs/tools/misc/fsmon/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fsmon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fsmon";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "nowsecure";
     repo = "fsmon";
     rev = version;
-    sha256 = "0y0gqb07girhz3r7gn9yrrysvhj5fapdafim0q8n7krk5y23hmh0";
+    sha256 = "sha256-4KF8h+YdCMrF9Yk/9y71WqNjzyoEZnddriDZAdpIaa4=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/g203-led/default.nix b/nixpkgs/pkgs/tools/misc/g203-led/default.nix
new file mode 100644
index 000000000000..7290b57a3236
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/g203-led/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv
+, fetchFromGitHub
+, python3
+}:
+stdenv.mkDerivation rec {
+  pname = "g203-led";
+  version = "unstable-2021-05-08";
+  src = fetchFromGitHub {
+    owner = "smasty";
+    repo = pname;
+    rev = "f9d10ba3aa8f9359f928bbab0a2ea00cefc69f4b";
+    sha256 = "1fhaimci80xmihg84bgrml61zr56pi9rkxfbs13vvw9dwjf031k0";
+  };
+
+  buildInputs = [
+    (python3.withPackages (ps: with ps; [
+      pyusb
+    ]))
+  ];
+
+  postPatch = ''
+    patchShebangs g203-led.py
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D g203-led.py $out/bin/g203-led
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Logitech G203 Prodigy / G203 LightSync Mouse LED control for Linux";
+    longDescription = ''
+      Allows you to control the LED lighting of your G203 Prodigy
+      or G203 LightSync Mouse programmatically.
+      Inspired by and based on g810-led.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ r-burns ];
+    homepage = "https://github.com/smasty/g203-led";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/graylog/default.nix b/nixpkgs/pkgs/tools/misc/graylog/default.nix
index b41cc9cb0699..8d18d654c72f 100644
--- a/nixpkgs/pkgs/tools/misc/graylog/default.nix
+++ b/nixpkgs/pkgs/tools/misc/graylog/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "graylog";
-  version = "3.3.9";
+  version = "4.0.7";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "1wl9j2jgjg5gwcsh92qr5f68wx12nvwadc9xkaa9wwd7x3z825jq";
+    sha256 = "sha256-sZn/ug4oh/SHbICbiQeAmtEIwT3++DBWbT2XBkYGYUc=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/tools/misc/hdf4/darwin-aarch64.patch b/nixpkgs/pkgs/tools/misc/hdf4/darwin-aarch64.patch
new file mode 100644
index 000000000000..cff81e581176
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/hdf4/darwin-aarch64.patch
@@ -0,0 +1,11 @@
+--- a/hdf/src/hdfi.h	2021-06-16 16:31:31.000000000 +1200
++++ b/hdf/src/hdfi.h	2021-06-16 16:42:26.000000000 +1200
+@@ -1343,7 +1343,7 @@
+ #endif /* IA64 */
+ 
+ /* Linux AArch64 */
+-#if defined __aarch64__
++#if defined __aarch64__ && !defined __APPLE__
+ 
+ #ifdef GOT_MACHINE
+ If you get an error on this line more than one machine type has been defined.
diff --git a/nixpkgs/pkgs/tools/misc/hdf4/default.nix b/nixpkgs/pkgs/tools/misc/hdf4/default.nix
index 5373c64d647c..99acda6b7883 100644
--- a/nixpkgs/pkgs/tools/misc/hdf4/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf4/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-aarch64.patch";
       sha256 = "112svcsilk16ybbsi8ywnxfl2p1v44zh3rfn4ijnl8z08vfqrvvs";
     })
+    ./darwin-aarch64.patch
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/infracost/default.nix b/nixpkgs/pkgs/tools/misc/infracost/default.nix
new file mode 100644
index 000000000000..286bc4cbca28
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/infracost/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub, terraform }:
+
+buildGoModule rec {
+  pname = "infracost";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "infracost";
+    rev = "v${version}";
+    repo = "infracost";
+    sha256 = "sha256-3dR4NZ1PiMuHNO+xl3zxeBLPOZTLAbJ0VtYJNYpJuXI=";
+  };
+
+  vendorSha256 = "sha256-YHewZsIiDPsgJVYwQX/FovlD+UzJflXy/0oglk8ZkKk=";
+
+  checkInputs = [ terraform ];
+  checkPhase = "make test";
+
+  meta = with lib; {
+    description = "Cloud cost estimates for Terraform in your CLI and pull requests";
+    homepage = "https://github.com/infracost/infracost";
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.davegallant ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
index d57a48598e02..86d858153746 100644
--- a/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "9.0.0";
+  version = "10.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wfv2fy5ga6kc51zka3pak0hq97csm2l11bz74w3n1hrf5q9nnf8";
+    sha256 = "sha256-SmK4G9AoKGqKGbXucn5AO5DTOeVNq3gCBGvDTIJQgRU=";
   };
 
-  cargoSha256 = "1b6bcqbdkpxgxyfz89d8fhxfxvqc988pa9wxq5fsihnix8bm7jdk";
+  cargoSha256 = "sha256-iY5xT8e/gRN/mBT9v5LhMcl9g1/SyrH/glPBP+toZ9o=";
 
   buildInputs = lib.optional stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/tools/misc/less/default.nix b/nixpkgs/pkgs/tools/misc/less/default.nix
index 157fc6607b07..d63861ace331 100644
--- a/nixpkgs/pkgs/tools/misc/less/default.nix
+++ b/nixpkgs/pkgs/tools/misc/less/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "less";
-  version = "563";
+  version = "581.2";
 
   src = fetchurl {
-    url = "http://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "16lsvk88vwjwp5ax1wnll44wxwnzs8lb2fn90xx2si64kwmnsnyf";
+    url = "https://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0fyqslvrasv19qjvqrwfwz2n7mnm93y61x9bcx09ga90mxyb8d6f";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
 
   meta = with lib; {
-    homepage = "http://www.greenwoodsoftware.com/less/";
+    homepage = "https://www.greenwoodsoftware.com/less/";
     description = "A more advanced file pager than ‘more’";
     platforms = platforms.unix;
     license = licenses.gpl3;
diff --git a/nixpkgs/pkgs/tools/misc/lf/default.nix b/nixpkgs/pkgs/tools/misc/lf/default.nix
index 0d684b16be58..8aa8e9a663b7 100644
--- a/nixpkgs/pkgs/tools/misc/lf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lf";
-  version = "22";
+  version = "24";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "10zmac9xza2v7l13zkavmc34ppcpmb82v8dxvrv4ggm261ns1abr";
+    sha256 = "0nc7vfkaxxl2a201wnbz74an3siz8cjwrfylx17v6al5n93vxip0";
   };
 
-  vendorSha256 = "1yjsig2x6zrxdjnds6nqqq3r3g5lq8g9dvmz60nbifqhcx112bcw";
+  vendorSha256 = "sha256-ujQh4aE++K/fn3PJqkAbTtwRyJPSI9TJQ1DvwLF9etU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -35,6 +35,6 @@ buildGoModule rec {
     changelog = "https://github.com/gokcehan/lf/releases/tag/r${version}";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
index 6f9c07209cf3..a940fba29676 100644
--- a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
+++ b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
@@ -30,7 +30,7 @@ in stdenv.mkDerivation {
     description = "Bitcoin client query library";
     homepage = "https://github.com/libbitcoin/libbitcoin-client";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ chris-martin ];
+    maintainers = with maintainers; [ ];
 
     # AGPL with a lesser clause
     license = licenses.agpl3;
diff --git a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
index dd0ed857314b..7d00e4c09add 100644
--- a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
+++ b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation {
     description = "Bitcoin command line tool";
     homepage = "https://github.com/libbitcoin/libbitcoin-explorer";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ chris-martin asymmetric ];
+    maintainers = with maintainers; [ asymmetric ];
 
     # AGPL with a lesser clause
     license = licenses.agpl3;
diff --git a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix
index 122aed696fc1..b4f91bc936d2 100644
--- a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix
+++ b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation {
     description = "C++ library for building bitcoin applications";
     homepage = "https://libbitcoin.org/";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ chris-martin ];
+    maintainers = with maintainers; [ ];
 
     # AGPL with a lesser clause
     license = licenses.agpl3;
diff --git a/nixpkgs/pkgs/tools/misc/livedl/default.nix b/nixpkgs/pkgs/tools/misc/livedl/default.nix
new file mode 100644
index 000000000000..b989fe27a659
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/livedl/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "livedl";
+  version = "unstable-2021-05-16";
+
+  src = fetchFromGitHub {
+    owner = "himananiito";
+    repo = pname;
+    rev = "a8720f1e358e5b0ade6fdeb8aacc00781e6cc504";
+    sha256 = "1zax215jp6sl47m8ahssyyrbzn96dh74srq9g61jc76sq10xg329";
+  };
+
+  sourceRoot = "source/src";
+
+  vendorSha256 = sha256:g5Y1IH1U1zOOHygTzAJuBnUj+MyPe64KHTYikipt3TY=;
+
+  meta = with lib; {
+    description = "Command-line tool to download nicovideo.jp livestreams";
+    homepage = "https://github.com/himananiito/livedl";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wakira ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix b/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
new file mode 100644
index 000000000000..d74eb84dc340
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/markdown-anki-decks/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "markdown-anki-decks";
+  version = "1.0.0";
+
+  format = "pyproject";
+
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "R6T8KOHMb1Neg/RG5JQl9+7LxOkAoZL0L5wvVaqm9O0=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    genanki
+    typer
+    colorama
+    shellingham
+    beautifulsoup4
+    markdown
+    python-frontmatter
+  ];
+
+  postPatch = ''
+    # No API changes.
+    substituteInPlace pyproject.toml --replace 'python-frontmatter = "^0.5.0"' 'python-frontmatter = "^1.0.0"'
+  '';
+
+  # No tests available on Pypi and there is only a failing version assertion test in the repo.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Simple program to convert markdown files into anki decks";
+    maintainers = with maintainers; [ jtojnar ];
+    homepage = "https://github.com/lukesmurray/markdown-anki-decks";
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix b/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
new file mode 100644
index 000000000000..7e940ee4f77f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/mathpix-snipping-tool/default.nix
@@ -0,0 +1,31 @@
+{ appimageTools, lib, fetchurl }:
+let
+  pname = "mathpix-snipping-tool";
+  version = "03.00.0025";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://download.mathpix.com/linux/Mathpix_Snipping_Tool-x86_64.v${version}.AppImage";
+    sha256 = "0p39rsmjfz3m5s3k9pmmkqbp8f21s1cwjgspz8m47dq5jjls8ay8";
+  };
+
+  appimageContents = appimageTools.extract { inherit name src; };
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "OCR tool to convert pictures to LaTeX.";
+    homepage = "https://mathpix.com/";
+    license = licenses.unfree;
+    maintainers = [ maintainers.hiro98 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/ncdu/default.nix b/nixpkgs/pkgs/tools/misc/ncdu/default.nix
index 3510be4ed775..1237645ebaec 100644
--- a/nixpkgs/pkgs/tools/misc/ncdu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ncdu/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "https://dev.yorhel.nl/ncdu";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pSub zowoq ];
+    maintainers = with maintainers; [ pSub SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/nncp/default.nix b/nixpkgs/pkgs/tools/misc/nncp/default.nix
index dbc709dd41c1..fc02431c768a 100644
--- a/nixpkgs/pkgs/tools/misc/nncp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/nncp/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nncp";
-  version = "6.4.0";
+  version = "6.5.0";
 
   src = fetchurl {
     url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
-    sha256 = "16xrwhr7avss238k83ih1njl0gfca57ghg360ba9ixlssrb1239x";
+    sha256 = "16hbcwwf65h2avgdyya2bk42bmmqnfl1m5v7y23cyp174ykjl794";
   };
 
   nativeBuildInputs = [ go redo-apenwarr ];
diff --git a/nixpkgs/pkgs/tools/misc/pferd/default.nix b/nixpkgs/pkgs/tools/misc/pferd/default.nix
index 38d7355e946d..c964a334553c 100644
--- a/nixpkgs/pkgs/tools/misc/pferd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pferd/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pferd";
-  version = "3.0.1";
+  version = "3.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Garmelon";
     repo = "PFERD";
     rev = "v${version}";
-    sha256 = "1s0z8yajy3n194pnlqb48hy2n5qvhkzwbpksrdyds79vfq0b9rdl";
+    sha256 = "08kcl1c8z8qx65dfz5ghmbfqyjgkng4g9ymcnhydiz8j27smkj5d";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
index 27e228f0f205..c27252cc7069 100644
--- a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "sha256-ow26wuM7nw/WbeaPVcNm5iYUYLydeujhw+7BcTirPcA=";
+    sha256 = "0l3da7migx1gprhlwc98x30qh6lmrn8hizanxgs3hxl0arbrn710";
   };
 
-  vendorSha256 = "sha256-9hYiyZ34atmSL7JvuXyiGU7HR4E6qN7bGZlyU+hP+FU=";
+  vendorSha256 = "0mgq9zl56wlr37dxxa1sh53wfkhrl9ybjvxj5y9djspqkp4j45pn";
 
   subPackages = [ "cmd" ];
 
@@ -25,6 +25,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://pgcenter.org/";
+    changelog = "https://github.com/lesovsky/pgcenter/raw/v${version}/doc/Changelog";
     description = "Command-line admin tool for observing and troubleshooting PostgreSQL";
     license = licenses.bsd3;
     maintainers = [ maintainers.marsam ];
diff --git a/nixpkgs/pkgs/tools/misc/piston-cli/default.nix b/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
index df244063b1b8..ec77007804b9 100644
--- a/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "piston-cli";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "o8GPtSQ119AKB64hAH8VY6iJmhXcSFqjOanmXQl0tHo=";
+    sha256 = "qvDGVJcaMXUajdUQWl4W1dost8k0PsS9XX/o8uQrtfY=";
   };
 
   propagatedBuildInputs = with python3Packages; [ rich prompt_toolkit requests pygments pyyaml ];
diff --git a/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix b/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix
index a8f57bd78c44..7222ac9be7d8 100644
--- a/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/powerline-rs/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "powerline-shell rewritten in Rust, inspired by powerline-go";
     license = licenses.mit;
-    maintainers = with maintainers; [ jD91mZM2 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/remind/default.nix b/nixpkgs/pkgs/tools/misc/remind/default.nix
index 293cc136c8c8..d10811ffa049 100644
--- a/nixpkgs/pkgs/tools/misc/remind/default.nix
+++ b/nixpkgs/pkgs/tools/misc/remind/default.nix
@@ -3,20 +3,18 @@
 , fetchurl
 , tk
 , tcllib
-, makeWrapper
+, tcl
 , tkremind ? true
 }:
 
 let
-  inherit (lib) optional optionalString;
-  tclLibraries = lib.optionals tkremind [ tcllib tk ];
-  tclLibPaths = lib.concatStringsSep " "
-    (map (p: "${p}/lib/${p.libPrefix}") tclLibraries);
+  inherit (lib) optional optionals optionalString;
+  tclLibraries = optionals tkremind [ tcllib tk ];
   tkremindPatch = optionalString tkremind ''
     substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish"
   '';
 in
-stdenv.mkDerivation rec {
+tcl.mkTclDerivation rec {
   pname = "remind";
   version = "03.03.06";
 
@@ -25,7 +23,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-lpoMAXDJxwODY0/aoo25GRBYWFhE4uf11pR5/ITZX1s=";
   };
 
-  nativeBuildInputs = optional tkremind makeWrapper;
   propagatedBuildInputs = tclLibraries;
 
   postPatch = ''
@@ -37,10 +34,6 @@ stdenv.mkDerivation rec {
     ${tkremindPatch}
   '';
 
-  postInstall = optionalString tkremind ''
-    wrapProgram $out/bin/tkremind --set TCLLIBPATH "${tclLibPaths}"
-  '';
-
   meta = with lib; {
     homepage = "https://dianne.skoll.ca/projects/remind/";
     description = "Sophisticated calendar and alarm program for the console";
diff --git a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
index 731f6c48785f..d6f475a408ef 100644
--- a/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -2,13 +2,10 @@
 
 with skawarePackages;
 
-let
+buildPackage {
   pname = "s6-portable-utils";
-
-in buildPackage {
-  pname = pname;
-  version = "2.2.3.1";
-  sha256 = "1ks1ch5v3p2z8y8wp5fmzzgjrqn2l5sj1sgfp8vv6wy8psd8mrj3";
+  version = "2.2.3.2";
+  sha256 = "173nmygkp7ky3093dg4rx3ahvyl7ll86z8qj6pl3jd96xb9s49v6";
 
   description = "A set of tiny general Unix utilities optimized for simplicity and small size";
 
@@ -28,7 +25,7 @@ in buildPackage {
     rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
     rm seekablepipe
 
-    mv doc $doc/share/doc/${pname}/html
+    mv doc $doc/share/doc/s6-portable-utils/html
   '';
 
 
diff --git a/nixpkgs/pkgs/tools/misc/slop/default.nix b/nixpkgs/pkgs/tools/misc/slop/default.nix
index a4a65e37e4e8..a73dd8d3cbe7 100644
--- a/nixpkgs/pkgs/tools/misc/slop/default.nix
+++ b/nixpkgs/pkgs/tools/misc/slop/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Queries a selection from the user and prints to stdout";
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl3Plus;
-    maintainers = with maintainers; [ primeos mbakke ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/starship/default.nix b/nixpkgs/pkgs/tools/misc/starship/default.nix
index 432eab680c83..f5f8f87e9ca9 100644
--- a/nixpkgs/pkgs/tools/misc/starship/default.nix
+++ b/nixpkgs/pkgs/tools/misc/starship/default.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.54.0";
+  version = "0.55.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8vrLvP8NevVpmqxqJHsySGXRTDX45c8FrfB7W7fdQvg=";
+    sha256 = "sha256-zXXjy90oxLO/Ac/TQC4J6rOvha2qGBMv0SAAXvDyITo=";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "sha256-lIZsYhyef9LsGME01Kb5TGamGpLyZiPrdIb+jUqvbOg=";
+  cargoSha256 = "sha256-TXmV1saqZ/XS4HxKpGXWu3HuoZ3WIptSc8oTNnPCqYE=";
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
index 1d78759761d6..0e91b9c0e562 100644
--- a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
@@ -4,22 +4,23 @@
 let
 
   inherit (python3Packages)
-    python nose cryptography pyyaml requests mock python-dateutil setuptools;
+    python pytest nose cryptography pyyaml requests mock python-dateutil setuptools;
 
 in stdenv.mkDerivation rec {
   pname = "svtplay-dl";
-  version = "3.7";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "0krskxbmlglkipqzjwgm2nmq118m8l0djgh0f8l6n2w3bjblhyfx";
+    sha256 = "01q03v6a2rkw49z5nbm5mghm0qmmm12pq3amsiiiv5j6m9p0fdsy";
   };
 
   pythonPaths = [ cryptography pyyaml requests ];
-  buildInputs = [ python perl nose mock python-dateutil setuptools ] ++ pythonPaths;
+  buildInputs = [ python perl mock python-dateutil setuptools ] ++ pythonPaths;
   nativeBuildInputs = [ gitMinimal zip makeWrapper ];
+  checkInputs = [ nose pytest ];
 
   postPatch = ''
     substituteInPlace scripts/run-tests.sh \
diff --git a/nixpkgs/pkgs/tools/misc/termplay/default.nix b/nixpkgs/pkgs/tools/misc/termplay/default.nix
index 5db3998409e6..80c6341f0253 100644
--- a/nixpkgs/pkgs/tools/misc/termplay/default.nix
+++ b/nixpkgs/pkgs/tools/misc/termplay/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     description = "Play an image/video in your terminal";
     homepage = "https://jd91mzm2.github.io/termplay/";
     license = licenses.mit;
-    maintainers = with maintainers; [ jD91mZM2 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/tfk8s/default.nix b/nixpkgs/pkgs/tools/misc/tfk8s/default.nix
index ebe1f056f4e2..e6fc7bf3f7fe 100644
--- a/nixpkgs/pkgs/tools/misc/tfk8s/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tfk8s/default.nix
@@ -2,13 +2,14 @@
 
 buildGoModule rec {
   pname = "tfk8s";
-  version = "0.1.3";
+  version = "0.1.4";
+  tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "jrhouston";
     repo = "tfk8s";
-    rev = "v${version}";
-    sha256 = "sha256-3iI5gYfpkxfVylBgniaMeQ73uR8dAjVrdg/eBLRxUR4";
+    rev = tag;
+    sha256 = "sha256-Ha/F8rCGZqFYqJzfemmKRyEBI5khaSIerJxvf2Pf2ao=";
   };
 
   vendorSha256 = "sha256-wS5diDQFkt8IAp13d8Yeh8ihLvKWdR0Mbw0fMZpqqKE=";
@@ -18,12 +19,19 @@ buildGoModule rec {
     "-ldflags="
     "-s"
     "-w"
-    "-X main.toolVersion=${version}"
+    "-X main.toolVersion=${tag}"
     "-X main.builtBy=nixpkgs"
   ];
 
+  doCheck = true;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/tfk8s --version | grep ${tag} > /dev/null
+  '';
+
   meta = with lib; {
-    description = "An utility to convert Kubernetes YAML manifests to Terraform's HCL format.";
+    description = "An utility to convert Kubernetes YAML manifests to Terraform's HCL format";
     license = licenses.mit;
     longDescription = ''
       tfk8s is a tool that makes it easier to work with the Terraform Kubernetes Provider.
diff --git a/nixpkgs/pkgs/tools/misc/thefuck/default.nix b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
index ff6a22cef8eb..7ede307a86fb 100644
--- a/nixpkgs/pkgs/tools/misc/thefuck/default.nix
+++ b/nixpkgs/pkgs/tools/misc/thefuck/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "thefuck";
-  version = "3.30";
+  version = "3.31";
 
   src = fetchFromGitHub {
     owner = "nvbn";
     repo = pname;
     rev = version;
-    sha256 = "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg";
+    sha256 = "sha256-eKKUUJr00sUtT4u91MUgJjyPOXp3NigYVfYUP/sDBhY=";
   };
 
   propagatedBuildInputs = [ colorama decorator psutil pyte six ];
diff --git a/nixpkgs/pkgs/tools/misc/tmux/default.nix b/nixpkgs/pkgs/tools/misc/tmux/default.nix
index 629cf548c26b..c76912e3c909 100644
--- a/nixpkgs/pkgs/tools/misc/tmux/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmux/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , autoreconfHook
 , pkg-config
 , bison
@@ -21,7 +20,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "3.2";
+  version = "3.2a";
 
   outputs = [ "out" "man" ];
 
@@ -29,18 +28,9 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "0alq81h1rz1f0zsy8qb2dvsl47axpa86j4bplngwkph0ksqqgr3p";
+    sha256 = "0143ylfk7zsl3xmiasb768238gr582cfhsgv3p0h0f13bp8d6q09";
   };
 
-  patches = [
-    # Fix cross-compilation
-    # https://github.com/tmux/tmux/pull/2651
-    (fetchpatch {
-      url = "https://github.com/tmux/tmux/commit/bb6242675ad0c7447daef148fffced882e5b4a61.patch";
-      sha256 = "1acr3xv3gqpq7qa2f8hw7c4f42hi444lfm1bz6wqj8f3yi320zjr";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
diff --git a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
index 3a525ac94972..ff218eb10844 100644
--- a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.21.5.22";
+  version = "0.21.6.10.1";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    sha256 = "0c1q13fyh9gi9gbxc55n772xlgjjr1ysnlxl41vifdcd4q8fhil8";
+    sha256 = "0mhpzf3vmd876aldl5gazmk4si0zvrh0v1rwsz2hbrn0571zmzy9";
   };
 
   propagatedBuildInputs = [ python3Packages.psutil ];
diff --git a/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix b/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix
index d001db4d3cb0..96b82a8a20a2 100644
--- a/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/usbmuxd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "usbmuxd";
-  version = "1.1.1";
+  version = "unstable-2021-05-08";
 
   src = fetchFromGitHub {
     owner = "libimobiledevice";
     repo = pname;
-    rev = version;
-    sha256 = "0a2xgrb4b3ndam448z74wh1267nmrz1wcbpx4xz86pwbdc93snab";
+    rev = "5e484e18f1383b5a0bd6c353ab1d668b03e4ffab";
+    sha256 = "sha256-hhbfRmLEhVVuJNnw65PakPnvjSCrN3oSMK6D7Zwnw60=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
index 161c28054b0b..e8c3ed7cbe9e 100644
--- a/nixpkgs/pkgs/tools/misc/vector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -2,41 +2,57 @@
 , lib
 , fetchFromGitHub
 , rustPlatform
-, openssl
 , pkg-config
+, llvmPackages
+, openssl
 , protobuf
+, rdkafka
+, oniguruma
+, zstd
 , Security
 , libiconv
-, rdkafka
-, tzdata
 , coreutils
 , CoreServices
-, features ? ([ "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
-    ++ (lib.optional stdenv.targetPlatform.isUnix "unix")
-    ++ [ "sinks" "sources" "transforms" ])
+, tzdata
+  # kafka is optional but one of the most used features
+, enableKafka ? true
+  # TODO investigate adding "api" "api-client" "vrl-cli" and various "vendor-*"
+  # "disk-buffer" is using leveldb TODO: investigate how useful
+  # it would be, perhaps only for massive scale?
+, features ? ([ "sinks" "sources" "transforms" ]
+    # the second feature flag is passed to the rdkafka dependency
+    # building on linux fails without this feature flag (both x86_64 and AArch64)
+    ++ (lib.optionals enableKafka [ "rdkafka-plain" "rdkafka/dynamic_linking" ])
+    ++ (lib.optional stdenv.targetPlatform.isUnix "unix"))
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vector";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "timberio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ige0138alZ0KAmPakPVmDVydz5qco6m0xK7AEzScyXc=";
+    sha256 = "sha256-wtihrR19jMJ7Kgvy6XBzOUrC/WKNVl2MVx4lWgXYlvg=";
   };
 
-  cargoSha256 = "sha256-oK4M6zTfI0QVW9kQTgpP/vSxFt2VlRABmKvQ4aAqC74=";
+  cargoSha256 = "sha256-VYIzAqh5Xxmn1koxhh+UDb2G3WS2UVXffuBY7h5Kr7A=";
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl protobuf rdkafka ]
+  buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
     ++ lib.optional stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
 
   # needed for internal protobuf c wrapper library
   PROTOC = "${protobuf}/bin/protoc";
   PROTOC_INCLUDE = "${protobuf}/include";
+  RUSTONIG_SYSTEM_LIBONIG = true;
+  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
 
   cargoBuildFlags = [ "--no-default-features" "--features" (lib.concatStringsSep "," features) ];
+  # TODO investigate compilation failure for tests
+  # dev dependency includes httpmock which depends on iashc which depends on curl-sys with http2 feature enabled
+  # compilation fails because of a missing http2 include
+  doCheck = !stdenv.isDarwin;
   checkPhase = "TZDIR=${tzdata}/share/zoneinfo cargo test --no-default-features --features ${lib.concatStringsSep "," features} -- --test-threads 1";
 
   # recent overhauls of DNS support in 0.9 mean that we try to resolve
diff --git a/nixpkgs/pkgs/tools/misc/vivid/default.nix b/nixpkgs/pkgs/tools/misc/vivid/default.nix
index ef7bd00f0e1e..d0a6114316fc 100644
--- a/nixpkgs/pkgs/tools/misc/vivid/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vivid/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0m928hy2q8byfpm55nziiz86gcnhdnw3zpj78d8wx0pp318zjbla";
+    sha256 = "sha256-2rdNjpJrBuj6toLFzFJScNh6od5qUhkSaZF+NbPBlQA=";
   };
 
-  cargoSha256 = "1sn1cq3kaswnz2z9q5h84qipp64ha7jv5kix31lm7v6nam0f5awz";
+  cargoSha256 = "sha256-1aox1eiF3hu5guBjRcM3qb6mHJOutI+yargW7X4cFfg=";
 
   meta = with lib; {
     description = "A generator for LS_COLORS with support for multiple color themes";
diff --git a/nixpkgs/pkgs/tools/misc/vsh/default.nix b/nixpkgs/pkgs/tools/misc/vsh/default.nix
index a94c58368a4f..13a3df4d6b94 100644
--- a/nixpkgs/pkgs/tools/misc/vsh/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vsh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vsh";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "fishi0x01";
     repo = "vsh";
     rev = "v${version}";
-    sha256 = "0dhn2aqd52fgasy4j3ar67fzwzcxfi1vl09kni8jwcna8rjgg3fj";
+    sha256 = "059zzsg94287sxlk5clz6in7jscqaq530c84xqgy537f6cq3vr2p";
   };
 
   # vendor directory is part of repository
diff --git a/nixpkgs/pkgs/tools/misc/yafetch/default.nix b/nixpkgs/pkgs/tools/misc/yafetch/default.nix
index c3bea1d9e8c5..8dad93d0debb 100644
--- a/nixpkgs/pkgs/tools/misc/yafetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yafetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yafetch";
-  version = "unstable-2021-06-01";
+  version = "unstable-2021-06-15";
 
   src = fetchFromGitLab {
     owner = "cyberkitty";
     repo = pname;
-    rev = "d9bbc1e4abca87028f898473c9a265161af3c287";
-    sha256 = "0hyb5k7drnm9li720z1fdvz7b15xgf7n6yajnz1j98day3k88bqk";
+    rev = "423a7d1f1ef8f0e4caf586710828620d3cb593e3";
+    sha256 = "184yy7i8ca2fh6d1rxyhxi9gqb57fpz7ia0i56dl1zhg769m8b99";
   };
 
   # Use the provided NixOS logo automatically
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/cyberkitty/yafetch";
     description = "Yet another fetch clone written in C++";
     license = licenses.gpl2Only;
-    maintainers = [ maintainers.ivar ];
+    maintainers = with maintainers; [ ivar ashley ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/ytmdl/default.nix b/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
new file mode 100644
index 000000000000..0827168d60ce
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
@@ -0,0 +1,48 @@
+{ lib, fetchFromGitHub, buildPythonApplication, ffmpeg, ffmpeg-python, musicbrainzngs, rich, simber, pydes, youtube-search, unidecode, pyxdg, downloader-cli, beautifulsoup4, itunespy, mutagen, pysocks, youtube-dl }:
+
+buildPythonApplication rec {
+  pname = "ytmdl";
+  version = "2021.05.26";
+
+  src = fetchFromGitHub {
+    owner = "deepjyoti30";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-AYBhPmv1/cOaMh44kqm7JpJSudHbfriiJztcGL5mbEk=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4"
+  '';
+
+
+  propagatedBuildInputs = [
+    ffmpeg
+    ffmpeg-python
+    musicbrainzngs
+    rich
+    simber
+    pydes
+    youtube-search
+    unidecode
+    pyxdg
+    downloader-cli
+    beautifulsoup4
+    itunespy
+    mutagen
+    pysocks
+    youtube-dl
+  ];
+
+  # This application has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/deepjyoti30/ytmdl";
+    description = "YouTube Music Downloader";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ j0hax ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
index 12b3aa0f05f6..ed4f76fa6270 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
@@ -3,11 +3,11 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "4.0.1";
+  version = "4.0.3";
 
   srcs = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    hash = "sha256-OxbKo5vwOBabU6/2hO4RMWiifo4IVIxz+DlcwP9xO/E=";
+    hash = "sha256-p7tv/bj6PMCnCU5j8Vhi60LxLiPmR1Cuf8xVdDVtZvQ=";
   };
 
   propagatedBuildInputs =
diff --git a/nixpkgs/pkgs/tools/misc/zoxide/default.nix b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
index 30b9c4969005..a28cf27ab1a1 100644
--- a/nixpkgs/pkgs/tools/misc/zoxide/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "0.7.0";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "sha256-yunKyCjJ/vWUcsodweLmxv0+QJQI2i5u5VIzp2U+VyU=";
+    sha256 = "sha256-M83J28aG4NACBZtCJzYNU7aYNTJILAboaDv5aAo35OM=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -28,10 +28,14 @@ rustPlatform.buildRustPackage rec {
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "sha256-eoal6z4wX1pNdAJfdamJgOSFCvGWdbVlq1X+vD9lraE=";
+  cargoSha256 = "sha256-aF0vdudOFBcDrHpgsS7+HNE70GTNPdBOmbvQhLwmsM0=";
 
   postInstall = ''
     installManPage man/*
+    installShellCompletion --cmd zoxide \
+      --bash contrib/completions/zoxide.bash \
+      --fish contrib/completions/zoxide.fish \
+      --zsh contrib/completions/_zoxide
   '';
 
   meta = with lib; {