about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix8
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix12
-rw-r--r--pkgs/development/tools/analysis/rr/zen_workaround.nix2
-rw-r--r--pkgs/development/tools/analysis/sparse/default.nix2
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix2
-rw-r--r--pkgs/development/tools/changie/default.nix6
-rw-r--r--pkgs/development/tools/codeowners/default.nix6
-rw-r--r--pkgs/development/tools/codespell/default.nix57
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/drone/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix6
-rw-r--r--pkgs/development/tools/cotton/default.nix25
-rw-r--r--pkgs/development/tools/ctlptl/default.nix11
-rw-r--r--pkgs/development/tools/cucumber/Gemfile.lock57
-rw-r--r--pkgs/development/tools/cucumber/gemset.nix108
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix6
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix8
-rw-r--r--pkgs/development/tools/database/pyrseas/default.nix36
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/flyway/default.nix4
-rw-r--r--pkgs/development/tools/godot/default.nix2
-rw-r--r--pkgs/development/tools/godot/export-templates.nix2
-rw-r--r--pkgs/development/tools/godot/headless.nix2
-rw-r--r--pkgs/development/tools/godot/server.nix2
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/guile/guile-hall/default.nix48
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--pkgs/development/tools/jsonnet-language-server/default.nix6
-rw-r--r--pkgs/development/tools/konstraint/default.nix6
-rw-r--r--pkgs/development/tools/libsigrokdecode/default.nix4
-rw-r--r--pkgs/development/tools/millet/default.nix6
-rw-r--r--pkgs/development/tools/misc/bashdb/default.nix2
-rw-r--r--pkgs/development/tools/misc/deheader/default.nix68
-rw-r--r--pkgs/development/tools/misc/hound/default.nix6
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix37
-rw-r--r--pkgs/development/tools/misc/pahole/default.nix2
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix5
-rw-r--r--pkgs/development/tools/misc/pkg-config/default.nix4
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix2
-rw-r--r--pkgs/development/tools/mutmut/default.nix37
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix7
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix4
-rw-r--r--pkgs/development/tools/okteto/default.nix4
-rw-r--r--pkgs/development/tools/packer/default.nix6
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix10
-rw-r--r--pkgs/development/tools/protoc-gen-validate/default.nix6
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-pgx/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-public-api/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-release/default.nix18
-rw-r--r--pkgs/development/tools/rust/cargo-show-asm/default.nix25
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/spicy/default.nix18
-rw-r--r--pkgs/development/tools/spicy/deps.nix56
-rw-r--r--pkgs/development/tools/summon/default.nix2
-rw-r--r--pkgs/development/tools/tokio-console/default.nix17
-rw-r--r--pkgs/development/tools/wrangler_1/default.nix6
62 files changed, 570 insertions, 270 deletions
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 4cf5bc4b93f69..147fb131b1853 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.190.0";
+  version = "0.190.1";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-/MxV1nbOwqW1SKaKhWFpdg6PuQflmqRgF76/JPuegRg=";
+    sha256 = "sha256-mDNzqNKXQ3H25y+T/E3yooPPhgA5Pz1q/Tm24l5bWK8=";
   };
 
   makeFlags = [ "FLOW_RELEASE=1" ];
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 63594300e835d..905e78fd76554 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -97,10 +97,10 @@ stdenv.mkDerivation rec {
     zlib
     openssl
     libuv
-  ] ++ lib.optional useX11 [ gtkdialog vte gtk2 ]
-    ++ lib.optional rubyBindings [ ruby ]
-    ++ lib.optional pythonBindings [ python3 ]
-    ++ lib.optional luaBindings [ lua ];
+  ] ++ lib.optionals useX11 [ gtkdialog vte gtk2 ]
+    ++ lib.optionals rubyBindings [ ruby ]
+    ++ lib.optionals pythonBindings [ python3 ]
+    ++ lib.optionals luaBindings [ lua ];
 
   propagatedBuildInputs = [
     # radare2 exposes r_lib which depends on these libraries
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 733bd2f969c7c..e9437d718cf7a 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkg-config, python3Packages, which, procps, gdb, capnproto }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, cmake, libpfm, zlib, pkg-config, python3Packages, which, procps, gdb, capnproto
+}:
 
 stdenv.mkDerivation rec {
   version = "5.6.0";
@@ -11,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "H39HPkAQGubXVQV3jCpH4Pz+7Q9n03PrS70utk7Tt2k=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-flexible-array-member.patch";
+      url = "https://github.com/rr-debugger/rr/commit/2979c60ef8bbf7c940afd90172ddc5d8863f766e.diff";
+      sha256 = "cmdCJetQr3ELPOyWl37h1fGfG/xvaiJpywxIAnqb5YY=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace src/Command.cc --replace '_BSD_SOURCE' '_DEFAULT_SOURCE'
     sed '7i#include <math.h>' -i src/Scheduler.cc
diff --git a/pkgs/development/tools/analysis/rr/zen_workaround.nix b/pkgs/development/tools/analysis/rr/zen_workaround.nix
index 193e70d0d95dc..3ec69aabf8d2c 100644
--- a/pkgs/development/tools/analysis/rr/zen_workaround.nix
+++ b/pkgs/development/tools/analysis/rr/zen_workaround.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   postConfigure = ''
     makeFlags="$makeFlags M=$(pwd)"
   '';
-  buildFlags = "modules";
+  buildFlags = [ "modules" ];
 
   installPhase = let
     modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel"; #TODO: longer path?
diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix
index ecc57a58b4b2b..7842954cde6a7 100644
--- a/pkgs/development/tools/analysis/sparse/default.nix
+++ b/pkgs/development/tools/analysis/sparse/default.nix
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ gtk3 libxml2 llvm perl sqlite ];
   doCheck = true;
-  buildFlags = "GCC_BASE:=${GCC_BASE}";
+  buildFlags = [ "GCC_BASE:=${GCC_BASE}" ];
 
   passthru.tests = {
     simple-execution = callPackage ./tests.nix { };
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 1011cacd3661c..18a2e1a145c2e 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-u2k812oGePSxhWkU2iXzIRnZFfnECXPV5Ocq9jwywb4=";
+    sha256 = "sha256-stfHkQqgxlPJ6qMGZ+oCcp5M6GuL71GC8PE08lL8Fig=";
   };
 
-  vendorSha256 = "sha256-W9dKOxyLIplCQVOJGMvdSsaOFfUkCiS615NVzQFR+DM=";
+  vendorSha256 = "sha256-Ced/3KY78wBSo02sbowV8eI1tHe+a6g9DnRQ3AXp8fU=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index ec67bcd691edd..537653ea9b75c 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -150,6 +150,6 @@ stdenv.mkDerivation rec {
     homepage = "https://code.dlang.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ ThomasMader ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/development/tools/changie/default.nix b/pkgs/development/tools/changie/default.nix
index e2a9bed25099e..0f5fccd797a8d 100644
--- a/pkgs/development/tools/changie/default.nix
+++ b/pkgs/development/tools/changie/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "changie";
-  version = "1.9.1";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "miniscruff";
     repo = pname;
-    sha256 = "sha256-3AGz84z0YmDiLxlbDO0f9ny75hyLB4fnYQSICElJVK4=";
+    sha256 = "sha256-8wcnbmS3T/rPKEN3zpo9ysaEIjgbPN50Jp9URpkRaUI=";
   };
 
-  vendorSha256 = "sha256-9Cpyemq/f62rVMvGwOtgDGd9XllvICXL2dqNwUoFQmg=";
+  vendorSha256 = "sha256-Ddw4YnOFURZxwqRBX9e1YGMO9E3hUNAoLTVcSJuaCU0=";
 
   patches = [ ./skip-flaky-test.patch ];
 
