summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2021-06-22 00:58:31 +0200
committerGitHub <noreply@github.com>2021-06-22 00:58:31 +0200
commiteef9694ebcb768345657b80e9d31bfc8e4be5190 (patch)
tree459d10fae562984e52085fd7ffbf5ec2f8322216 /pkgs/tools
parent449df5db04c51df006dc0c7fd877f95e6dbf4b88 (diff)
parent9332bcad1813a87d7cd51e94dd9fd4a4aa11093c (diff)
downloadnixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.tar
nixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.tar.gz
nixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.tar.bz2
nixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.tar.lz
nixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.tar.xz
nixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.tar.zst
nixpkgs-eef9694ebcb768345657b80e9d31bfc8e4be5190.zip
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/admin/eksctl/default.nix4
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/fioctl/default.nix4
-rw-r--r--pkgs/tools/audio/tts/default.nix14
-rw-r--r--pkgs/tools/audio/yabridge/default.nix12
-rw-r--r--pkgs/tools/audio/yabridgectl/default.nix3
-rw-r--r--pkgs/tools/backup/duply/default.nix4
-rw-r--r--pkgs/tools/graphics/goverlay/default.nix108
-rw-r--r--pkgs/tools/graphics/goverlay/find-xdg-data-files.patch40
-rw-r--r--pkgs/tools/graphics/maim/default.nix9
-rw-r--r--pkgs/tools/graphics/mangohud/default.nix56
-rw-r--r--pkgs/tools/graphics/mangohud/hardcode-dependencies.patch12
-rw-r--r--pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch2
-rw-r--r--pkgs/tools/misc/clipbuzz/default.nix31
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/livedl/default.nix25
-rw-r--r--pkgs/tools/misc/pgcenter/default.nix7
-rw-r--r--pkgs/tools/misc/piston-cli/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/ytmdl/default.nix48
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix4
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/package-management/protontricks/steam-run.patch30
-rw-r--r--pkgs/tools/security/agebox/default.nix27
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/ripasso/cursive.nix22
-rw-r--r--pkgs/tools/security/ripasso/fix-tests.patch77
-rw-r--r--pkgs/tools/security/truecrack/default.nix40
-rw-r--r--pkgs/tools/system/netdata/default.nix6
-rw-r--r--pkgs/tools/text/pn/default.nix24
-rw-r--r--pkgs/tools/wayland/clipman/default.nix6
31 files changed, 526 insertions, 115 deletions
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index f3a8a9d4cf6..32049fd11b6 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.53.0";
+  version = "0.54.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CWoRkx3OPlIeyUuGCyaGTlJ0zgcgsxlebSG0Zljr0zg=";
+    sha256 = "sha256-hWrSjkEdhb0F5lwFGwjkR2G6gQ8T8HommH2lxJE+0bk=";
   };
 
   vendorSha256 = "sha256-499c3Y9IUV8lc+O9qcEeFKQDT4QDvOPmu0rmps7M47w=";
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 53b60bf2ce7..d6b264a4aa3 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.32.1";
+  version = "1.32.2";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-S18SVSyFpIWkzQiRBY7i1siIPRiRR/SHAse3NJzwR3A=";
+    sha256 = "sha256-Yx+GA959AB6m62hDlZKYjsuT9Y9TJbIdzUVBMM8OgTg=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/admin/fioctl/default.nix b/pkgs/tools/admin/fioctl/default.nix
index 0e0c977acd0..068d87a3bfd 100644
--- a/pkgs/tools/admin/fioctl/default.nix
+++ b/pkgs/tools/admin/fioctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fioctl";
-  version = "0.17";
+  version = "0.18";
 
   src = fetchFromGitHub {
     owner = "foundriesio";
     repo = "fioctl";
     rev = "v${version}";
-    sha256 = "sha256-u23BQ/sRAfUO36uqv7xY+DkseDnlVesgamsgne8N8kU=";
+    sha256 = "sha256-uqJ08ftaU39gmhDtl+noVtGscu6utcl42rXz4XaGtWc=";
   };
 
   vendorSha256 = "sha256-6a+JMj3hh6GPuqnLknv7/uR8vsUsOgsS+pdxHoMqH5w=";
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index 51976a2d6a1..0e57e19a288 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -12,20 +12,20 @@
 #
 # If you upgrade from an old version you may have to delete old models from ~/.local/share/tts
 # Also note that your tts version might not support all available models so check:
-#   https://github.com/coqui-ai/TTS/releases/tag/v0.0.14
+#   https://github.com/coqui-ai/TTS/releases/tag/v0.0.15.1
 #
 # For now, for deployment check the systemd unit in the pull request:
 #   https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
 
 python3Packages.buildPythonApplication rec {
   pname = "tts";
-  version = "0.0.14";
+  version = "0.0.15.1";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "TTS";
     rev = "v${version}";
-    sha256 = "0cl0ri90mx0y19fmqww73lp5nv6qkpc45rm4157i7p6q6llajdhp";
+    sha256 = "0z6sbzspgmw5ja8r2zysyhdk4jzlv88a0ihkvxvvwxslkyncdb89";
   };
 
   postPatch = ''
@@ -41,6 +41,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
+    anyascii
     coqpit
     flask
     gdown
@@ -48,6 +49,7 @@ python3Packages.buildPythonApplication rec {
     jieba
     librosa
     matplotlib
+    mecab-python3
     numba
     pandas
     pypinyin
@@ -56,9 +58,10 @@ python3Packages.buildPythonApplication rec {
     scipy
     soundfile
     tensorboardx
+    tensorflow
     tqdm
     umap-learn
-    unidecode
+    unidic-lite
   ];
 
   postInstall = ''
@@ -100,16 +103,15 @@ python3Packages.buildPythonApplication rec {
 
   disabledTestPaths = [
     # requires tensorflow
-    "tests/test_tacotron2_tf_model.py"
     "tests/vocoder_tests/test_vocoder_tf_pqmf.py"
     "tests/vocoder_tests/test_vocoder_tf_melgan_generator.py"
+    "tests/tts_tests/test_tacotron2_tf_model.py"
     # RuntimeError: fft: ATen not compiled with MKL support
     "tests/vocoder_tests/test_fullband_melgan_train.py"
     "tests/vocoder_tests/test_hifigan_train.py"
     "tests/vocoder_tests/test_melgan_train.py"
     "tests/vocoder_tests/test_multiband_melgan_train.py"
     "tests/vocoder_tests/test_parallel_wavegan_train.py"
-
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix
index 0013fac23a0..cbe35765cb4 100644
--- a/pkgs/tools/audio/yabridge/default.nix
+++ b/pkgs/tools/audio/yabridge/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , meson
 , ninja
@@ -58,14 +57,14 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "yabridge";
-  version = "3.2.0";
+  version = "3.3.1";
 
   # NOTE: Also update yabridgectl's cargoHash when this is updated
   src = fetchFromGitHub {
     owner = "robbert-vdh";
     repo = pname;
     rev = version;
-    hash = "sha256-UT6st0Rc6HOaObE3N+qlPZZ8U1gl/MFLU0mjFuScdes=";
+    hash = "sha256-3B+6YuCWVJljqdyGpePjPf5JDwLSWFNgOCeLt8e4mO8=";
   };
 
   # Unpack subproject sources
@@ -80,13 +79,6 @@ in stdenv.mkDerivation rec {
   )'';
 
   patches = [
-    # Fix for wine 6.8+ (remove patch in next release):
-    (fetchpatch {
-      url = "https://github.com/robbert-vdh/yabridge/commit/5577c4bfd842c60a8ae8ce2889bbfeb53a51c62b.patch";
-      sha256 = "sha256-bTT08iWwDBVqi2PZPa7oal7/MqVu8t2Bh1gpjFMqLvQ=";
-      excludes = [ "CHANGELOG.md" ];
-    })
-
     # Hard code wine path so wine version is correct in logs
     (substituteAll {
       src = ./hardcode-wine.patch;
diff --git a/pkgs/tools/audio/yabridgectl/default.nix b/pkgs/tools/audio/yabridgectl/default.nix
index 4f738310d85..bf0913372be 100644
--- a/pkgs/tools/audio/yabridgectl/default.nix
+++ b/pkgs/tools/audio/yabridgectl/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
 
   src = yabridge.src;
   sourceRoot = "source/tools/yabridgectl";
-  cargoHash = "sha256-cB4Xp8pNLQRcPQ6HtVkDkLbfNSmM9yl+oRcEzcqrmkY=";
+  cargoHash = "sha256-f5k5OF+bEzH0b6M14Mdp8t4Qd5dP5Qj2fDsdiG1MkYk=";
 
   patches = [
     # By default, yabridgectl locates libyabridge.so by using
@@ -34,5 +34,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/robbert-vdh/yabridge/tree/master/tools/yabridgectl";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kira-bruneau ];
+    platforms = yabridge.meta.platforms;
   };
 }
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 82d6bd5c601..49ac6452918 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "duply";
-  version = "2.3";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.3.x/duply_${version}.tgz";
-    sha256 = "sha256-I1KkblFnZVOCvcWEarGsSXnzlod2+yZ4okaTpckLFbE=";
+    sha256 = "149hb9bk7hm5h3aqf19k37d0i2jf0viaqmpq2997i48qp3agji7h";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/graphics/goverlay/default.nix b/pkgs/tools/graphics/goverlay/default.nix
new file mode 100644
index 00000000000..43d711588f8
--- /dev/null
+++ b/pkgs/tools/graphics/goverlay/default.nix
@@ -0,0 +1,108 @@
+{ lib
+, writeScriptBin
+, bash
+, stdenv
+, fetchFromGitHub
+, fpc
+, lazarus-qt
+, qt5
+, libX11
+, libqt5pas
+, coreutils
+, git
+, gnugrep
+, libnotify
+, mesa-demos
+, polkit
+, procps
+, systemd
+, vulkan-tools
+, which
+}:
+
+let
+  # Finds data files using the XDG Base Directory Specification
+  # See https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
+  find-xdg-data-files = writeScriptBin "find-xdg-data-files" ''
+    #!${bash}/bin/sh
+    IFS=:
+    for xdg_data_dir in ''${XDG_DATA_HOME:-$HOME/.local/share}:''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}; do
+      if [ -f "$xdg_data_dir/$1" ]; then
+        echo "$xdg_data_dir/$1"
+      fi
+    done
+  '';
+in stdenv.mkDerivation rec {
+  pname = "goverlay";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "benjamimgois";
+    repo = pname;
+    rev = version;
+    hash = "sha256-Zl1pq2MeGJsPdNlwUEpov5MHlsr9pSMkWHVprt8ImKs=";
+  };
+
+  outputs = [ "out" "man" ];
+
+  patches = [
+    # Find MangoHud & vkBasalt Vulkan layers using the XDG Base Directory Specification
+    ./find-xdg-data-files.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'prefix = /usr/local' "prefix = $out"
+
+    substituteInPlace overlayunit.pas \
+      --replace '/usr/share/icons/hicolor/128x128/apps/goverlay.png' "$out/share/icons/hicolor/128x128/apps/goverlay.png"
+  '';
+
+  nativeBuildInputs = [
+    fpc
+    lazarus-qt
+    qt5.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    libX11
+    libqt5pas
+  ];
+
+  NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
+
+  buildPhase = ''
+    runHook preBuild
+    HOME=$(mktemp -d) lazbuild --lazarusdir=${lazarus-qt}/share/lazarus -B goverlay.lpi
+    runHook postBuild
+  '';
+
+  qtWrapperArgs = [
+    "--prefix PATH : ${lib.makeBinPath [
+      bash
+      coreutils
+      find-xdg-data-files
+      git
+      gnugrep
+      libnotify
+      mesa-demos
+      polkit
+      procps
+      systemd
+      vulkan-tools
+      which
+    ]}"
+
+    # Force xcb since libqt5pas doesn't support Wayland
+    # See https://github.com/benjamimgois/goverlay/issues/107
+    "--set QT_QPA_PLATFORM xcb"
+  ];
+
+  meta = with lib; {
+    description = "An opensource project that aims to create a Graphical UI to help manage Linux overlays";
+    homepage = "https://github.com/benjamimgois/goverlay";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ kira-bruneau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch b/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
new file mode 100644
index 00000000000..862e4c3903c
--- /dev/null
+++ b/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
@@ -0,0 +1,40 @@
+diff --git a/overlayunit.pas b/overlayunit.pas
+index 59f6a81..a096543 100644
+--- a/overlayunit.pas
++++ b/overlayunit.pas
+@@ -4871,7 +4871,7 @@ begin
+    //Determine Mangohud dependency status
+ 
+           //locate MangoHud and store result in tmp folder
+-          RunCommand('bash -c ''find /usr/share/vulkan/implicit_layer.d/MangoHud.json >> /tmp/goverlay/dependency_mangohud''', s);
++          RunCommand('bash -c ''find-xdg-data-files vulkan/implicit_layer.d/MangoHud.json >> /tmp/goverlay/dependency_mangohud''', s);
+ 
+           // Assign Text file dependency_mangohud to variable mangohudVAR
+           AssignFile(mangohudVAR, '/tmp/goverlay/dependency_mangohud');
+@@ -4880,7 +4880,7 @@ begin
+           CloseFile(mangohudVAR);
+ 
+           // Read String and store value on mangohuddependencyVALUE based on result
+-          if mangohudSTR = '/usr/share/vulkan/implicit_layer.d/MangoHud.json' then
++          if mangohudSTR <> '' then
+           mangohuddependencyVALUE := 1
+           else
+           mangohuddependencyVALUE := 0;
+@@ -4889,7 +4889,7 @@ begin
+    //Determine vkBasalt dependency staus
+ 
+            //locate vkBasalt and store result in tmp folder
+-           RunCommand('bash -c ''find /usr/share/vulkan/implicit_layer.d/vkBasalt.json >> /tmp/goverlay/dependency_vkbasalt''', s);
++           RunCommand('bash -c ''find-xdg-data-files vulkan/implicit_layer.d/vkBasalt.json >> /tmp/goverlay/dependency_vkbasalt''', s);
+ 
+            // Assign Text file dependency_mangohud to variable mangohudVAR
+            AssignFile(vkbasaltVAR, '/tmp/goverlay/dependency_vkbasalt');
+@@ -4898,7 +4898,7 @@ begin
+            CloseFile(vkbasaltVAR);
+ 
+            // Read String and store value on vkbasaltdependencyVALUE based on result
+-           if vkbasaltSTR = '/usr/share/vulkan/implicit_layer.d/vkBasalt.json' then
++           if vkbasaltSTR <> '' then
+            vkbasaltdependencyVALUE := 1
+            else
+            vkbasaltdependencyVALUE := 0;
diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix
index 12db00af0dd..f4851c6bcab 100644
--- a/pkgs/tools/graphics/maim/default.nix
+++ b/pkgs/tools/graphics/maim/default.nix
@@ -1,22 +1,21 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config
-, zlib, libpng, libjpeg, libGLU, libGL, glm
+, zlib, libpng, libjpeg, libwebp, libGLU, libGL, glm
 , libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu
 }:
 
 stdenv.mkDerivation rec {
   pname = "maim";
-  version = "5.6.3";
+  version = "5.7.4";
 
   src = fetchFromGitHub {
     owner = "naelstrof";
     repo = "maim";
     rev = "v${version}";
-    sha256 = "181mjjrjb9fs1ficcv9miqbk94v95j1yli7fjp2dj514g7nj9l3x";
+    sha256 = "sha256-uFtiwaM3H09vfvz3wVvumbqkoZhLNJxONkMqqqrJBs4=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs =
-    [ zlib libpng libjpeg libGLU libGL glm
+  buildInputs = [ zlib libpng libjpeg libwebp libGLU libGL glm
       libX11 libXext libXfixes libXrandr libXcomposite slop icu ];
 
   doCheck = false;
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix
index 91022eff31d..c73a95057c5 100644
--- a/pkgs/tools/graphics/mangohud/default.nix
+++ b/pkgs/tools/graphics/mangohud/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
+, fetchurl
 , substituteAll
 , coreutils
 , curl
@@ -9,7 +9,7 @@
 , glxinfo
 , gnugrep
 , gnused
-, pciutils
+, lsof
 , xdg-utils
 , dbus
 , hwdata
@@ -22,30 +22,50 @@
 , ninja
 , pkg-config
 , python3Packages
+, unzip
 , vulkan-loader
 , libXNVCtrl
+, wayland
+, addOpenGLRunpath
 }:
 
-stdenv.mkDerivation rec {
+let
+  # Derived from subprojects/imgui.wrap
+  imgui = rec {
+    version = "1.81";
+    src = fetchFromGitHub {
+      owner = "ocornut";
+      repo = "imgui";
+      rev = "v${version}";
+      hash = "sha256-rRkayXk3xz758v6vlMSaUu5fui6NR8Md3njhDB0gJ18=";
+    };
+    patch = fetchurl {
+      url = "https://wrapdb.mesonbuild.com/v2/imgui_${version}-1/get_patch";
+      hash = "sha256-bQC0QmkLalxdj4mDEdqvvOFtNwz2T1MpTDuMXGYeQ18=";
+    };
+  };
+in stdenv.mkDerivation rec {
   pname = "mangohud";
-  version = "0.6.1";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "flightlessmango";
     repo = "MangoHud";
     rev = "v${version}";
-    sha256 = "1bzfp37qrx9kk5zaq7sfisgkyccwnxd7i3b1l0blfcy2lrxgx0n6";
+    sha256 = "wL+/wAqvVFph1QzuXPBbSEFjs33VA0S6euNWr/1J1Mk=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # Adds option to specify Vulkan's datadir when it's not the same as MangoHud's
-    # See https://github.com/flightlessmango/MangoHud/pull/522
-    (fetchpatch {
-      url = "https://github.com/flightlessmango/MangoHud/commit/56682985d8cec711af7ad0841888a44099249b1b.patch";
-      sha256 = "0l5vb374lfgfh54jiy4097bzsccpv4zsl1fdhn55sxggklymcad8";
-    })
+  outputs = [ "out" "doc" "man" ];
 
+  # Unpack subproject sources
+  postUnpack = ''(
+    cd "$sourceRoot/subprojects"
+    cp -R --no-preserve=mode,ownership ${imgui.src} imgui-${imgui.version}
+    unzip ${imgui.patch}
+  )'';
+
+  patches = [
     # Hard code dependencies. Can't use makeWrapper since the Vulkan
     # layer can be used without the mangohud executable by setting MANGOHUD=1.
     (substituteAll {
@@ -58,7 +78,7 @@ stdenv.mkDerivation rec {
         glxinfo
         gnugrep
         gnused
-        pciutils
+        lsof
         xdg-utils
       ];
 
@@ -82,6 +102,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Duse_system_vulkan=enabled"
     "-Dvulkan_datadir=${vulkan-headers}/share"
+    "-Dwith_wayland=enabled"
   ];
 
   nativeBuildInputs = [
@@ -92,6 +113,7 @@ stdenv.mkDerivation rec {
     pkg-config
     python3Packages.Mako
     python3Packages.python
+    unzip
     vulkan-loader
   ];
 
@@ -99,6 +121,7 @@ stdenv.mkDerivation rec {
     dbus
     libX11
     libXNVCtrl
+    wayland
   ];
 
   # Support 32bit Vulkan applications by linking in 32bit Vulkan layer
@@ -108,11 +131,12 @@ stdenv.mkDerivation rec {
       "$out/share/vulkan/implicit_layer.d/MangoHud.x86.json"
   '';
 
-  # Support overlaying Vulkan applications without requiring mangohud to be installed
+  # Support Nvidia cards by adding OpenGL path and support overlaying
+  # Vulkan applications without requiring MangoHud to be installed
   postFixup = ''
     wrapProgram "$out/bin/mangohud" \
-      --prefix VK_LAYER_PATH : "$out/share/vulkan/implicit_layer.d" \
-      --prefix VK_INSTANCE_LAYERS : VK_LAYER_MANGOHUD_overlay
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ addOpenGLRunpath.driverLink ]} \
+      --prefix XDG_DATA_DIRS : "$out/share"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
index bdebcdca982..2ee5e2dd547 100644
--- a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
+++ b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
@@ -1,9 +1,9 @@
 diff --git a/src/dbus.cpp b/src/dbus.cpp
-index 0acccc3..7dd7c49 100644
+index 44ffafc..9baf57b 100644
 --- a/src/dbus.cpp
 +++ b/src/dbus.cpp
-@@ -157,7 +157,7 @@ bool dbus_manager::init(const std::string& requested_player) {
-         m_requested_player = "org.mpris.MediaPlayer2." + requested_player;
+@@ -162,7 +162,7 @@ bool dbus_manager::init(const std::string& requested_player) {
+         return true;
      }
  
 -    if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("libdbus-1.so.3")) {
@@ -22,11 +22,11 @@ index 25c65bf..87488d5 100644
 -std::shared_ptr<libx11_loader> g_x11(new libx11_loader("libX11.so.6"));
 +std::shared_ptr<libx11_loader> g_x11(new libx11_loader("@libX11@/lib/libX11.so.6"));
 diff --git a/src/logging.cpp b/src/logging.cpp
-index f2c4271..d33e793 100644
+index ee8600b..c7c91a0 100644
 --- a/src/logging.cpp
 +++ b/src/logging.cpp
-@@ -17,7 +17,10 @@ string exec(string command) {
-    string result = "";
+@@ -19,7 +19,10 @@ string exec(string command) {
+ #ifdef __gnu_linux__
  
     // Open pipe to file
 +   char* originalPath = getenv("PATH");
diff --git a/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch b/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch
index 3c0f6908617..4c6561180a1 100644
--- a/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch
+++ b/pkgs/tools/graphics/mangohud/opengl32-nix-workaround.patch
@@ -1,5 +1,5 @@
 diff --git a/bin/mangohud.in b/bin/mangohud.in
-index eadce2d..e7b1aa4 100755
+index 8ec21de..f65304a 100755
 --- a/bin/mangohud.in
 +++ b/bin/mangohud.in
 @@ -23,6 +23,6 @@ fi
diff --git a/pkgs/tools/misc/clipbuzz/default.nix b/pkgs/tools/misc/clipbuzz/default.nix
new file mode 100644
index 00000000000..aaa37ad7c18
--- /dev/null
+++ b/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/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index 89435e76989..5fdd4b72e1e 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.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/pkgs/tools/misc/livedl/default.nix b/pkgs/tools/misc/livedl/default.nix
new file mode 100644
index 00000000000..b989fe27a65
--- /dev/null
+++ b/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/pkgs/tools/misc/pgcenter/default.nix b/pkgs/tools/misc/pgcenter/default.nix
index 27e228f0f20..c27252cc706 100644
--- a/pkgs/tools/misc/pgcenter/default.nix
+++ b/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/pkgs/tools/misc/piston-cli/default.nix b/pkgs/tools/misc/piston-cli/default.nix
index df244063b1b..ec77007804b 100644
--- a/pkgs/tools/misc/piston-cli/default.nix
+++ b/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/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 432eab680c8..f5f8f87e9ca 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/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/pkgs/tools/misc/ytmdl/default.nix b/pkgs/tools/misc/ytmdl/default.nix
new file mode 100644
index 00000000000..0827168d60c
--- /dev/null
+++ b/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/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 5da02aa771b..7a421aaeebf 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -3,13 +3,13 @@
 
 gcc9Stdenv.mkDerivation rec {
   pname = "libdnf";
-  version = "0.63.0";
+  version = "0.63.1";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+D1KosfeoEzRgAE6WheO0Vo/1oq7+1tWPa7rRemyZYo=";
+    sha256 = "sha256-SwkqFSAl99fQoXT96BPRqKFqJg3HEziiT+jXcugPyxM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index db76c9913f6..cbe10e85f66 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    hash = "sha256-SrBPqGRIsP0+ZWDe96sqjqCpJoY3Sn3VoPpMw7ellC0=";
+    hash = "sha256-Vmxb8SjPhcSqFzykHRPsLtAoSwomN+se+icwHkucbX8=";
   };
 
   patches = [
diff --git a/pkgs/tools/package-management/protontricks/steam-run.patch b/pkgs/tools/package-management/protontricks/steam-run.patch
index 76b7b7f6036..82ddec1abb8 100644
--- a/pkgs/tools/package-management/protontricks/steam-run.patch
+++ b/pkgs/tools/package-management/protontricks/steam-run.patch
@@ -69,7 +69,7 @@ index cc65a03..5c3fc7a 100755
              # Pass the command directly into the shell *without*
              # escaping it
 diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
-index f9fb9ec..e1e588a 100644
+index 4ab778b..f3f5f99 100644
 --- a/src/protontricks/steam.py
 +++ b/src/protontricks/steam.py
 @@ -12,8 +12,8 @@ from .util import lower_dict
@@ -81,9 +81,9 @@ index f9fb9ec..e1e588a 100644
 +    "get_appinfo_sections", "get_proton_appid",
 +    "find_steam_proton_app", "find_appid_proton_prefix",
      "find_proton_app", "get_steam_lib_paths", "get_compat_tool_dirs",
-     "get_proton_installations", "get_custom_proton_installations",
+     "get_custom_proton_installations_in_dir", "get_custom_proton_installations",
      "find_current_steamid3", "get_appid_from_shortcut",
-@@ -286,37 +286,6 @@ def find_steam_path():
+@@ -300,37 +300,6 @@ def find_steam_path():
      return None, None
  
  
@@ -122,7 +122,7 @@ index f9fb9ec..e1e588a 100644
  APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
  
 diff --git a/src/protontricks/util.py b/src/protontricks/util.py
-index 2abda99..3a25368 100644
+index b6617de..85f8b2d 100644
 --- a/src/protontricks/util.py
 +++ b/src/protontricks/util.py
 @@ -4,15 +4,14 @@ import shlex
@@ -146,8 +146,8 @@ index 2abda99..3a25368 100644
  )
  
  logger = logging.getLogger("protontricks")
-@@ -39,24 +38,6 @@ def lower_dict(d):
-     return {k.lower(): v for k, v in d.items()}
+@@ -46,24 +45,6 @@ def lower_dict(d):
+     return {k.lower(): _lower_value(v) for k, v in d.items()}
  
  
 -def get_legacy_runtime_library_paths(legacy_steam_runtime_path, proton_app):
@@ -171,7 +171,7 @@ index 2abda99..3a25368 100644
  def get_host_library_paths():
      """
      Get host library paths to use when creating the LD_LIBRARY_PATH environment
-@@ -68,7 +49,7 @@ def get_host_library_paths():
+@@ -75,7 +56,7 @@ def get_host_library_paths():
      # Since that command is unavailable with newer Steam Runtime releases,
      # do it ourselves here.
      result = run(
@@ -180,7 +180,7 @@ index 2abda99..3a25368 100644
          check=True, stdout=PIPE, stderr=PIPE
      )
      lines = result.stdout.decode("utf-8").split("\n")
-@@ -86,7 +67,7 @@ RUNTIME_ROOT_GLOB_PATTERNS = (
+@@ -93,7 +74,7 @@ RUNTIME_ROOT_GLOB_PATTERNS = (
  )
  
  
@@ -189,7 +189,7 @@ index 2abda99..3a25368 100644
      """
      Get LD_LIBRARY_PATH value to use when running a command using Steam Runtime
      """
-@@ -109,7 +90,7 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
+@@ -116,7 +97,7 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
              )
          )
  
@@ -198,7 +198,7 @@ index 2abda99..3a25368 100644
          return "".join([
              str(proton_app.proton_dist_path / "lib"), os.pathsep,
              str(proton_app.proton_dist_path / "lib64"), os.pathsep
-@@ -125,14 +106,19 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
+@@ -132,14 +113,19 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
      ])
  
  
@@ -225,7 +225,7 @@ index 2abda99..3a25368 100644
  # Helper script created by Protontricks to run Wine binaries using Steam Runtime
  set -o errexit
  
-@@ -200,7 +186,10 @@ if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" ]]; then
+@@ -207,7 +193,10 @@ if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" ]]; then
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PROTON_LD_LIBRARY_PATH"
    "$PROTON_DIST_PATH"/bin/{name} "$@"
  else
@@ -237,7 +237,7 @@ index 2abda99..3a25368 100644
    "${{mount_params[@]}}" -- \
    env PROTONTRICKS_INSIDE_STEAM_RUNTIME=1 \
    "$PROTONTRICKS_PROXY_SCRIPT_PATH" "$@"
-@@ -266,7 +255,6 @@ def create_wine_bin_dir(proton_app, use_bwrap=True):
+@@ -273,7 +262,6 @@ def create_wine_bin_dir(proton_app, use_bwrap=True):
  def run_command(
          winetricks_path, proton_app, steam_app, command,
          use_steam_runtime=False,
@@ -245,7 +245,7 @@ index 2abda99..3a25368 100644
          use_bwrap=True,
          **kwargs):
      """Run an arbitrary command with the correct environment variables
-@@ -343,7 +331,7 @@ def run_command(
+@@ -350,7 +338,7 @@ def run_command(
              os.environ["STEAM_RUNTIME_PATH"] = \
                  str(proton_app.required_tool_app.install_path)
              os.environ["PROTON_LD_LIBRARY_PATH"] = \
@@ -254,7 +254,7 @@ index 2abda99..3a25368 100644
  
              runtime_name = proton_app.required_tool_app.name
              logger.info(
-@@ -366,11 +354,8 @@ def run_command(
+@@ -373,11 +361,8 @@ def run_command(
                      "Current Steam Runtime not recognized by Protontricks."
                  )
          else:
@@ -267,7 +267,7 @@ index 2abda99..3a25368 100644
  
          # When Steam Runtime is enabled, create a set of helper scripts
          # that load the underlying Proton Wine executables with Steam Runtime
-@@ -378,8 +363,6 @@ def run_command(
+@@ -385,8 +370,6 @@ def run_command(
          wine_bin_dir = create_wine_bin_dir(
              proton_app=proton_app, use_bwrap=use_bwrap
          )
diff --git a/pkgs/tools/security/agebox/default.nix b/pkgs/tools/security/agebox/default.nix
new file mode 100644
index 00000000000..29199870c7f
--- /dev/null
+++ b/pkgs/tools/security/agebox/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "agebox";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "slok";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zn7jibhw5jd9wp1alx9ahj4szaig4a54ci3676kk5zqxr2hjz0c";
+  };
+  vendorSha256 = "0bc2pwz3yhzwqi0bcwqkkkrglg473qxhmz5s5955fvgajvjk7drn";
+
+  ldflags = [
+    "-s" "-w"
+    "-X main.Version=${version}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/slok/agebox";
+    changelog = "https://github.com/slok/agebox/releases/tag/v${version}";
+    description = "Age based repository file encryption gitops tool";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lesuisse ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 922b6c3f2ba..d5d698088e6 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-06-18";
+  version = "2021-06-19";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "0b91r7bl3abg3mb7vg4qnk319jy7civ583la0054xhpg0c0svyk1";
+    sha256 = "1qhznaq06plbkld4al3whrfvfpqgpwaxgwzdkyndvh40yn4sh1fz";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/ripasso/cursive.nix b/pkgs/tools/security/ripasso/cursive.nix
index cc2765bd707..1a4b1de1b1f 100644
--- a/pkgs/tools/security/ripasso/cursive.nix
+++ b/pkgs/tools/security/ripasso/cursive.nix
@@ -1,32 +1,34 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpgerror, gpgme, xorg, AppKit, Security }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpgerror, gpgme, xorg, AppKit, Security, installShellFiles }:
 
 with rustPlatform;
 buildRustPackage rec {
-  version = "0.4.0";
+  version = "0.5.1";
   pname = "ripasso-cursive";
 
   src = fetchFromGitHub {
     owner = "cortex";
     repo = "ripasso";
     rev  = "release-${version}";
-    sha256 = "164da20j727p8l7hh37j2r8pai9sj402nhswvg0nrlgj53nr6083";
+    sha256 = "1jx6qv7skikl1ap3g1r34rkz4ab756kra7dgwwv45vl2fb6x74k4";
   };
 
   patches = [ ./fix-tests.patch ];
 
-  cargoSha256 = "1sv5czhrafk15yj5xyd1x9jdqn1dz6aqpxxnyz49icx53qlg9f8g";
+  cargoSha256 = "1li1gmcs7lnjr4qhzs0rrgngdcxy1paiibjwk9zx2rrs71021cgk";
 
-  cargoBuildFlags = [ "-p ripasso-cursive -p ripasso-man" ];
+  cargoBuildFlags = [ "-p ripasso-cursive" ];
 
-  nativeBuildInputs = [ pkg-config gpgme python3 ];
+  nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles ];
   buildInputs = [
     ncurses openssl libgpgerror gpgme xorg.libxcb
   ] ++ lib.optionals stdenv.isDarwin [ AppKit Security ];
 
-  preFixup = ''
-    mkdir -p "$out/man/man1"
-    $out/bin/ripasso-man > $out/man/man1/ripasso-cursive.1
-    rm $out/bin/ripasso-man
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  postInstall = ''
+    installManPage target/man-page/cursive/ripasso-cursive.1
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/security/ripasso/fix-tests.patch b/pkgs/tools/security/ripasso/fix-tests.patch
index 433ff933b1f..85b1714e5c2 100644
--- a/pkgs/tools/security/ripasso/fix-tests.patch
+++ b/pkgs/tools/security/ripasso/fix-tests.patch
@@ -1,35 +1,82 @@
-diff --git a/src/pass/test.rs b/src/pass/test.rs
-index c980a2f..2e6c8cc 100644
 --- a/src/pass/test.rs
-+++ b/src/pass/test.rs
-@@ -56,6 +56,7 @@ fn populate_password_list_small_repo() {
++++ a/src/pass/test.rs
+@@ -83,6 +83,7 @@
      base_path.pop();
      base_path.pop();
      base_path.pop();
 +    base_path.pop();
      base_path.push("testres");
  
-     let mut password_dir: PathBuf = base_path.clone();
-@@ -84,6 +85,7 @@ fn populate_password_list_repo_with_deleted_files() {
+     let home: PathBuf = base_path.clone();
+@@ -114,6 +115,7 @@
      base_path.pop();
      base_path.pop();
      base_path.pop();
 +    base_path.pop();
      base_path.push("testres");
  
-     let mut password_dir: PathBuf = base_path.clone();
-@@ -112,6 +114,7 @@ fn populate_password_list_directory_without_git() {
+     let home: PathBuf = base_path.clone();
+@@ -144,6 +146,7 @@
      base_path.pop();
      base_path.pop();
      base_path.pop();
 +    base_path.pop();
      base_path.push("testres");
  
-     let mut password_dir: PathBuf = base_path.clone();
-@@ -149,4 +152,4 @@ fn parse_signing_keys_empty() {
-     let result = PasswordStore::parse_signing_keys(&None).unwrap();
+     let home: PathBuf = base_path.clone();
+@@ -185,6 +188,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.push("testres");
+ 
+     let home: PathBuf = base_path.clone();
+@@ -220,6 +224,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.push("testres");
+ 
+     let home: PathBuf = base_path.clone();
+@@ -267,6 +272,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.push("testres");
+ 
+     let home: PathBuf = base_path.clone();
+@@ -298,6 +304,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.push("testres");
+ 
+     let home: PathBuf = base_path.clone();
+@@ -337,6 +344,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.push("testres");
+ 
+     let home: PathBuf = base_path.clone();
+@@ -828,6 +836,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.push("testres");
+ 
+     let home: PathBuf = base_path.clone();
+@@ -860,6 +869,7 @@
+     base_path.pop();
+     base_path.pop();
+     base_path.pop();
++    base_path.pop();
+     base_path.pop();
+     base_path.push("testres");
  
-     assert_eq!(result.len(), 0);
--}
-\ No newline at end of file
-+}
diff --git a/pkgs/tools/security/truecrack/default.nix b/pkgs/tools/security/truecrack/default.nix
new file mode 100644
index 00000000000..cf64b234c66
--- /dev/null
+++ b/pkgs/tools/security/truecrack/default.nix
@@ -0,0 +1,40 @@
+{ lib, gccStdenv, fetchFromGitLab, cudatoolkit
+, cudaSupport ? false
+, pkg-config }:
+
+gccStdenv.mkDerivation rec {
+  pname = "truecrack";
+  version = "3.6";
+
+  src = fetchFromGitLab {
+    owner = "kalilinux";
+    repo = "packages/truecrack";
+    rev = "debian/${version}+git20150326-0kali1";
+    sha256 = "+Rw9SfaQtO1AJO6UVVDMCo8DT0dYEbv7zX8SI+pHCRQ=";
+  };
+
+  configureFlags = (if cudaSupport then [
+    "--with-cuda=${cudatoolkit}"
+  ] else [
+    "--enable-cpu"
+  ]);
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = lib.optionals cudaSupport [
+    cudatoolkit
+  ];
+
+  installFlags = [ "prefix=$(out)" ];
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "TrueCrack is a brute-force password cracker for TrueCrypt volumes. It works on Linux and it is optimized for Nvidia Cuda technology.";
+    homepage = "https://gitlab.com/kalilinux/packages/truecrack";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ethancedwards8 ];
+  };
+}
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index e00c2bfafb3..673d29d61aa 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, callPackage, fetchFromGitHub, autoreconfHook, pkg-config
+{ lib, stdenv, callPackage, fetchFromGitHub, autoreconfHook, pkg-config, makeWrapper
 , CoreFoundation, IOKit, libossp_uuid
 , nixosTests
 , curl, libcap, libuuid, lm_sensors, zlib
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
   buildInputs = [ curl.dev zlib.dev ]
     ++ optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ]
     ++ optionals (!stdenv.isDarwin) [ libcap.dev libuuid.dev ]
@@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
   ];
 
   postFixup = ''
-    rm -r $out/sbin
+    wrapProgram $out/bin/netdata-claim.sh --prefix PATH : ${lib.makeBinPath [ openssl ]}
   '';
 
   passthru.tests.netdata = nixosTests.netdata;
diff --git a/pkgs/tools/text/pn/default.nix b/pkgs/tools/text/pn/default.nix
new file mode 100644
index 00000000000..81e4c1eb358
--- /dev/null
+++ b/pkgs/tools/text/pn/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libphonenumber, icu, protobuf }:
+
+stdenv.mkDerivation rec {
+  pname = "pn";
+  version = "unstable-2021-01-28";
+
+  src = fetchFromGitHub {
+    owner = "Orange-OpenSource";
+    repo = pname;
+    rev = "41e1215397129ed0d42b5f137fb35b5e0648edda";
+    sha256 = "1g8r7y230k01ghraa55g1bhz3fiz6bjdgcsddy2dfa5ih8c4s3jm";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libphonenumber icu protobuf ];
+
+  meta = with lib; {
+    description = "A libphonenumber command-line wrapper";
+    homepage = "https://github.com/Orange-OpenSource/pn";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/pkgs/tools/wayland/clipman/default.nix b/pkgs/tools/wayland/clipman/default.nix
index 3a2c2ca6015..d5ed6ae88ff 100644
--- a/pkgs/tools/wayland/clipman/default.nix
+++ b/pkgs/tools/wayland/clipman/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "clipman";
-  version = "1.5.2";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "yory8";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lf5fbzplyc1mpdqgfwbrn8m5568vhjf48580fvvfgbhz6zcil8n";
+    sha256 = "sha256-Yq71nYNL3bFvwhVzrQ1g8n7/4tMmLuYUJ9pMBmxL8e8=";
   };
 
-  vendorSha256 = "18jw4z0lcrh00yjr3qdkgvlrpfwqbsm0ncz7fp1h72pzkh41byv7";
+  vendorSha256 = "sha256-Z/sVCJz/igPDdeczC6pemLub6X6z4ZGlBwBmRsEnXKI=";
 
   doCheck = false;