diff --git a/pkgs/development/tools/codeowners/default.nix b/pkgs/development/tools/codeowners/default.nix
index 6e656c08184d7..a7ab92c0228ab 100644
--- a/pkgs/development/tools/codeowners/default.nix
+++ b/pkgs/development/tools/codeowners/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "codeowners";
-  version = "0.4.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "hmarr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-YhGBg7CP5usSyP3ksX3/54M9gCokK2No/fYANUTdJw0=";
+    hash = "sha256-4/e+EnRI2YfSx10mU7oOZ3JVE4TNEFwD2YJv+C0qBhI=";
   };
 
-  vendorSha256 = "sha256-no1x+g5MThhWw4eTfP33zoY8TyUtkt60FKsV2hTnYUU=";
+  vendorSha256 = "sha256-UMLM9grPSmx3nAh1/y7YhMWk12/JcT75/LQvjnLfCyE=";
 
   meta = with lib; {
     description = "A CLI and Go library for Github's CODEOWNERS file";
diff --git a/pkgs/development/tools/codespell/default.nix b/pkgs/development/tools/codespell/default.nix
new file mode 100644
index 0000000000000..87fab56778cab
--- /dev/null
+++ b/pkgs/development/tools/codespell/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, fetchFromGitHub
+, aspellDicts
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "codespell";
+  version = "2.2.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "codespell-project";
+    repo = "codespell";
+    rev = "v${version}";
+    sha256 = "sha256-zXHqaZzGIS7BOFc/kPzA4sgpoEmXuaKHdOcKpMWWeOI=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=codespell_lib" "" \
+      --replace "--cov-report=" ""
+  '';
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
+
+  checkInputs = with python3.pkgs; [
+    aspell-python
+    chardet
+    pytestCheckHook
+    pytest-dependency
+  ];
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  preCheck = ''
+    export ASPELL_CONF="dict-dir ${aspellDicts.en}/lib/aspell"
+  '';
+
+  disabledTests = [
+    # tries to run not fully installed script
+    "test_command"
+    # error 'dateset' should not be in aspell dictionaries (en, en_GB, en_US, en_CA, en_AU) for dictionary /build/source/codespell_lib/tests/../data/dictionary.txt
+    "test_dictionary_formatting"
+  ];
+
+  pythonImportsCheck = [ "codespell_lib" ];
+
+  meta = with lib; {
+    description = "Fix common misspellings in source code";
+    homepage = "https://github.com/codespell-project/codespell";
+    license = with licenses; [ gpl2Only cc-by-sa-30 ];
+    maintainers = with maintainers; [ johnazoidberg SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index 34cd4c5d618a0..82d0359de9643 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.87.2";
+  version = "0.89.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xw9eqaToasONmkld2EeiykuuVaMG77eGIsx6YDmXKKM=";
+    sha256 = "sha256-MsuLMEbOz68RNq0kLicTslSiucdmcOn7Y6Nhbxwyt+Q=";
   };
 
-  vendorSha256 = "sha256-HX4seTtO5DWeR1PqXnYKIKq1/wP6/ppTclDpkQSzgbM=";
+  vendorSha256 = "sha256-Llq6siZn34sHsZFneT+MLXf2W9cXqi4DZwrH1R5laOY=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/development/tools/continuous-integration/drone/default.nix b/pkgs/development/tools/continuous-integration/drone/default.nix
index 4beef373eeabd..6816ee3931a66 100644
--- a/pkgs/development/tools/continuous-integration/drone/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "drone.io${lib.optionalString (!enableUnfree) "-oss"}";
-  version = "2.13.0";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "harness";
     repo = "drone";
     rev = "v${version}";
-    sha256 = "sha256-2NezH7+hsOz+r+gong2CxXVjtxRyIKkA0G6OGoJcGFk=";
+    sha256 = "sha256-8G7Xy4bKBybw5waL/AqqYZ6FKBlnzp7b6PAwixydTEg=";
   };
 
   vendorSha256 = "sha256-6/wbxQ+Cv0lOlBqi8NUQQ8Z21w27betfeX/NiNDpOjA=";
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index d55ea9ae52ab5..9e3e663118275 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
 
 let
-  version = "15.4.0";
+  version = "15.5.0";
 in
 buildGoModule rec {
   inherit version;
@@ -17,13 +17,13 @@ buildGoModule rec {
   # For patchShebangs
   buildInputs = [ bash ];
 
-  vendorSha256 = "sha256-S0x1b2ITtqMoqdssoTgnolDC6Tyq3IdkJqxwZ29qCyU=";
+  vendorSha256 = "sha256-IcsYH1V3b5IUY2JqOADJrc4lkng1GS7lndfHObRQbxU=";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "sha256-zItzg5r0V+m68c5aIJLMKsTKgmkgWrQD9t0cx5Lcaho=";
+    sha256 = "sha256-WdrvVmuYyFAMwUDEANOjXiPoQ8rvXbcQz5mBlWUL54k=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/cotton/default.nix b/pkgs/development/tools/cotton/default.nix
new file mode 100644
index 0000000000000..34cf19d40fddb
--- /dev/null
+++ b/pkgs/development/tools/cotton/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cotton";
+  version = "unstable-2022-10-04";
+
+  src = fetchFromGitHub {
+    owner = "danielhuang";
+    repo = pname;
+    rev = "30f3aa7ec6792f3e2dbafc9f4b009b1a6eadc755";
+    sha256 = "sha256-jq5aW6dViHTxh2btP5smtcyUSZ1EoMrQVN7K8zs1jJM=";
+  };
+
+  cargoSha256 = "sha256-qpV3UriOidIk/0di9d8RjXvjcjgD6dXqg7wLAywI66o=";
+
+  meta = with lib; {
+    description = "A package manager for JavaScript projects";
+    homepage = "https://github.com/danielhuang/cotton";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dit7ya ];
+  };
+}
diff --git a/pkgs/development/tools/ctlptl/default.nix b/pkgs/development/tools/ctlptl/default.nix
index 569ba12d4923d..fff37d7f2b87d 100644
--- a/pkgs/development/tools/ctlptl/default.nix
+++ b/pkgs/development/tools/ctlptl/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "ctlptl";
@@ -13,12 +13,21 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-M9B/rfMBjYJb9szmYPVZqURlcv62qHOLJ3ka0v++z0s=";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   ldflags = [
     "-s"
     "-w"
     "-X main.version=${version}"
   ];
 
+  postInstall = ''
+    installShellCompletion --cmd ctlptl \
+      --bash <($out/bin/ctlptl completion bash) \
+      --fish <($out/bin/ctlptl completion fish) \
+      --zsh <($out/bin/ctlptl completion zsh)
+  '';
+
   meta = with lib; {
     description = "CLI for declaratively setting up local Kubernetes clusters";
     homepage = "https://github.com/tilt-dev/ctlptl";
diff --git a/pkgs/development/tools/cucumber/Gemfile.lock b/pkgs/development/tools/cucumber/Gemfile.lock
index 82a972144938f..cad9810973f55 100644
--- a/pkgs/development/tools/cucumber/Gemfile.lock
+++ b/pkgs/development/tools/cucumber/Gemfile.lock
@@ -1,28 +1,39 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    backports (3.14.0)
-    builder (3.2.3)
-    cucumber (3.1.2)
-      builder (>= 2.1.2)
-      cucumber-core (~> 3.2.0)
-      cucumber-expressions (~> 6.0.1)
-      cucumber-wire (~> 0.0.1)
-      diff-lcs (~> 1.3)
-      gherkin (~> 5.1.0)
-      multi_json (>= 1.7.5, < 2.0)
-      multi_test (>= 0.1.2)
-    cucumber-core (3.2.1)
-      backports (>= 3.8.0)
-      cucumber-tag_expressions (~> 1.1.0)
-      gherkin (~> 5.0)
-    cucumber-expressions (6.0.1)
-    cucumber-tag_expressions (1.1.1)
-    cucumber-wire (0.0.1)
-    diff-lcs (1.3)
-    gherkin (5.1.0)
-    multi_json (1.13.1)
-    multi_test (0.1.2)
+    builder (3.2.4)
+    cucumber (8.0.0)
+      builder (~> 3.2, >= 3.2.4)
+      cucumber-ci-environment (~> 9.0, >= 9.0.4)
+      cucumber-core (~> 11.0, >= 11.0.0)
+      cucumber-cucumber-expressions (~> 15.1, >= 15.1.1)
+      cucumber-gherkin (~> 23.0, >= 23.0.1)
+      cucumber-html-formatter (~> 19.1, >= 19.1.0)
+      cucumber-messages (~> 18.0, >= 18.0.0)
+      diff-lcs (~> 1.5, >= 1.5.0)
+      mime-types (~> 3.4, >= 3.4.1)
+      multi_test (~> 1.1, >= 1.1.0)
+      sys-uname (~> 1.2, >= 1.2.2)
+    cucumber-ci-environment (9.1.0)
+    cucumber-core (11.0.0)
+      cucumber-gherkin (~> 23.0, >= 23.0.1)
+      cucumber-messages (~> 18.0, >= 18.0.0)
+      cucumber-tag-expressions (~> 4.1, >= 4.1.0)
+    cucumber-cucumber-expressions (15.2.0)
+    cucumber-gherkin (23.0.1)
+      cucumber-messages (~> 18.0, >= 18.0.0)
+    cucumber-html-formatter (19.2.0)
+      cucumber-messages (~> 18.0, >= 18.0.0)
+    cucumber-messages (18.0.0)
+    cucumber-tag-expressions (4.1.0)
+    diff-lcs (1.5.0)
+    ffi (1.15.5)
+    mime-types (3.4.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2022.0105)
+    multi_test (1.1.0)
+    sys-uname (1.2.2)
+      ffi (~> 1.1)
 
 PLATFORMS
   ruby
@@ -31,4 +42,4 @@ DEPENDENCIES
   cucumber
 
 BUNDLED WITH
-   2.1.4
+   2.3.22
diff --git a/pkgs/development/tools/cucumber/gemset.nix b/pkgs/development/tools/cucumber/gemset.nix
index d96d907180634..f702301c24720 100644
--- a/pkgs/development/tools/cucumber/gemset.nix
+++ b/pkgs/development/tools/cucumber/gemset.nix
@@ -1,114 +1,158 @@
 {
-  backports = {
+  builder = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn";
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
       type = "gem";
     };
-    version = "3.14.0";
+    version = "3.2.4";
   };
-  builder = {
+  cucumber = {
+    dependencies = ["builder" "cucumber-ci-environment" "cucumber-core" "cucumber-cucumber-expressions" "cucumber-gherkin" "cucumber-html-formatter" "cucumber-messages" "diff-lcs" "mime-types" "multi_test" "sys-uname"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
+      sha256 = "1ahpifcqv0h5r9cgd97fwr73ps90h50jzi0h17zsaw4ksb3b6g2m";
       type = "gem";
     };
-    version = "3.2.3";
+    version = "8.0.0";
   };
-  cucumber = {
-    dependencies = ["builder" "cucumber-core" "cucumber-expressions" "cucumber-wire" "diff-lcs" "gherkin" "multi_json" "multi_test"];
+  cucumber-ci-environment = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s2brssrpal8hyhcgg974x3xyhpmvpwps5ypd9p8w2lg01l1pp3j";
+      sha256 = "1nmn2hfrjlbazgcryr3hwvsa5v4csfbjqxb4q7wbjhaxl9xxn0k7";
       type = "gem";
     };
-    version = "3.1.2";
+    version = "9.1.0";
   };
   cucumber-core = {
-    dependencies = ["backports" "cucumber-tag_expressions" "gherkin"];
+    dependencies = ["cucumber-gherkin" "cucumber-messages" "cucumber-tag-expressions"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0drg9w5cz5mchh077y9ixsy7yiyrzg3cqc29mmkl3vjcwlkhn3rh";
+      type = "gem";
+    };
+    version = "11.0.0";
+  };
+  cucumber-cucumber-expressions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14xkgpy69p24winh4p5q2b3534i02xxbxl5rn0capqv97qjyj63j";
+      type = "gem";
+    };
+    version = "15.2.0";
+  };
+  cucumber-gherkin = {
+    dependencies = ["cucumber-messages"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c";
+      sha256 = "0dsvcjy78c114q3znacs25zhq3f49q9kkxq4j9iw8b6kwimrl8wj";
       type = "gem";
     };
-    version = "3.2.1";
+    version = "23.0.1";
   };
-  cucumber-expressions = {
+  cucumber-html-formatter = {
+    dependencies = ["cucumber-messages"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw";
+      sha256 = "1gnmm1r4gyqqwzx482zsbahjyamnj0lxxky86zs4a376jv9bicyz";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "19.2.0";
   };
-  cucumber-tag_expressions = {
+  cucumber-messages = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc";
+      sha256 = "1i8abkxykq7ab15pirrrf0jz9200i3x3pda2ffyxmck6063lyjgv";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "18.0.0";
   };
-  cucumber-wire = {
+  cucumber-tag-expressions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f";
+      sha256 = "0v1ssg4chkahck1ddl2j1hcifm0vlcn9sb104ywshw5gyv59s9qd";
       type = "gem";
     };
-    version = "0.0.1";
+    version = "4.1.0";
   };
   diff-lcs = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
+      sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.3";
+    version = "1.15.5";
   };
-  gherkin = {
+  mime-types = {
+    dependencies = ["mime-types-data"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s";
+      sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "3.4.1";
   };
-  multi_json = {
+  mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "3.2022.0105";
   };
   multi_test = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd";
+      sha256 = "042d6a1416h3di57z107ygmjdgacrpyswi73ryz75yv3v36m1rg9";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  sys-uname = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gk625krfm00nppb2ni0794kzr1cqbs1a0059fhp4s3lcrmx69jc";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "1.2.2";
   };
 }
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index a4d5910abc32f..5054bc511dddc 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "2.0.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "AlexAkulov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PIn90tz/FnUr4MGKZfLcP0hmF3eqKGB+1gKwfgtk/70=";
+    sha256 = "sha256-P1jJQtXxTiobYQJDxPqUImSEf5aR9/hIr/Og0fYa3Vc=";
   };
 
-  vendorSha256 = "sha256-aPVzXZ7wjVtxjJXhbDlvBhdzoYsvii6OKUaQryrjaNc=";
+  vendorSha256 = "sha256-kbIztD0g+92gxxBYhWILudgFRFCshagmAUs8bY/Z8yg=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index 515551cbd02db..19fa3f18d6107 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -45,7 +45,13 @@ rustPlatform.buildRustPackage rec {
     export SQLITE_MAX_EXPR_DEPTH=10000
   '';
 
-  cargoBuildFlags = "-p query-engine -p query-engine-node-api -p migration-engine-cli -p introspection-core -p prisma-fmt";
+  cargoBuildFlags = [
+    "-p" "query-engine"
+    "-p" "query-engine-node-api"
+    "-p" "migration-engine-cli"
+    "-p" "introspection-core"
+    "-p" "prisma-fmt"
+  ];
 
   postInstall = ''
     mv $out/lib/libquery_engine${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libquery_engine.node
diff --git a/pkgs/development/tools/database/pyrseas/default.nix b/pkgs/development/tools/database/pyrseas/default.nix
index 220554f95d90e..cf93f114e7db5 100644
--- a/pkgs/development/tools/database/pyrseas/default.nix
+++ b/pkgs/development/tools/database/pyrseas/default.nix
@@ -1,41 +1,45 @@
-{ lib, python2Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 let
-  pgdbconn = python2Packages.buildPythonPackage rec {
+  pgdbconn = python3Packages.buildPythonPackage rec {
     pname = "pgdbconn";
     version = "0.8.0";
+
     src = fetchFromGitHub {
       owner = "perseas";
       repo = "pgdbconn";
       rev = "v${version}";
       sha256 = "09r4idk5kmqi3yig7ip61r6js8blnmac5n4q32cdcbp1rcwzdn6z";
     };
+
     # The tests are impure (they try to access a PostgreSQL server)
     doCheck = false;
-    propagatedBuildInputs = [
-      python2Packages.psycopg2
-      python2Packages.pytest
-    ];
+
+    propagatedBuildInputs = with python3Packages; [ psycopg2 pytest ];
   };
 in
 
-python2Packages.buildPythonApplication {
+python3Packages.buildPythonApplication rec {
   pname = "pyrseas";
-  version = "0.8.0";
+  version = "0.9.1";
+
   src = fetchFromGitHub {
     owner = "perseas";
     repo = "Pyrseas";
-    rev = "2e9be763e61168cf20d28bd69010dc5875bd7b97";
-    sha256 = "1h9vahplqh0rzqjsdq64qqar6hj1bpbc6nl1pqwwgca56385br8r";
+    rev = version;
+    sha256 = "sha256-+MxnxvbLMxK1Ak+qKpKe3GHbzzC+XHO0eR7rl4ON9H4=";
   };
-  # The tests are impure (they try to access a PostgreSQL server)
-  doCheck = false;
-  propagatedBuildInputs = [
-    python2Packages.psycopg2
-    python2Packages.pytest
-    python2Packages.pyyaml
+
+  propagatedBuildInputs = with python3Packages; [
+    psycopg2
+    pytest
+    pyyaml
     pgdbconn
   ];
+
+  # The tests are impure (they try to access a PostgreSQL server)
+  doCheck = false;
+
   meta = {
     description = "A declarative language to describe PostgreSQL databases";
     homepage = "https://perseas.github.io/";
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index 5bc60c24094fc..26d9fb6403abc 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.84.0";
+  version = "1.84.1";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-ZUvW20PGPO4Ril22VDvvHxYbzuhSTXfRqv2lzOqk9pA=";
+    sha256 = "sha256-F1vavqdBeKVWKWQTrgqT6NIGduAcFc42rl0rG8SEdLs=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index f0ab9d147a46a..89f178e4bb91d 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, jre_headless, makeWrapper }:
 stdenv.mkDerivation rec{
   pname = "flyway";
-  version = "9.4.0";
+  version = "9.5.1";
   src = fetchurl {
     url = "mirror://maven/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-    sha256 = "sha256-hly2yjewKYx11kVfv1DX7Bfi5wFnmegP4rVKtEbkxYQ=";
+    sha256 = "sha256-ieGRP9SGI8w42f3BNcO5mv/DB3E4Hzxe0q1P5EaBxK8=";
   };
   nativeBuildInputs = [ makeWrapper ];
   dontBuild = true;
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index f04d4e9ab7c32..97c9786e8fd22 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  sconsFlags = "target=release_debug platform=x11";
+  sconsFlags = [ "target=release_debug" "platform=x11" ];
   preConfigure = ''
     sconsFlags+=" ${
       lib.concatStringsSep " "
diff --git a/pkgs/development/tools/godot/export-templates.nix b/pkgs/development/tools/godot/export-templates.nix
index 9d306365f1901..74a78573a9837 100644
--- a/pkgs/development/tools/godot/export-templates.nix
+++ b/pkgs/development/tools/godot/export-templates.nix
@@ -3,7 +3,7 @@
 # https://docs.godotengine.org/en/stable/development/compiling/compiling_for_x11.html#building-export-templates
 godot.overrideAttrs (oldAttrs: rec {
   pname = "godot-export-templates";
-  sconsFlags = "target=release platform=x11 tools=no";
+  sconsFlags = [ "target=release" "platform=x11" "tools=no" ];
   installPhase = ''
     # The godot export command expects the export templates at
     # .../share/godot/templates/3.2.3.stable with 3.2.3 being the godot version.
diff --git a/pkgs/development/tools/godot/headless.nix b/pkgs/development/tools/godot/headless.nix
index a8d640eba1aa8..3e43a4f27f0c9 100644
--- a/pkgs/development/tools/godot/headless.nix
+++ b/pkgs/development/tools/godot/headless.nix
@@ -1,7 +1,7 @@
 { godot, lib }:
 godot.overrideAttrs (oldAttrs: rec {
   pname = "godot-headless";
-  sconsFlags = "target=release_debug platform=server tools=yes";
+  sconsFlags = [ "target=release_debug" "platform=server" "tools=yes" ];
   installPhase = ''
     mkdir -p "$out/bin"
     cp bin/godot_server.* $out/bin/godot-headless
diff --git a/pkgs/development/tools/godot/server.nix b/pkgs/development/tools/godot/server.nix
index 4254dc746b66c..06adf1bbfeb7f 100644
--- a/pkgs/development/tools/godot/server.nix
+++ b/pkgs/development/tools/godot/server.nix
@@ -1,7 +1,7 @@
 { godot, lib }:
 godot.overrideAttrs (oldAttrs: rec {
   pname = "godot-server";
-  sconsFlags = "target=release platform=server tools=no";
+  sconsFlags = [ "target=release" "platform=server" "tools=no" ];
   installPhase = ''
     mkdir -p "$out/bin"
     cp bin/godot_server.* $out/bin/godot-server
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index ec0cd56e019b3..913cde8ca493e 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.50.0";
+  version = "1.50.1";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-bYLKju4+X28KpAcd1OcniTHwLZz97qDj9ZruGFqspaY=";
+    sha256 = "sha256-7HoneQtKxjQVvaTdkjPeu+vJWVOZG3AOiRD87/Ntgn8=";
   };
 
-  vendorSha256 = "sha256-DYfoPyE8MA2NiPDE1y8bE+tOn81adkN9zQJ7G3dqA64=";
+  vendorSha256 = "sha256-6ttRd2E8Zsf/2StNYt6JSC64A57QIv6EbwAwJfhTDaY=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/guile/guile-hall/default.nix b/pkgs/development/tools/guile/guile-hall/default.nix
new file mode 100644
index 0000000000000..440b94fab68ee
--- /dev/null
+++ b/pkgs/development/tools/guile/guile-hall/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config
+, texinfo, makeWrapper, guile, guile-config }:
+
+stdenv.mkDerivation rec {
+  pname = "guile-hall";
+  version = "0.4.1";
+
+  src = fetchFromGitLab {
+    owner = "a-sassmannshausen";
+    repo = "guile-hall";
+    rev = version;
+    hash = "sha256-TUCN8kW44X6iGbSJURurcz/Tc2eCH1xgmXH1sMOMOXs=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config texinfo makeWrapper ];
+
+  buildInputs = [ guile guile-config ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  postInstall =
+    let
+      guileVersion = lib.versions.majorMinor guile.version;
+    in
+    ''
+      wrapProgram $out/bin/hall \
+        --prefix GUILE_LOAD_PATH : "$out/share/guile/site/${guileVersion}:$GUILE_LOAD_PATH" \
+        --prefix GUILE_LOAD_COMPILED_PATH : "$out/lib/guile/${guileVersion}/site-ccache:$GUILE_LOAD_COMPILED_PATH"
+    '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    export HOME=$TMPDIR
+    $out/bin/hall --version | grep ${version} > /dev/null
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "Project manager and build tool for GNU guile";
+    homepage = "https://gitlab.com/a-sassmannshausen/guile-hall";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = guile.meta.platforms;
+  };
+}
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 82f93cb73e664..c8fa6863c1b44 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.4";
+  version = "2.1.5";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "sha256-o7gcKJy3gDUV3WPo5vO+5Zyyz1UVC2wGRTxZL69RxNE=";
+    sha256 = "sha256-OUGuaI3AcdfscfLRULz3uS8gOCVBseC/6aDsPoHRRTY=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/development/tools/jsonnet-language-server/default.nix b/pkgs/development/tools/jsonnet-language-server/default.nix
index e6b9470a54b48..82be702f991b1 100644
--- a/pkgs/development/tools/jsonnet-language-server/default.nix
+++ b/pkgs/development/tools/jsonnet-language-server/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "jsonnet-language-server";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "jsonnet-language-server";
     rev = "v${version}";
-    sha256 = "sha256-JNRMV52sSA45lp1UdJ4wBGrhlGIFhYHhgZU0lop1HcI=";
+    sha256 = "sha256-RpjLIz5lfdWULTDTMDVYvTTSaQWvYbvpxvs4L5UldjM=";
   };
 
-  vendorSha256 = "sha256-tsVevkMHuCv70A9Ohg9L+ghH5+v52X4sToI4bMlDzzo=";
+  vendorSha256 = "sha256-imFr4N/YmpwjVZSCBHG7cyJt4RKTn+T7VPdL8R/ba5o=";
 
   ldflags = [
     "-s -w -X 'main.version=${version}'"
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index bba0cab5a7ac4..cbb8b38d80d79 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gnekNEROOpyDDJpV2ZS9+g7oHVUcQKEHj7yPL+8V51s=";
+    sha256 = "sha256-mNritx2YY6x5lwnOWrraHzddRZqEySDOWGOqdmqUyIs=";
   };
-  vendorSha256 = "sha256-D1QS97yUhCH2BI/HDxNaREf/XI6/iVF9lZRnWQY5so8=";
+  vendorSha256 = "sha256-pqGayeo4JkleZaoZfZW6agbMrK+57tYriKCWXGveoUs=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix
index 06b5f5c35bbad..672dddfc5ca22 100644
--- a/pkgs/development/tools/libsigrokdecode/default.nix
+++ b/pkgs/development/tools/libsigrokdecode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, python3, check }:
+{ lib, stdenv, fetchurl, pkg-config, glib, python3, check, libxcrypt }:
 
 stdenv.mkDerivation rec {
   pname = "libsigrokdecode";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib python3 ];
+  buildInputs = [ glib python3 libxcrypt ];
   checkInputs = [ check ];
   doCheck = true;
 
diff --git a/pkgs/development/tools/millet/default.nix b/pkgs/development/tools/millet/default.nix
index aab15d2a9681d..b7f9d0e50e502 100644
--- a/pkgs/development/tools/millet/default.nix
+++ b/pkgs/development/tools/millet/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.4.2";
+  version = "0.5.6";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WWZi943PyWnm5TrFIWk/Lg/uQPWdfMuTQTxgNM9lF5w=";
+    sha256 = "sha256-figP1PgM84jIbjuYzcklzYshedO5UXbxm9sbEXWkLzs=";
   };
 
-  cargoSha256 = "sha256-bHGDbHaMdQG+T1kA/clxDmnJblRYn2X7uVVF+MpvEGE=";
+  cargoSha256 = "sha256-PF1NxUypOBevGwj5bFySQluhNh7PD1NFXfJvYuKHixQ=";
 
   postPatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/development/tools/misc/bashdb/default.nix b/pkgs/development/tools/misc/bashdb/default.nix
index 918dd90aa83fe..c7d261e6f5ac8 100644
--- a/pkgs/development/tools/misc/bashdb/default.nix
+++ b/pkgs/development/tools/misc/bashdb/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       sha256 = "19zfzcnxavndyn6kfxp775kjcd0gigsm4y3bnh6fz5ilhnnbbbgr";
     })
   ];
-  patchFlags = "-p0";
+  patchFlags = [ "-p0" ];
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/tools/misc/deheader/default.nix b/pkgs/development/tools/misc/deheader/default.nix
new file mode 100644
index 0000000000000..ad1cb909b0dee
--- /dev/null
+++ b/pkgs/development/tools/misc/deheader/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, stdenv
+, python3
+, xmlto
+, docbook-xsl-nons
+, fetchFromGitLab
+, installShellFiles
+}:
+
+stdenv.mkDerivation rec {
+  pname = "deheader";
+  version = "1.8";
+  outputs = [ "out" "man" ];
+
+  src = fetchFromGitLab {
+    owner = "esr";
+    repo = "deheader";
+    rev = version;
+    sha256 = "sha256-sjxgUtdsi/sfxOViDj7l8591TSYwtCzDQcHsk9ClXuM=";
+  };
+
+  buildInputs = [ python3 ];
+
+  nativeBuildInputs = [ xmlto docbook-xsl-nons installShellFiles ];
+
+  # With upstream Makefile, xmlto is called without "--skip-validation". It
+  # makes it require a lot of dependencies, yet ultimately it fails
+  # nevertheless in attempt to fetch something from SourceForge.
+  #
+  # Need to set "foundMakefile" so "make check" tests are run.
+  buildPhase = ''
+    runHook preBuild
+
+    xmlto man --skip-validation deheader.xml
+    patchShebangs ./deheader
+    foundMakefile=1
+
+    runHook postBuild
+  '';
+
+  doCheck = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 ./deheader -t $out/bin
+    installManPage ./deheader.1
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Tool to find and optionally remove unneeded includes in C or C++ source files";
+    longDescription = ''
+      This tool takes a list of C or C++ sourcefiles and generates a report
+      on which #includes can be omitted from them -- the test, for each foo.c
+      or foo.cc or foo.cpp, is simply whether 'rm foo.o; make foo.o' returns a
+      zero status. Optionally, with the -r option, the unneeded headers are removed.
+      The tool also reports on headers required for strict portability.
+    '';
+    homepage = "http://catb.org/~esr/deheader";
+    changelog = "https://gitlab.com/esr/deheader/-/blob/master/NEWS.adoc";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ kaction ];
+
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/hound/default.nix b/pkgs/development/tools/misc/hound/default.nix
index ff9253e4b0397..5d0120804f44a 100644
--- a/pkgs/development/tools/misc/hound/default.nix
+++ b/pkgs/development/tools/misc/hound/default.nix
@@ -4,6 +4,8 @@
 , makeWrapper
 , mercurial
 , git
+, openssh
+, nixosTests
 }:
 
 buildGoModule rec {
@@ -25,9 +27,11 @@ buildGoModule rec {
   doCheck = false;
 
   postInstall = ''
-    wrapProgram $out/bin/houndd --prefix PATH : ${lib.makeBinPath [ mercurial git ]}
+    wrapProgram $out/bin/houndd --prefix PATH : ${lib.makeBinPath [ mercurial git openssh ]}
   '';
 
+  passthru.tests = { inherit (nixosTests) hound; };
+
   meta = with lib; {
     inherit (src.meta) homepage;
     description = "Lightning fast code searching made easy";
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 01b0f39567eb6..da61e1f8a41d0 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,23 +1,30 @@
-{lib, stdenv, fetchFromGitHub, buildPackages
+{ lib
+, stdenv
+, fetchFromGitHub
 , fetchpatch
-, curl, makeWrapper, which, unzip
+, curl
+, makeWrapper
+, which
+, unzip
 , lua
-# for 'luarocks pack'
+, file
+, nix-prefetch-git
+  # for 'luarocks pack'
 , zip
 , nix-update-script
-# some packages need to be compiled with cmake
+  # some packages need to be compiled with cmake
 , cmake
 , installShellFiles
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (self: {
   pname = "luarocks";
   version = "3.9.1";
 
   src = fetchFromGitHub {
     owner = "luarocks";
     repo = "luarocks";
-    rev = "v${version}";
+    rev = "v${self.version}";
     sha256 = "sha256-G6HDap3pspeQtGDBq+ukN7kftDaT/CozMVdYM60F6HI=";
   };
 
@@ -67,12 +74,16 @@ stdenv.mkDerivation rec {
               --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
               --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
               --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
-              --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua"
+              --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+              --suffix PATH : ${lib.makeBinPath ([ unzip ] ++
+                lib.optionals (self.pname == "luarocks-nix") [ file nix-prefetch-git ])}
         }
     done
   '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
-    installShellCompletion --cmd luarocks --bash <($out/bin/luarocks completion bash)
-    installShellCompletion --cmd luarocks --zsh <($out/bin/luarocks completion zsh)
+    installShellCompletion --cmd luarocks \
+      --bash <($out/bin/luarocks completion bash) \
+      --fish <($out/bin/luarocks completion fish) \
+      --zsh <($out/bin/luarocks completion zsh)
   '';
 
   propagatedBuildInputs = [ zip unzip cmake ];
@@ -94,15 +105,15 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = nix-update-script {
-      attrPath = pname;
+      attrPath = self.pname;
     };
   };
 
   meta = with lib; {
     description = "A package manager for Lua";
-    license = licenses.mit ;
-    maintainers = with maintainers; [raskin teto];
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin teto ];
     platforms = platforms.linux ++ platforms.darwin;
     downloadPage = "http://luarocks.org/releases/";
   };
-}
+})
diff --git a/pkgs/development/tools/misc/pahole/default.nix b/pkgs/development/tools/misc/pahole/default.nix
index 1e923c380d6d8..7a60da1e53a3c 100644
--- a/pkgs/development/tools/misc/pahole/default.nix
+++ b/pkgs/development/tools/misc/pahole/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ elfutils zlib libbpf ]
-    ++ lib.optional stdenv.hostPlatform.isMusl [
+    ++ lib.optionals stdenv.hostPlatform.isMusl [
     argp-standalone
     musl-obstack
   ];
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 66ac8c66096d4..fc71c4aa4ea48 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -21,7 +21,10 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # fails 8 out of 24 tests, problems when loading libc.so.6
-  doCheck = stdenv.name == "stdenv-linux";
+  doCheck = stdenv.name == "stdenv-linux"
+    # test scripts require unprefixed bintools binaries
+    # https://github.com/NixOS/patchelf/issues/417
+    && stdenv.cc.targetPrefix == "";
 
   meta = with lib; {
     homepage = "https://github.com/NixOS/patchelf";
diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix
index 70370e421261b..f2721ab952c64 100644
--- a/pkgs/development/tools/misc/pkg-config/default.nix
+++ b/pkgs/development/tools/misc/pkg-config/default.nix
@@ -28,9 +28,9 @@ stdenv.mkDerivation rec {
   buildInputs = optional (stdenv.isCygwin || stdenv.isDarwin || stdenv.isSunOS) libiconv;
 
   configureFlags = [ "--with-internal-glib" ]
-    ++ optional (stdenv.isSunOS) [ "--with-libiconv=gnu" "--with-system-library-path" "--with-system-include-path" "CFLAGS=-DENABLE_NLS" ]
+    ++ optionals (stdenv.isSunOS) [ "--with-libiconv=gnu" "--with-system-library-path" "--with-system-include-path" "CFLAGS=-DENABLE_NLS" ]
        # Can't run these tests while cross-compiling
-    ++ optional (stdenv.hostPlatform != stdenv.buildPlatform)
+    ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform)
        [ "glib_cv_stack_grows=no"
          "glib_cv_uscore=no"
          "ac_cv_func_posix_getpwuid_r=yes"
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index df3b12ea5b688..036e992e97316 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
     && !stdenv.isDarwin
     && !stdenv.isSunOS; # flaky
 
-  checkFlagsArray = [
+  checkFlags = lib.optionals (!stdenv.hostPlatform.isMusl) [
     # Test is known to fail on various locales on texinfo-6.8:
     #   https://lists.gnu.org/r/bug-texinfo/2021-07/msg00012.html
     "XFAIL_TESTS=test_scripts/layout_formatting_fr_icons.sh"
diff --git a/pkgs/development/tools/mutmut/default.nix b/pkgs/development/tools/mutmut/default.nix
new file mode 100644
index 0000000000000..4b40930c646d1
--- /dev/null
+++ b/pkgs/development/tools/mutmut/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+let self = with python3.pkgs; buildPythonApplication rec {
+  pname = "mutmut";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "boxed";
+    rev = version;
+    hash = "sha256-G+OL/9km2iUeZ1QCpU73CIWVWMexcs3r9RdCnAsESnY=";
+  };
+
+  postPatch = ''
+    substituteInPlace requirements.txt --replace 'junit-xml==1.8' 'junit-xml==1.9'
+  '';
+
+  disabled = pythonOlder "3.7";
+
+  doCheck = false;
+
+  propagatedBuildInputs = [ click glob2 parso pony junit-xml ];
+
+  passthru.tests.version = testers.testVersion { package = self; };
+
+  meta = with lib; {
+    description = "mutation testing system for Python, with a strong focus on ease of use";
+    homepage = "https://github.com/boxed/mutmut";
+    changelog = "https://github.com/boxed/mutmut/blob/${version}/HISTORY.rst";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ synthetica ];
+  };
+};
+in self
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
index 30962eeba3113..65f8c7eda3ca1 100644
--- a/pkgs/development/tools/ocaml/dune/2.nix
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ ocaml findlib ];
   strictDeps = true;
 
-  buildFlags = "release";
+  buildFlags = [ "release" ];
 
   dontAddPrefix = true;
   dontAddStaticConfigureFlags = true;
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index 2917a4905bda0..01145e0237cb5 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  buildFlags = "release";
+  buildFlags = [ "release" ];
 
   dontAddPrefix = true;
   dontAddStaticConfigureFlags = true;
diff --git a/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix b/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
index 19ce91574bff6..0aa456ee6cec2 100644
--- a/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
@@ -4,11 +4,12 @@
 , fix
 , menhirLib
 , menhirSdk
+, gitUpdater
 }:
 
 buildDunePackage rec {
   pname = "ocaml-recovery-parser";
-  version = "0.2.2";
+  version = "0.2.4";
 
   minimalOCamlVersion = "4.08";
   useDune2 = true;
@@ -17,7 +18,7 @@ buildDunePackage rec {
     owner = "serokell";
     repo = pname;
     rev = version;
-    sha256 = "qQHvAPNQBbsvlQRh19sz9BtfhhMOp3uPthVozc1fpw8=";
+    sha256 = "gOKvjmlcHDOgsTllj2sPL/qNtW/rlNlEVIrosahNsAQ=";
   };
 
   propagatedBuildInputs = [
@@ -26,6 +27,8 @@ buildDunePackage rec {
     menhirSdk
   ];
 
+  passthru.updateScript = gitUpdater { };
+
   meta = with lib; {
     description = "A simple fork of OCaml parser with support for error recovery";
     homepage = "https://github.com/serokell/ocaml-recovery-parser";
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 1a0cc94740287..b82743b16c274 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "12.6.5";
+  version = "12.6.8";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oo3ygMdc+9Tt5hViKucLBaMatlVmmAb4QopJ9JWBJU8=";
+    sha256 = "sha256-Tn3XOkNBV6hOAV8SuOKX5ktplTtn/HXc+8hdl96XuJU=";
   };
 
   vendorSha256 = "sha256-OrtKFkWXqVoXKmN6BT8YbCNjR1gRTT4gPNwmirn7fjU=";
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index 8536362dacad8..2705d92b08d11 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    sha256 = "sha256-YTz4W+txxs1G6NukckWkOlGwlOrS4LgMly8ilmgt5GE=";
+    sha256 = "sha256-UJaPGnS0VK0FK2EJFUEh5mCMaLw5vX9V4sOYOgDWENk=";
   };
 
   vendorSha256 = "sha256-/oR8R0/GC6cgCqXinCRH5x93qgRPeQmxHgZZGshrDr4=";
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 8ae769429cccd..741107860e0e2 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "packer";
-  version = "1.8.2";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "sha256-SaQGUVXtAI/FdqRZc4AjDkeEl9lE5i/wKsHKNGLpx8Y=";
+    sha256 = "sha256-Ar8O/zbM3L898FwJiITON/vID4b+dN/KIk7TRTepD/0=";
   };
 
-  vendorSha256 = "sha256-0GE5chSTonJFT7xomfa9a9QsnFpTFX7proo9joaDrOU=";
+  vendorSha256 = "sha256-kM+D981x3/2uUFKElWbNrsfKhKbGgAvEklMD+FSaDRE=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 81d7d9f0b35e2..0e8777e9f3f92 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -13,7 +13,7 @@ let
         inherit sha256;
       };
 
-      buildInputs = lib.optional build-manual [ fig2dev ghostscript tex ];
+      buildInputs = lib.optionals build-manual [ fig2dev ghostscript tex ];
 
       preConfigure = lib.optionalString build-manual ''
         sed -i "s/build_manual=no/build_manual=yes/g" DIST
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
index 50d3889e3733c..e169aced4a153 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -385,7 +385,7 @@ lib.composeManyExtensions [
           (
             old: {
               nativeBuildInputs = (old.nativeBuildInputs or [ ])
-                ++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
+                ++ lib.optionals (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
                 ++ lib.optional (!self.isPyPy) pyBuildPackages.cffi
                 ++ lib.optional (lib.versionAtLeast old.version "3.5" && !isWheel)
                 (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
@@ -1061,9 +1061,9 @@ lib.composeManyExtensions [
 
           buildInputs = old.buildInputs or [ ] ++ [
             pkgs.which
-          ] ++ lib.optional enableGhostscript [
+          ] ++ lib.optionals enableGhostscript [
             pkgs.ghostscript
-          ] ++ lib.optional stdenv.isDarwin [
+          ] ++ lib.optionals stdenv.isDarwin [
             Cocoa
           ];
 
@@ -1080,7 +1080,7 @@ lib.composeManyExtensions [
 
           nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
             pkg-config
-          ] ++ lib.optional (lib.versionAtLeast super.matplotlib.version "3.5.0") [
+          ] ++ lib.optionals (lib.versionAtLeast super.matplotlib.version "3.5.0") [
             self.setuptools-scm
             self.setuptools-scm-git-archive
           ];
@@ -2030,7 +2030,7 @@ lib.composeManyExtensions [
         if old.format != "wheel" then {
           nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++
             [ pkgs.gfortran ] ++
-            lib.optional (lib.versionAtLeast super.scipy.version "1.7.0") [ self.pythran ];
+            lib.optionals (lib.versionAtLeast super.scipy.version "1.7.0") [ self.pythran ];
           propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ];
           setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
           enableParallelBuilding = true;
diff --git a/pkgs/development/tools/protoc-gen-validate/default.nix b/pkgs/development/tools/protoc-gen-validate/default.nix
index 435386ea45ef4..a9370f50155c1 100644
--- a/pkgs/development/tools/protoc-gen-validate/default.nix
+++ b/pkgs/development/tools/protoc-gen-validate/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "protoc-gen-validate";
-  version = "0.6.12";
+  version = "0.6.13";
 
   src = fetchFromGitHub {
-    owner = "envoyproxy";
+    owner = "bufbuild";
     repo = "protoc-gen-validate";
     rev = "v${version}";
-    sha256 = "sha256-JoOTIteE4/IFsVVXcRI1KYpRONjo3veQ6uCtxYFlz8Y=";
+    sha256 = "sha256-w3qtDMRuMRTjNNjkCBzjgvtzgYABLm/OL94p9M8Db6U=";
   };
 
   vendorSha256 = "sha256-vFi1DT7o2fyzxO/aZHtdsU1/G/sGmamqZPeql0vQVjs=";
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 5bc301fb27500..ecf4c8fbe9e80 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.81";
+  version = "0.0.82";
 
   src = fetchFromGitHub {
     owner = "charliermarsh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZhC3tsiNa/2EZtMu40qNPLa5aPTLp3T7HxgXmUWJ+CI=";
+    sha256 = "sha256-BBk6mmsSd4SuvLMA/HvvVqGrxheGWJdx0luj5IRg7AI=";
   };
 
-  cargoSha256 = "sha256-t972ufnWfJyc0OWKba3bp1WIMveY6s/N8slbyQZgYPE=";
+  cargoSha256 = "sha256-w848QIVq+604DtT8di1IJqdlFSX7f9y19kAM3cGPtkA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreServices
diff --git a/pkgs/development/tools/rust/cargo-pgx/default.nix b/pkgs/development/tools/rust/cargo-pgx/default.nix
index e4ff582964fa3..5d4e6851f6f80 100644
--- a/pkgs/development/tools/rust/cargo-pgx/default.nix
+++ b/pkgs/development/tools/rust/cargo-pgx/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-pgx";
-  version = "0.5.0";
+  version = "0.5.3";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-5UH34l4zmKFZY2uHLDqJ1kW/QRQbII0/zmmGA3DFKB4=";
+    sha256 = "sha256-Glc6MViZeQzfZ+pOcbcJzL5hHEXSoqfksGwVZxOJ6G0=";
   };
 
-  cargoSha256 = "sha256-1CU/VrNS3tGycjel5MV6SrZJ7LExds2YhdO+VAHgusM=";
+  cargoSha256 = "sha256-Ag9lj3uR4Cijfcr+NFdCFb9K84b8QhGamLECzVpcN0U=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-public-api/default.nix b/pkgs/development/tools/rust/cargo-public-api/default.nix
index 5dc829d861efa..d3b1a1f7d2636 100644
--- a/pkgs/development/tools/rust/cargo-public-api/default.nix
+++ b/pkgs/development/tools/rust/cargo-public-api/default.nix
@@ -8,14 +8,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-public-api";
-  version = "0.20.1";
+  version = "0.21.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-aDkQxt516cN27wtndSkBitoWZvPyaQETqZDHYlrr364=";
+    sha256 = "sha256-wrNooeHFgIPJkjCeH4PoaaRjsukg2ASbioD/TTSNNgk=";
   };
 
-  cargoSha256 = "sha256-EBVPUCQQ9rwl23vYOpCBtOBb8d3K53RPMkIUs6sQyyU=";
+  cargoSha256 = "sha256-2/yTRbGTE72PhSFf4I/6y0B6z9qYM5dwFmk5VCWU0mU=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-release/default.nix b/pkgs/development/tools/rust/cargo-release/default.nix
index 88eb559a6a4c5..c85fff6656e24 100644
--- a/pkgs/development/tools/rust/cargo-release/default.nix
+++ b/pkgs/development/tools/rust/cargo-release/default.nix
@@ -1,22 +1,30 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv, Security, openssl, pkg-config }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, Security
+, curl
+, openssl
+, pkg-config
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.21.4";
+  version = "0.22.1";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-UzYVw0LFVxqiYi3kjjpZoMWvIrAtZzLKPvhSMSEf3X8=";
+    sha256 = "sha256-GKjEp0KX/YcEWo2ci6CwTpouPYHTymDx4hk3zO5pEcU=";
   };
 
-  cargoSha256 = "sha256-M39pnbYv0lorLx+6q7so4OVL7viZmlTmCeAH28rR0Rw=";
+  cargoSha256 = "sha256-1iRHpEZ+FlZbc5SgovCYf5X1NTt4q+gigcX0sBwKM3s=";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
+    ++ lib.optionals stdenv.isDarwin [ Security curl ];
 
   meta = with lib; {
     description = ''Cargo subcommand "release": everything about releasing a rust crate'';
diff --git a/pkgs/development/tools/rust/cargo-show-asm/default.nix b/pkgs/development/tools/rust/cargo-show-asm/default.nix
index 094753f955cad..243c23ee52d3a 100644
--- a/pkgs/development/tools/rust/cargo-show-asm/default.nix
+++ b/pkgs/development/tools/rust/cargo-show-asm/default.nix
@@ -1,34 +1,34 @@
 { lib
-, stdenv
-, fetchFromGitHub
 , rustPlatform
-, pkg-config
+, fetchFromGitHub
 , installShellFiles
-, openssl
+, stdenv
 , nix-update-script
 , callPackage
 }:
+
 rustPlatform.buildRustPackage rec {
   pname = "cargo-asm";
-  version = "0.1.24";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "pacak";
     repo = "cargo-show-asm";
     rev = version;
-    hash = "sha256-ahkKUtg5M88qddzEwYxPecDtBofGfPVxKuYKgmsbWYc=";
+    hash = "sha256-qsr28zuvu+i7P/MpwhDKQFFXTyFFo+vWrjBrpD1V8PY=";
   };
 
-  cargoHash = "sha256-S7OpHNjiTfQg7aPmHEx6Q/OV5QA9pB29F3MTIeiLAXg=";
+  cargoHash = "sha256-IL+BB08uZr5fm05ITxpm66jTb+pYYlLKOwQ8uf5rKSs=";
 
-  nativeBuildInputs = [ pkg-config installShellFiles ];
-  buildInputs = [ openssl ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   postInstall = ''
-    installShellCompletion --cmd foobar \
+    installShellCompletion --cmd cargo-asm \
       --bash <($out/bin/cargo-asm --bpaf-complete-style-bash) \
       --fish <($out/bin/cargo-asm --bpaf-complete-style-fish) \
-      --zsh  <($out/bin/cargo-asm --bpaf-complete-style-zsh )
+      --zsh  <($out/bin/cargo-asm --bpaf-complete-style-zsh)
   '';
 
   passthru = {
@@ -44,7 +44,6 @@ rustPlatform.buildRustPackage rec {
     description = "Cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code";
     homepage = "https://github.com/pacak/cargo-show-asm";
     license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ oxalica ];
-    broken = stdenv.isDarwin; # FIXME: Seems to have issue compiling bundled curl.
+    maintainers = with maintainers; [ figsoda oxalica ];
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 056b15fc18aea..5379d8829d964 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -12,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-10-10";
-  cargoSha256 = "sha256-9ykD9CMvrg6WG2jyKDNdkzZejla7WCXgAxuLGGrx62g=";
+  version = "2022-10-17";
+  cargoSha256 = "sha256-budFHrSZTxGC3a35OlRKtZuJnCWWTwsqqWLpgjSp5Ss=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-Ssoxr1ggoPsvFBsCWNQTleYLOTqx6hFKFvktzGDC51A=";
+    sha256 = "sha256-vd+UsJSg+Y/iBRJvvvFsunxwXc0jz4JyJLQPChfgfRA=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/pkgs/development/tools/spicy/default.nix b/pkgs/development/tools/spicy/default.nix
index 691a105941a91..65385d7fe139f 100644
--- a/pkgs/development/tools/spicy/default.nix
+++ b/pkgs/development/tools/spicy/default.nix
@@ -1,19 +1,19 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "spicy";
-  version = "unstable-2020-02-21";
-
-  goPackagePath = "github.com/trhodeos/spicy";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "trhodeos";
     repo = "spicy";
-    rev = "47409fb73e0b20b323c46cc06a3858d0a252a817";
-    sha256 = "022r8klmr21vaz5qd72ndrzj7pyqpfxc3jljz7nzsa50fjf82c3a";
+    rev = "v${version}";
+    sha256 = "sha256-TodMm4UbnLB+LiyfPVXT7bcVLbyBFbGoOYQSsz3IMfM=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-uy33vfsvyLCep1aN8qO0BMmpPylhzTLhosjjD5ghmHE=";
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "A Nintendo 64 segment assembler";
@@ -23,6 +23,6 @@ buildGoPackage rec {
     '';
     homepage = "https://github.com/trhodeos/spicy";
     license = licenses.mit;
-    maintainers = [ maintainers._414owen];
+    maintainers = with maintainers; [ _414owen ];
   };
 }
diff --git a/pkgs/development/tools/spicy/deps.nix b/pkgs/development/tools/spicy/deps.nix
deleted file mode 100644
index 9532b01decb4e..0000000000000
--- a/pkgs/development/tools/spicy/deps.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/alecthomas/participle";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/participle.git";
-      rev = "fed0e8fbb638b11091014aa838748210dc9ff576";
-      sha256 = "0yhhm42lis8ak9m6x6aai280xq0652vcq5v17pibbf74dalxyims";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus.git";
-      rev = "f104497f2b2129ab888fd274891f3a278756bcde";
-      sha256 = "0gr2c7s3ffdaynzn1zplp79zz16qgqpnsq2z9zg79wxksq5mz5l1";
-    };
-  }
-  {
-    goPackagePath = "github.com/ogier/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ogier/pflag.git";
-      rev = "73e519546fc0bce0c395610afcf6aa4e5aec88eb";
-      sha256 = "114zpgl6l47gsz0sifpq62hi2i6k0ra9hi8wx7d39giablf9i4ii";
-    };
-  }
-  {
-    goPackagePath = "github.com/trhodeos/n64rom";
-    fetch = {
-      type = "git";
-      url = "https://github.com/trhodeos/n64rom.git";
-      rev = "504dba7b4d4675bd3396c052d64016c5725c2f5e";
-      sha256 = "01hybm8nxh1lym0wc9sxrms3wyqhhs0dm1a2nwz6xc60lkjcp8kb";
-    };
-  }
-  {
-    goPackagePath = "github.com/trhodeos/ecoff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/trhodeos/ecoff.git";
-      rev = "e54570a0fac23c0fa7f605681345611f345ce0f6";
-      sha256 = "0pc0yj7hy43m00br0q0f1y5a3bc3a134imcyy2jvzim45g6g12kj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/sys";
-      rev = "9a76102bfb4322425a1228caa377974426e82c84";
-      sha256 = "07qn19yla2w604p3dc8h1c75xj2pxc4fajvg0mf0d4c72d5qiss4";
-    };
-  }
-]
diff --git a/pkgs/development/tools/summon/default.nix b/pkgs/development/tools/summon/default.nix
index 5c811aaf23912..2ed17061c2198 100644
--- a/pkgs/development/tools/summon/default.nix
+++ b/pkgs/development/tools/summon/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   # Patches provider resolver to support resolving unqualified names
   # from $PATH, e.g. `summon -p gopass` instead of `summon -p $(which gopass)`
-  patches = optional patchResolver [ ./resolve-paths.patch ];
+  patches = optionals patchResolver [ ./resolve-paths.patch ];
 
   postInstall = ''
     mv $out/bin/cmd $out/bin/summon
diff --git a/pkgs/development/tools/tokio-console/default.nix b/pkgs/development/tools/tokio-console/default.nix
index 6ff132e8146a7..8c9b2803a0aee 100644
--- a/pkgs/development/tools/tokio-console/default.nix
+++ b/pkgs/development/tools/tokio-console/default.nix
@@ -6,19 +6,29 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokio-console";
-  version = "0.1.3";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "tokio-rs";
     repo = "console";
     rev = "tokio-console-v${version}";
-    sha256 = "sha256-v9BxfBLRJug/1AgvDV7P5AOXwZfCu1mNgJjhbipoZNg=";
+    sha256 = "sha256-yTNLKpBkzzN0X73CjN/UXRGjAGOnCCgJa6A6loA6baM=";
   };
 
-  cargoSha256 = "sha256-584EC9x7tJE3pHqgQVh6LWKuCgLXuBBEnaPvo1A8RIs=";
+  cargoSha256 = "sha256-K/auhqlL/K6RYE0lHyvSUqK1cOwJBBZD3QTUevZzLXQ=";
 
   nativeBuildInputs = [ protobuf ];
 
+  # uses currently unstable tokio features
+  RUSTFLAGS = "--cfg tokio_unstable";
+
+  checkFlags = [
+    # tests depend upon git repository at test execution time
+    "--skip bootstrap"
+    "--skip config::tests::args_example_changed"
+    "--skip config::tests::toml_example_changed"
+  ];
+
   meta = with lib; {
     description = "A debugger for asynchronous Rust code";
     homepage = "https://github.com/tokio-rs/console";
@@ -26,4 +36,3 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ max-niederman ];
   };
 }
-
diff --git a/pkgs/development/tools/wrangler_1/default.nix b/pkgs/development/tools/wrangler_1/default.nix
index 66ad891009082..986be513ca767 100644
--- a/pkgs/development/tools/wrangler_1/default.nix
+++ b/pkgs/development/tools/wrangler_1/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wrangler";
-  version = "1.19.12";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "wrangler";
     rev = "v${version}";
-    sha256 = "sha256-HnenF3X/6tvzwlbuOiQAvB76GrdRsqETG+3fp1fx334=";
+    sha256 = "sha256-miXgzBaqCcFHRlot2uUKyH+GP2JTMOhFrReXZUl0ms0=";
   };
 
-  cargoSha256 = "sha256-mJyuqVSiuBKI/x3P865W1/ei5Ya2mV5LVXzaL3peocE=";
+  cargoSha256 = "sha256-DJefvaUc1quh43q1eZ5B76V3TEv9vNsxuUKaABWiTCo=";
 
   nativeBuildInputs = [ pkg-config ];