summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-06-05 00:03:13 +0000
committerGitHub <noreply@github.com>2023-06-05 00:03:13 +0000
commitb2f58f98dd670248e0facbabd26d9719fe1badab (patch)
tree610c762a1a8080327fa7e59bd90cbd2378829593
parent36689480f32ff890eb578e8b7be3b7a6ea7f799a (diff)
parent4a640f8bb68caa0c33eb671c16ed189573c717a3 (diff)
downloadnixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.tar
nixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.tar.gz
nixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.tar.bz2
nixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.tar.lz
nixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.tar.xz
nixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.tar.zst
nixpkgs-b2f58f98dd670248e0facbabd26d9719fe1badab.zip
Merge staging-next into staging
-rw-r--r--maintainers/maintainer-list.nix57
-rwxr-xr-xmaintainers/scripts/fix-maintainers.pl2
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md2
-rw-r--r--nixos/modules/services/web-servers/traefik.nix25
-rw-r--r--nixos/tests/traefik.nix5
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix2
-rw-r--r--pkgs/applications/editors/ldtk/default.nix4
-rw-r--r--pkgs/applications/editors/pixelorama/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/mullvad-browser/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/update.nix62
-rw-r--r--pkgs/applications/networking/cluster/yor/default.nix42
-rw-r--r--pkgs/applications/networking/newsreaders/raven-reader/default.nix4
-rw-r--r--pkgs/applications/video/adl/default.nix2
-rw-r--r--pkgs/applications/video/anime-downloader/default.nix2
-rw-r--r--pkgs/applications/video/filebot/default.nix8
-rw-r--r--pkgs/applications/video/mpv/scripts/thumbfast.nix8
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix13
-rw-r--r--pkgs/desktops/plasma-5/kwayland-integration.nix5
-rw-r--r--pkgs/desktops/plasma-5/plasma-browser-integration.nix5
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/default.nix5
-rw-r--r--pkgs/development/compilers/pforth/default.nix38
-rw-r--r--pkgs/development/libraries/google-cloud-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/openimageio/default.nix4
-rw-r--r--pkgs/development/libraries/tbox/default.nix37
-rw-r--r--pkgs/development/libraries/tbox/libtbox.pc.in10
-rw-r--r--pkgs/development/libraries/xmake-core-sv/default.nix30
-rw-r--r--pkgs/development/misc/resholve/test.nix4
-rw-r--r--pkgs/development/mobile/ios-webkit-debug-proxy/0001-Don-t-compile-examples.patch23
-rw-r--r--pkgs/development/mobile/ios-webkit-debug-proxy/default.nix57
-rw-r--r--pkgs/development/python-modules/broadbean/default.nix47
-rw-r--r--pkgs/development/python-modules/cfscrape/default.nix2
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix4
-rw-r--r--pkgs/development/python-modules/oca-port/default.nix46
-rw-r--r--pkgs/development/python-modules/opencensus-ext-azure/default.nix42
-rw-r--r--pkgs/development/python-modules/opentelemetry-api/default.nix58
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix49
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix58
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix55
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix48
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix51
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix55
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix59
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix53
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation/default.nix53
-rw-r--r--pkgs/development/python-modules/opentelemetry-proto/default.nix45
-rw-r--r--pkgs/development/python-modules/opentelemetry-sdk/default.nix66
-rw-r--r--pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix40
-rw-r--r--pkgs/development/python-modules/opentelemetry-test-utils/default.nix45
-rw-r--r--pkgs/development/python-modules/opentelemetry-util-http/default.nix51
-rw-r--r--pkgs/development/python-modules/playwright/default.nix5
-rwxr-xr-xpkgs/development/python-modules/playwright/update.sh12
-rw-r--r--pkgs/development/python-modules/pySmartDL/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-grpc/default.nix32
-rw-r--r--pkgs/development/python-modules/pyvisa-sim/default.nix49
-rw-r--r--pkgs/development/python-modules/qcodes-contrib-drivers/default.nix58
-rw-r--r--pkgs/development/python-modules/qcodes-loop/default.nix87
-rw-r--r--pkgs/development/python-modules/qcodes/default.nix133
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/stringparser/default.nix36
-rw-r--r--pkgs/development/tools/air/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/xmake/default.nix46
-rw-r--r--pkgs/development/tools/capnproto-rust/default.nix29
-rw-r--r--pkgs/development/tools/electron/binary/default.nix61
-rw-r--r--pkgs/development/tools/frece/default.nix2
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/gopls/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/default.nix6
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix12
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix32
-rw-r--r--pkgs/development/tools/okteto/default.nix6
-rw-r--r--pkgs/development/tools/volta/Cargo.lock1918
-rw-r--r--pkgs/development/tools/volta/default.nix55
-rw-r--r--pkgs/development/web/playwright-test/default.nix2
-rw-r--r--pkgs/development/web/playwright-test/node-env.nix7
-rw-r--r--pkgs/development/web/playwright-test/node-packages.json2
-rw-r--r--pkgs/development/web/playwright-test/node-packages.nix28
-rw-r--r--pkgs/development/web/playwright/driver.nix11
-rw-r--r--pkgs/servers/alps/default.nix2
-rw-r--r--pkgs/servers/etebase/default.nix3
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/default.nix1
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/package.json21
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/pin.json8
-rw-r--r--pkgs/servers/monitoring/thanos/default.nix12
-rw-r--r--pkgs/servers/search/zincsearch/default.nix (renamed from pkgs/servers/search/zinc/default.nix)26
-rw-r--r--pkgs/servers/sql/pgbouncer/default.nix5
-rw-r--r--pkgs/servers/web-apps/livebook/default.nix42
-rw-r--r--pkgs/tools/admin/pulumi/default.nix6
-rw-r--r--pkgs/tools/misc/boxxy/default.nix6
-rw-r--r--pkgs/tools/misc/codevis/default.nix11
-rw-r--r--pkgs/tools/misc/shopware-cli/default.nix6
-rw-r--r--pkgs/tools/misc/trackma/default.nix2
-rw-r--r--pkgs/tools/misc/whatsapp-chat-exporter/default.nix38
-rw-r--r--pkgs/tools/networking/isync/default.nix4
-rw-r--r--pkgs/tools/networking/rshijack/default.nix6
-rw-r--r--pkgs/tools/security/hash-slinger/default.nix4
-rw-r--r--pkgs/tools/typesetting/mmark/default.nix9
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix32
-rw-r--r--pkgs/top-level/python-packages.nix48
100 files changed, 4124 insertions, 241 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 6c246e1b977..ab644dcb02e 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -309,6 +309,12 @@
     githubId = 2321000;
     name = "Ruslan Babayev";
   };
+  abustany = {
+    email = "adrien@bustany.org";
+    github = "abustany";
+    githubId = 2526296;
+    name = "Adrien Bustany";
+  };
   acairncross = {
     email = "acairncross@gmail.com";
     github = "acairncross";
@@ -2943,7 +2949,7 @@
   };
   citadelcore = {
     email = "alex@arctarus.co.uk";
-    github = "CitadelCore";
+    github = "VertexA115";
     githubId = 5567402;
     name = "Alex Zero";
     keys = [{
@@ -4952,6 +4958,12 @@
     githubId = 2512008;
     name = "Even Brenden";
   };
+  evilmav = {
+    email = "elenskiy.ilya@gmail.com";
+    github = "evilmav";
+    githubId = 6803717;
+    name = "Ilya Elenskiy";
+  };
   evils = {
     email = "evils.devils@protonmail.com";
     matrix = "@evils:nixos.dev";
@@ -5422,7 +5434,7 @@
     githubId = 7551358;
     name = "Frede Emil";
   };
- Freed-Wu = {
+  Freed-Wu = {
     email = "wuzhenyu@ustc.edu";
     github = "Freed-Wu";
     githubId = 32936898;
@@ -5531,7 +5543,7 @@
   };
   fuzen = {
     email = "me@fuzen.cafe";
-    github = "Fuzen-py";
+    github = "LovingMelody";
     githubId = 17859309;
     name = "Fuzen";
   };
@@ -5885,15 +5897,6 @@
     githubId = 1621335;
     name = "Andrew Trachenko";
   };
-  gordias = {
-    name = "Gordias";
-    email = "gordias@disroot.org";
-    github = "gordiasdot";
-    githubId = 94724133;
-    keys = [{
-      fingerprint = "C006 B8A0 0618 F3B6 E0E4  2ECD 5D47 2848 30FA A4FA";
-    }];
-  };
   gotcha = {
     email = "gotcha@bubblenet.be";
     github = "gotcha";
@@ -6768,7 +6771,7 @@
   };
   ilya-kolpakov = {
     email = "ilya.kolpakov@gmail.com";
-    github = "ilya-kolpakov";
+    github = "1pakch";
     githubId = 592849;
     name = "Ilya Kolpakov";
   };
@@ -7170,7 +7173,7 @@
   jayesh-bhoot = {
     name = "Jayesh Bhoot";
     email = "jb@jayeshbhoot.com";
-    github = "jayeshbhoot";
+    github = "bhootjb";
     githubId = 1915507;
   };
   jayman2000 = {
@@ -7655,10 +7658,10 @@
     name = "Jocelyn Thode";
   };
   joedevivo = {
-     github = "joedevivo";
-     githubId = 55951;
-     name = "Joe DeVivo";
-   };
+    github = "joedevivo";
+    githubId = 55951;
+    name = "Joe DeVivo";
+  };
   joelancaster = {
     email = "joe.a.lancas@gmail.com";
     github = "JoeLancaster";
@@ -7988,7 +7991,7 @@
   };
   juaningan = {
     email = "juaningan@gmail.com";
-    github = "uningan";
+    github = "oneingan";
     githubId = 810075;
     name = "Juan Rodal";
   };
@@ -8951,7 +8954,7 @@
     github = "leifhelm";
     githubId = 31693262;
     name = "Jakob Leifhelm";
-    keys =[{
+    keys = [{
       fingerprint = "4A82 F68D AC07 9FFD 8BF0  89C4 6817 AA02 3810 0822";
     }];
   };
@@ -10008,7 +10011,7 @@
     githubId = 95194;
     name = "Mauricio Scheffer";
   };
-   maxbrunet = {
+  maxbrunet = {
     email = "max@brnt.mx";
     github = "maxbrunet";
     githubId = 32458727;
@@ -10380,7 +10383,7 @@
     name = "Michael Pacheco";
     github = "MichaelPachec0";
     githubId = 48970112;
-    keys = [ {
+    keys = [{
       fingerprint = "8D12 991F 5558 C501 70B2  779C 7811 46B0 B5F9 5F64";
     }];
   };
@@ -17009,16 +17012,6 @@
     github = "wdavidw";
     githubId = 46896;
   };
-  WeebSorceress = {
-    name = "WeebSorceress";
-    email = "hello@weebsorceress.anonaddy.me";
-    matrix = "@weebsorceress:matrix.org";
-    github = "WeebSorceress";
-    githubId = 106774777;
-    keys = [{
-      fingerprint = "659A 9BC3 F904 EC24 1461  2EFE 7F57 3443 17F0 FA43";
-    }];
-  };
   wegank = {
     name = "Weijia Wang";
     email = "contact@weijia.wang";
diff --git a/maintainers/scripts/fix-maintainers.pl b/maintainers/scripts/fix-maintainers.pl
index 81f6450c5fa..a83df9ec0cf 100755
--- a/maintainers/scripts/fix-maintainers.pl
+++ b/maintainers/scripts/fix-maintainers.pl
@@ -42,7 +42,7 @@ while(my($k, $v) = each %$maintainers_json) {
     }
     my $resp_json = from_json($resp->content);
     my $api_user = %$resp_json{"login"};
-    if ($current_user ne $api_user) {
+    if (lc($current_user) ne lc($api_user)) {
         print $current_user . " is now known on github as " . $api_user . ". Editing maintainer-list.nix…\n";
         my $file = path($maintainers_list_nix);
         my $data = $file->slurp_utf8;
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index 91524cad743..ca658ad9a59 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -356,6 +356,8 @@ In addition to numerous new and updated packages, this release has the following
 
 - Only `k3s` version 1.26 is included. Users of the `k3s_1_24` or `k3s_1_25` packages should upgrade to use the `1.26` version of the package.
 
+- The `nerdfonts` package has been updated to major version 3, which includes potential [breaking changes](https://github.com/ryanoasis/nerd-fonts/releases/tag/v3.0.0).
+
 ## Other Notable Changes {#sec-release-23.05-notable-changes}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix
index 9e5603e0edc..42fb95a5220 100644
--- a/nixos/modules/services/web-servers/traefik.nix
+++ b/nixos/modules/services/web-servers/traefik.nix
@@ -48,6 +48,11 @@ let
     ''
   else
     cfg.staticConfigFile;
+
+  finalStaticConfigFile =
+    if cfg.environmentFiles == []
+    then staticConfigFile
+    else "/run/traefik/config.toml";
 in {
   options.services.traefik = {
     enable = mkEnableOption (lib.mdDoc "Traefik web server");
@@ -127,6 +132,16 @@ in {
       type = types.package;
       description = lib.mdDoc "Traefik package to use.";
     };
+
+    environmentFiles = mkOption {
+      default = [];
+      type = types.listOf types.path;
+      example = [ "/run/secrets/traefik.env" ];
+      description = lib.mdDoc ''
+        Files to load as environment file. Environment variables from this file
+        will be substituted into the static configuration file using envsubst.
+      '';
+    };
   };
 
   config = mkIf cfg.enable {
@@ -139,8 +154,13 @@ in {
       startLimitIntervalSec = 86400;
       startLimitBurst = 5;
       serviceConfig = {
-        ExecStart =
-          "${cfg.package}/bin/traefik --configfile=${staticConfigFile}";
+        EnvironmentFile = cfg.environmentFiles;
+        ExecStartPre = lib.optional (cfg.environmentFiles != [])
+          (pkgs.writeShellScript "pre-start" ''
+            umask 077
+            ${pkgs.envsubst}/bin/envsubst -i "${staticConfigFile}" > "${finalStaticConfigFile}"
+          '');
+        ExecStart = "${cfg.package}/bin/traefik --configfile=${finalStaticConfigFile}";
         Type = "simple";
         User = "traefik";
         Group = cfg.group;
@@ -155,6 +175,7 @@ in {
         ProtectHome = true;
         ProtectSystem = "full";
         ReadWriteDirectories = cfg.dataDir;
+        RuntimeDirectory = "traefik";
       };
     };
 
diff --git a/nixos/tests/traefik.nix b/nixos/tests/traefik.nix
index 989ec390c06..ce808e6ec95 100644
--- a/nixos/tests/traefik.nix
+++ b/nixos/tests/traefik.nix
@@ -52,10 +52,13 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             sendAnonymousUsage = false;
           };
 
-          entryPoints.web.address = ":80";
+          entryPoints.web.address = ":\${HTTP_PORT}";
 
           providers.docker.exposedByDefault = false;
         };
+        environmentFiles = [(pkgs.writeText "traefik.env" ''
+          HTTP_PORT=80
+        '')];
       };
 
       systemd.services.simplehttp = {
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 710712b845c..8531456a73d 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -30,7 +30,7 @@ appimageTools.wrapType2 rec {
     description = "App for Ledger hardware wallets";
     homepage = "https://www.ledger.com/ledger-live/";
     license = licenses.mit;
-    maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal WeebSorceress ];
+    maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/editors/ldtk/default.nix b/pkgs/applications/editors/ldtk/default.nix
index ecdb9946ce2..3ca39668cc4 100644
--- a/pkgs/applications/editors/ldtk/default.nix
+++ b/pkgs/applications/editors/ldtk/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, copyDesktopItems, unzip
-, appimage-run }:
+, appimage-run, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "ldtk";
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Modern, lightweight and efficient 2D level editor";
     homepage = "https://ldtk.io/";
diff --git a/pkgs/applications/editors/pixelorama/default.nix b/pkgs/applications/editors/pixelorama/default.nix
index 20dcd766b17..ab5539ffb47 100644
--- a/pkgs/applications/editors/pixelorama/default.nix
+++ b/pkgs/applications/editors/pixelorama/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, godot-headless, godot-export-templates }:
+{ lib, stdenv, fetchFromGitHub, godot-headless, godot-export-templates, nix-update-script }:
 
 let
   preset =
@@ -47,6 +47,8 @@ in stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     homepage = "https://orama-interactive.itch.io/pixelorama";
     description = "A free & open-source 2D sprite editor, made with the Godot Engine!";
diff --git a/pkgs/applications/networking/browsers/mullvad-browser/default.nix b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
index 559ca74e481..5a076c0bffd 100644
--- a/pkgs/applications/networking/browsers/mullvad-browser/default.nix
+++ b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
@@ -6,6 +6,7 @@
 , makeWrapper
 , writeText
 , wrapGAppsHook
+, callPackage
 
 # Common run-time dependencies
 , zlib
@@ -79,7 +80,7 @@ let
 
   version = "12.0.6";
 
-  srcs = {
+  sources = {
     x86_64-linux = fetchurl {
       url = "https://cdn.mullvad.net/browser/${version}/mullvad-browser-linux64-${version}_ALL.tar.xz";
       hash = "sha256-XE6HFU38FhnikxGHRHxIGS3Z3Y2JNWH0yq2NejqbROI=";
@@ -103,7 +104,7 @@ stdenv.mkDerivation rec {
   pname = "mullvad-browser";
   inherit version;
 
-  src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
+  src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
 
   nativeBuildInputs = [ copyDesktopItems makeWrapper wrapGAppsHook ];
 
@@ -219,10 +220,19 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    inherit sources;
+    updateScript = callPackage ../tor-browser-bundle-bin/update.nix {
+      inherit pname version meta;
+      baseUrl = "https://cdn.mullvad.net/browser/";
+      prefix = "mullvad-browser-";
+    };
+  };
+
   meta = with lib; {
     description = "Privacy-focused browser made in a collaboration between The Tor Project and Mullvad";
     homepage = "https://mullvad.net/en/browser";
-    platforms = attrNames srcs;
+    platforms = attrNames sources;
     maintainers = with maintainers; [ felschr ];
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
     # the compound is "libre" in a strict sense (some components place certain
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 9166dfde660..02186cc8ea2 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -2,6 +2,7 @@
 , fetchurl
 , makeDesktopItem
 , writeText
+, callPackage
 
 # Common run-time dependencies
 , zlib
@@ -92,7 +93,7 @@ let
 
   lang = "ALL";
 
-  srcs = {
+  sources = {
     x86_64-linux = fetchurl {
       urls = [
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
@@ -131,7 +132,7 @@ stdenv.mkDerivation rec {
   pname = "tor-browser-bundle-bin";
   inherit version;
 
-  src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
+  src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
 
   preferLocalBuild = true;
   allowSubstitutes = false;
@@ -447,6 +448,13 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    inherit sources;
+    updateScript = callPackage ./update.nix {
+      inherit pname version meta;
+    };
+  };
+
   meta = with lib; {
     description = "Tor Browser Bundle built by torproject.org";
     longDescription = ''
@@ -460,7 +468,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://www.torproject.org/";
     changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}";
-    platforms = attrNames srcs;
+    platforms = attrNames sources;
     maintainers = with maintainers; [ offline matejc thoughtpolice joachifm hax404 KarlJoad ];
     mainProgram = "tor-browser";
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/update.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/update.nix
new file mode 100644
index 00000000000..f169bd3c4ef
--- /dev/null
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/update.nix
@@ -0,0 +1,62 @@
+{ lib
+, writeShellScript
+, coreutils
+, gnused
+, gnugrep
+, curl
+, gnupg
+, nix
+, common-updater-scripts
+
+# options
+, pname
+, version
+, meta
+, baseUrl ? "https://dist.torproject.org/torbrowser/"
+# prefix used to match published archive
+, prefix ? "tor-browser-"
+# suffix used to match published archive
+, suffix ? "_ALL.tar.xz"
+}:
+
+writeShellScript "update-${pname}" ''
+  PATH="${lib.makeBinPath [ coreutils curl gnugrep gnused gnupg nix common-updater-scripts ]}"
+  set -euo pipefail
+
+  trap
+
+  url=${baseUrl}
+  version=$(curl -s $url \
+            | sed -rne 's,^.*href="([0-9]+(\.[0-9]+)*)/".*,\1,p' \
+            | sort --version-sort | tail -1)
+
+  if [[ "${version}" = "$version" ]]; then
+      echo "The new version same as the old version."
+      exit 0
+  fi
+
+  HOME=$(mktemp -d)
+  export GNUPGHOME=$(mktemp -d)
+  trap 'rm -rf "$HOME" "$GNUPGHOME"' EXIT
+
+  gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
+  gpg --output $HOME/tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290
+
+  curl --silent --show-error --fail -o $HOME/shasums "$url$version/sha256sums-signed-build.txt"
+  curl --silent --show-error --fail -o $HOME/shasums.asc "$url$version/sha256sums-signed-build.txt.asc"
+  gpgv --keyring=$HOME/tor.keyring $HOME/shasums.asc $HOME/shasums
+
+  declare -A platforms=(
+    ['x86_64-linux']='linux64'
+    ['i686-linux']='linux32'
+  )
+
+  for platform in ${lib.escapeShellArgs meta.platforms}; do
+    arch="''${platforms[$platform]}"
+    sha256=$(cat "$HOME/shasums" | grep "${prefix}""$arch-$version""${suffix}" | cut -d" " -f1)
+    hash=$(nix hash to-sri --type sha256 "$sha256")
+
+    update-source-version "${pname}" "0" "sha256-${lib.fakeSha256}" --source-key="sources.$platform"
+    update-source-version "${pname}" "$version" "$hash" --source-key="sources.$platform"
+  done
+''
diff --git a/pkgs/applications/networking/cluster/yor/default.nix b/pkgs/applications/networking/cluster/yor/default.nix
new file mode 100644
index 00000000000..ae5e64e2fe0
--- /dev/null
+++ b/pkgs/applications/networking/cluster/yor/default.nix
@@ -0,0 +1,42 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "yor";
+  version = "0.1.177";
+
+  src = fetchFromGitHub {
+    owner = "bridgecrewio";
+    repo = pname;
+    rev = version;
+    hash = "sha256-tOYRd3LxSlAvXCW89LAm4GWWukDBZhsgYIWYlEVKokE=";
+  };
+
+  vendorHash = "sha256-ZeTjGmlu8LndD2DKNncPzlpECdvkOjfwaVvV6S3sL9E=";
+
+  doCheck = false;
+
+  # https://github.com/bridgecrewio/yor/blob/main/set-version.sh
+  preBuild = ''
+    cat << EOF > src/common/version.go
+    package common
+
+    const Version = "${version}"
+    EOF
+  '';
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "Extensible auto-tagger for your IaC files. The ultimate way to link entities in the cloud back to the codified resource which created it.";
+    homepage = "https://github.com/bridgecrewio/yor";
+    changelog = "https://github.com/bridgecrewio/yor/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = [ maintainers.ivankovnatsky ];
+  };
+}
diff --git a/pkgs/applications/networking/newsreaders/raven-reader/default.nix b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
index 4cfcfabe3d8..b78afb6a726 100644
--- a/pkgs/applications/networking/newsreaders/raven-reader/default.nix
+++ b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "raven-reader";
-  version = "1.0.78";
+  version = "1.0.80";
   src = fetchurl {
     url = "https://github.com/hello-efficiency-inc/raven-reader/releases/download/v${version}/Raven-Reader-${version}.AppImage";
-    sha256 = "sha256-H9V2zTD80fBuIuNZnGDR21IYAAl/b6iYrde5rfsMECQ=";
+    sha256 = "sha256-RkpUWM1hAH73ePpQPj2C3SOukLpcPXbaXmb1VbcHaSU=";
   };
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
 
diff --git a/pkgs/applications/video/adl/default.nix b/pkgs/applications/video/adl/default.nix
index 621f7246c8a..9dbec102a55 100644
--- a/pkgs/applications/video/adl/default.nix
+++ b/pkgs/applications/video/adl/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     description = "popcorn anime-downloader + trackma wrapper";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ WeebSorceress ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/video/anime-downloader/default.nix b/pkgs/applications/video/anime-downloader/default.nix
index 60e89c2fdf6..04833eb4e82 100644
--- a/pkgs/applications/video/anime-downloader/default.nix
+++ b/pkgs/applications/video/anime-downloader/default.nix
@@ -49,6 +49,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "A simple but powerful anime downloader and streamer";
     license = licenses.unlicense;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ WeebSorceress ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix
index 09f99f400aa..ad7b12bfa33 100644
--- a/pkgs/applications/video/filebot/default.nix
+++ b/pkgs/applications/video/filebot/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchurl, coreutils, openjdk17, makeWrapper, autoPatchelfHook
 , zlib, libzen, libmediainfo, curlWithGnuTls, libmms, glib
+, genericUpdater, writeShellScript
 }:
 
 let
@@ -43,6 +44,13 @@ in stdenv.mkDerivation rec {
     ln -s $out/opt/filebot.sh $out/bin/filebot
   '';
 
+  passthru.updateScript = genericUpdater {
+    versionLister = writeShellScript "filebot-versionLister" ''
+      curl -s https://www.filebot.net \
+        | sed -rne 's,^.*FileBot_([0-9]*\.[0-9]+\.[0-9]+)-portable.tar.xz.*,\1,p'
+    '';
+  };
+
   meta = with lib; {
     description = "The ultimate TV and Movie Renamer";
     longDescription = ''
diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/applications/video/mpv/scripts/thumbfast.nix
index 7614cc171e8..fb231d87ca3 100644
--- a/pkgs/applications/video/mpv/scripts/thumbfast.nix
+++ b/pkgs/applications/video/mpv/scripts/thumbfast.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation {
   name = "mpv-thumbfast";
-  version = "unstable-2023-05-12";
+  version = "unstable-2023-06-04";
 
   src = fetchFromGitHub {
     owner = "po5";
     repo = "thumbfast";
-    rev = "10e9f6133d4ea88e3e5d154969abfaee17173570";
-    hash = "sha256-3fzkAR/itgheXQHTr30XPQR3NpYpIVeZfkcBxEoAnGg=";
+    rev = "6f1d92da25a7b807427f55f085e7ad4d60c4e0d7";
+    hash = "sha256-7CCxMPmZZRDIcWn+YbV4xzZFL80qZS5UFA25E+Y2P2Q=";
   };
 
   postPatch = ''
@@ -32,7 +32,7 @@ stdenvNoCC.mkDerivation {
   meta = {
     description = "High-performance on-the-fly thumbnailer for mpv";
     homepage = "https://github.com/po5/thumbfast";
-    license = lib.licenses.unfree; # no explicit licensing information available at this time
+    license = lib.licenses.mpl20;
     maintainers = with lib.maintainers; [ apfelkuchen6 ];
   };
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
index 2c987d5ca93..052c536e540 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -18,15 +18,15 @@
 , obs-vkcapture32
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "obs-vkcapture";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "nowrep";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-UQQ8oBEnOxmSN4ZyW4LdPZYvd5eB9EmdR0UvE1wgMZw=";
+    repo = finalAttrs.pname;
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-pvJzzDbsmsu46C8Jki+eMfCZLejkgvqns2hVNDtpSk0=";
   };
 
   cmakeFlags = lib.optionals stdenv.isi686 [
@@ -60,8 +60,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "OBS Linux Vulkan/OpenGL game capture";
     homepage = "https://github.com/nowrep/obs-vkcapture";
+    changelog = "https://github.com/nowrep/obs-vkcapture/releases/tag/v${finalAttrs.version}";
     maintainers = with maintainers; [ atila pedrohlc ];
     license = licenses.gpl2Only;
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix
index 6310f9fee4a..abe1c866671 100644
--- a/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -14,4 +14,9 @@ mkDerivation {
   pname = "kwayland-integration";
   nativeBuildInputs = [ extra-cmake-modules wayland-scanner ];
   buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-protocols wayland ];
+
+  meta = {
+    description = "Integration plugins for various KDE frameworks for the Wayland windowing system";
+    homepage = "https://invent.kde.org/plasma/kwayland-integration";
+  };
 }
diff --git a/pkgs/desktops/plasma-5/plasma-browser-integration.nix b/pkgs/desktops/plasma-5/plasma-browser-integration.nix
index dcd895efbbc..06325911a9d 100644
--- a/pkgs/desktops/plasma-5/plasma-browser-integration.nix
+++ b/pkgs/desktops/plasma-5/plasma-browser-integration.nix
@@ -33,4 +33,9 @@ mkDerivation {
     kactivities
     plasma-workspace
   ];
+
+  meta = {
+    description = "Components necessary to integrate browsers into the Plasma Desktop";
+    homepage = "https://community.kde.org/Plasma/Browser_Integration";
+  };
 }
diff --git a/pkgs/desktops/plasma-5/plasma-integration/default.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix
index f88b737e0ec..cf900af7143 100644
--- a/pkgs/desktops/plasma-5/plasma-integration/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -33,4 +33,9 @@ mkDerivation {
     wayland-protocols
     plasma-wayland-protocols
   ];
+
+  meta = {
+    description = "A set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace";
+    homepage = "https://invent.kde.org/plasma/plasma-integration";
+  };
 }
diff --git a/pkgs/development/compilers/pforth/default.nix b/pkgs/development/compilers/pforth/default.nix
index 44c6ea0a16a..59994b26aee 100644
--- a/pkgs/development/compilers/pforth/default.nix
+++ b/pkgs/development/compilers/pforth/default.nix
@@ -1,36 +1,36 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
 
-stdenv.mkDerivation {
-  version = "28";
+stdenv.mkDerivation (finalAttrs: {
   pname = "pforth";
+  version = "2.0.1";
+
   src = fetchFromGitHub {
     owner = "philburk";
     repo = "pforth";
-    rev = "9190005e32c6151b76ac707b30eeb4d5d9dd1d36";
-    sha256 = "0k3pmcgybsnwrxy75piyb2420r8d4ij190606js32j99062glr3x";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-vEjFeHSJl+yAtatYJEnu+r9hmOr/kZOgIbSUXR/c8WU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "gnumake-4.3-fix.patch";
-      url = "https://github.com/philburk/pforth/commit/457cb99f57292bc855e53abcdcb7b12d6681e847.patch";
-      sha256 = "0x1bwx3pqb09ddjhmdli47lnk1ys4ny42819g17kfn8nkjs5hbx7";
-    })
-  ];
+  dontConfigure = true;
 
-  makeFlags = [ "SRCDIR=." ];
-  makefile = "build/unix/Makefile";
+  preBuild = ''
+    cd platforms/unix
+  '';
 
   installPhase = ''
     install -Dm755 pforth_standalone $out/bin/pforth
   '';
 
-
   meta = {
-    description = "Portable ANSI style Forth written in ANSI C";
     homepage = "http://www.softsynth.com/pforth/";
-    license = lib.licenses.publicDomain;
+    description = "Portable Portable ANS-like Forth written in ANSI 'C'";
+    changelog = "https://github.com/philburk/pforth/blob/v${finalAttrs.version}/RELEASES.md";
+    license = lib.licenses.bsd0;
+    maintainers = with lib.maintainers; [ AndersonTorres yrashk ];
     platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ yrashk ];
   };
-}
+})
+# TODO: option for install the non-standalone executable
diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix
index 34f1ab41ff9..cb626ffac96 100644
--- a/pkgs/development/libraries/google-cloud-cpp/default.nix
+++ b/pkgs/development/libraries/google-cloud-cpp/default.nix
@@ -68,6 +68,9 @@ stdenv.mkDerivation rec {
     protobuf
   ];
 
+  # https://hydra.nixos.org/build/222679737/nixlog/3/tail
+  NIX_CFLAGS_COMPILE = if stdenv.isAarch64 then "-Wno-error=maybe-uninitialized" else null;
+
   doInstallCheck = true;
 
   preInstallCheck =
@@ -128,6 +131,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ asl20 ];
     homepage = "https://github.com/googleapis/google-cloud-cpp";
     description = "C++ Idiomatic Clients for Google Cloud Platform services";
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ cpcloud ];
   };
 }
diff --git a/pkgs/development/libraries/openimageio/default.nix b/pkgs/development/libraries/openimageio/default.nix
index b60b94b9291..cf717cc33f3 100644
--- a/pkgs/development/libraries/openimageio/default.nix
+++ b/pkgs/development/libraries/openimageio/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.4.11.1";
+  version = "2.4.12.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "v${version}";
-    hash = "sha256-Q8Gb/zscZre7fJPyLlZn04Xp3VFFbr6Z007mDPzownc=";
+    hash = "sha256-0Jilfe4jNNnpsbodJBFIyxjWqOA99MwmzAriwJgvqVs=";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/tbox/default.nix b/pkgs/development/libraries/tbox/default.nix
new file mode 100644
index 00000000000..5c622cfe665
--- /dev/null
+++ b/pkgs/development/libraries/tbox/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tbox";
+  version = "1.7.3";
+
+  src = fetchFromGitHub {
+    owner = "tboox";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-6SqMvwxKSiJO7Z33xx7cJoECu5AJ1gWF8ZsiERWx8DU=";
+  };
+
+  configureFlags = [
+    "--hash=y"
+    "--charset=y"
+    "--float=y"
+    "--demo=n"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/lib/pkgconfig
+    substituteAll ${./libtbox.pc.in} $out/lib/pkgconfig/libtbox.pc
+  '';
+
+  meta = with lib; {
+    description = "A glib-like multi-platform c library";
+    homepage = "https://docs.tboox.org";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rewine ];
+  };
+}
+
diff --git a/pkgs/development/libraries/tbox/libtbox.pc.in b/pkgs/development/libraries/tbox/libtbox.pc.in
new file mode 100644
index 00000000000..19907b72c07
--- /dev/null
+++ b/pkgs/development/libraries/tbox/libtbox.pc.in
@@ -0,0 +1,10 @@
+prefix=@out@
+exec_prefix=${prefix}
+libdir=@out@/lib
+includedir=@out@/include
+
+Name: tbox
+Description: A glib-like multi-platform c library
+Version: @version@
+Libs: -L${libdir} -ltbox
+Cflags: -I${includedir}
diff --git a/pkgs/development/libraries/xmake-core-sv/default.nix b/pkgs/development/libraries/xmake-core-sv/default.nix
new file mode 100644
index 00000000000..83442a8d48a
--- /dev/null
+++ b/pkgs/development/libraries/xmake-core-sv/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xmake-core-sv";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "xmake-io";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-icvGQi6FNSZXNGs2oLiUKu6rrVsWcXh1r91kycGjnwY=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with lib; {
+    description = "Public domain cross-platform semantic versioning in c99";
+    homepage = "https://github.com/xmake-io/xmake-core-sv";
+    license = licenses.unlicense;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rewine ];
+  };
+}
+
diff --git a/pkgs/development/misc/resholve/test.nix b/pkgs/development/misc/resholve/test.nix
index 9096a9249a4..8f9da36c9de 100644
--- a/pkgs/development/misc/resholve/test.nix
+++ b/pkgs/development/misc/resholve/test.nix
@@ -20,7 +20,7 @@
 , runDemo ? false
 , binlore
 , sqlite
-, util-linux
+, unixtools
 , gawk
 , rlwrap
 , gnutar
@@ -29,7 +29,7 @@
 
 let
   default_packages = [ bash file findutils gettext ];
-  parsed_packages = [ coreutils sqlite util-linux gnused gawk findutils rlwrap gnutar bc ];
+  parsed_packages = [ coreutils sqlite unixtools.script gnused gawk findutils rlwrap gnutar bc ];
 in
 rec {
   module1 = resholve.mkDerivation {
diff --git a/pkgs/development/mobile/ios-webkit-debug-proxy/0001-Don-t-compile-examples.patch b/pkgs/development/mobile/ios-webkit-debug-proxy/0001-Don-t-compile-examples.patch
new file mode 100644
index 00000000000..2ab6554d9ac
--- /dev/null
+++ b/pkgs/development/mobile/ios-webkit-debug-proxy/0001-Don-t-compile-examples.patch
@@ -0,0 +1,23 @@
+diff --git a/Makefile.am b/Makefile.am
+index 52dc7a8..407c056 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,4 +2,4 @@
+ # Copyright 2012 Google Inc. wrightt@google.com
+ 
+ AUTOMAKE_OPTIONS = foreign
+-SUBDIRS = src include examples
++SUBDIRS = src include
+diff --git a/configure.ac b/configure.ac
+index ac2a278..a4104b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,7 +82,7 @@ fi
+ 
+ AC_CHECK_FUNCS([memmove memset regcomp select socket strcasecmp strncasecmp strchr strdup strndup strrchr strstr strtol strcasestr getline])
+ 
+-AC_CONFIG_FILES([Makefile src/Makefile include/Makefile examples/Makefile])
++AC_CONFIG_FILES([Makefile src/Makefile include/Makefile])
+ 
+ CFLAGS="${CFLAGS} -Wall -Werror"
+ 
diff --git a/pkgs/development/mobile/ios-webkit-debug-proxy/default.nix b/pkgs/development/mobile/ios-webkit-debug-proxy/default.nix
new file mode 100644
index 00000000000..b9edbb4cbd4
--- /dev/null
+++ b/pkgs/development/mobile/ios-webkit-debug-proxy/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, autoconf
+, automake
+, fetchFromGitHub
+, fetchpatch
+, lib
+, libimobiledevice
+, libusb1
+, libplist
+, libtool
+, openssl
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ios-webkit-debug-proxy";
+  version = "1.9.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-cZ/p/aWET/BXKDrD+qgR+rfTISd+4jPNQFuV8klSLUo=";
+  };
+
+  patches = [
+    # OpenSSL 3.0 compatibility
+    (fetchpatch {
+      url = "https://github.com/google/ios-webkit-debug-proxy/commit/5ba30a2a67f39d25025cadf37c0eafb2e2d2d0a8.patch";
+      sha256 = "sha256-2b9BjG9wkqO+ZfoBYYJvD2Db5Kr0F/MxKMTRsI0ea3s=";
+    })
+    # Examples compilation breaks with --disable-static, see https://github.com/google/ios-webkit-debug-proxy/issues/399
+    ./0001-Don-t-compile-examples.patch
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ autoconf automake libtool pkg-config ];
+  buildInputs = [ libimobiledevice libusb1 libplist openssl ];
+
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "A DevTools proxy (Chrome Remote Debugging Protocol) for iOS devices (Safari Remote Web Inspector).";
+    longDescription = ''
+      The ios_webkit_debug_proxy (aka iwdp) proxies requests from usbmuxd
+      daemon over a websocket connection, allowing developers to send commands
+      to MobileSafari and UIWebViews on real and simulated iOS devices.
+    '';
+    homepage = "https://github.com/google/ios-webkit-debug-proxy";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.abustany ];
+  };
+}
diff --git a/pkgs/development/python-modules/broadbean/default.nix b/pkgs/development/python-modules/broadbean/default.nix
new file mode 100644
index 00000000000..aa4df096179
--- /dev/null
+++ b/pkgs/development/python-modules/broadbean/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, versioningit
+, numpy
+, matplotlib
+, schema
+, hypothesis
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "broadbean";
+  version = "0.11.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-e+LAcmWxT+SkaWtToPgg+x3QRu5fCSm+w4dLCcyZrw8=";
+  };
+
+  nativeBuildInputs = [ setuptools versioningit ];
+
+  propagatedBuildInputs = [
+    numpy
+    matplotlib
+    schema
+  ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "broadbean" ];
+
+  meta = {
+    homepage = "https://qcodes.github.io/broadbean";
+    description = "A library for making pulses that can be leveraged with QCoDeS";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ evilmav ];
+  };
+}
diff --git a/pkgs/development/python-modules/cfscrape/default.nix b/pkgs/development/python-modules/cfscrape/default.nix
index 222adbc489a..f050217c3fb 100644
--- a/pkgs/development/python-modules/cfscrape/default.nix
+++ b/pkgs/development/python-modules/cfscrape/default.nix
@@ -23,6 +23,6 @@ buildPythonPackage rec {
     description = "A Python module to bypass Cloudflare's anti-bot page";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ WeebSorceress ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index 7c091acb8b4..a3247b4ea93 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "google-auth";
-  version = "2.18.1";
+  version = "2.19.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-16MkkCfn9GT7v9fugxmgitCdLupRV4V1xL02D/oEnMs=";
+    hash = "sha256-qc+oiz4WGWhF5ko2WOuVOZISnROsczewZMZUb3fBcYM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oca-port/default.nix b/pkgs/development/python-modules/oca-port/default.nix
new file mode 100644
index 00000000000..0a603b0b91c
--- /dev/null
+++ b/pkgs/development/python-modules/oca-port/default.nix
@@ -0,0 +1,46 @@
+{ buildPythonPackage
+, click
+, fetchPypi
+, gitpython
+, lib
+, nix-update-script
+, requests
+, setuptools-scm
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "oca-port";
+  version = "0.13";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "oca_port";
+    hash = "sha256-9ihqjnGdBPasiRD2pZeaiibwzFQKI9t+s/zMzvyLLHQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    click
+    gitpython
+    requests
+  ];
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  passthru.updateScript = nix-update-script { };
+
+  pythonImportsCheck = [ "oca_port" ];
+
+  meta = with lib; {
+    description = "Tool helping to port an addon or missing commits of an addon from one branch to another";
+    homepage = "https://github.com/OCA/oca-port";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ yajo ];
+  };
+}
diff --git a/pkgs/development/python-modules/opencensus-ext-azure/default.nix b/pkgs/development/python-modules/opencensus-ext-azure/default.nix
new file mode 100644
index 00000000000..132ce33264e
--- /dev/null
+++ b/pkgs/development/python-modules/opencensus-ext-azure/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, azure-core
+, azure-identity
+, opencensus
+, psutil
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "opencensus-ext-azure";
+  version = "1.1.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-UHYIt36djqq2/9X/EbfOuH9U5KapQMS4FDMbTRsDQVE=";
+  };
+
+  propagatedBuildInputs = [
+    azure-core
+    azure-identity
+    opencensus
+    psutil
+    requests
+  ];
+
+  pythonImportsCheck = [ "opencensus.ext.azure" ];
+
+  doCheck = false; # tests are not included in the PyPi tarball
+
+  meta = with lib; {
+    homepage = "https://github.com/census-instrumentation/opencensus-python/tree/master/contrib/opencensus-ext-azure";
+    description = "OpenCensus Azure Monitor Exporter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ billhuang evilmav ];
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix
new file mode 100644
index 00000000000..c38fb19faf3
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-api/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, deprecated
+, hatchling
+, importlib-metadata
+, opentelemetry-test-utils
+, setuptools
+, pytestCheckHook
+}:
+
+let
+  self = buildPythonPackage {
+    pname = "opentelemetry-api";
+    version = "1.18.0";
+    disabled = pythonOlder "3.7";
+
+    src = fetchFromGitHub {
+      owner = "open-telemetry";
+      repo = "opentelemetry-python";
+      rev = "refs/tags/v${self.version}";
+      hash = "sha256-h6XDzM29wYiC51S7OpBXvWFCfZ7DmIyGMG2pFjJV7pI=";
+      sparseCheckout = [ "/${self.pname}" ];
+    } + "/${self.pname}";
+
+    format = "pyproject";
+
+    nativeBuildInputs = [
+      hatchling
+    ];
+
+    propagatedBuildInputs = [
+      deprecated
+      importlib-metadata
+      setuptools
+    ];
+
+    nativeCheckInputs = [
+      opentelemetry-test-utils
+      pytestCheckHook
+    ];
+
+    pythonImportsCheck = [ "opentelemetry" ];
+
+    doCheck = false;
+
+    # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
+    passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
+
+    meta = with lib; {
+      homepage = "https://opentelemetry.io";
+      description = "OpenTelemetry Python API";
+      license = licenses.asl20;
+      maintainers = teams.deshaw.members;
+    };
+  };
+in self
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
new file mode 100644
index 00000000000..2cfd38f2d1b
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, opentelemetry-proto
+, opentelemetry-sdk
+, opentelemetry-test-utils
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-exporter-otlp-proto-common";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-HNlkbDyYnr0/lDeY1xt0pRxqk+977ljgPdfJzAxL3AQ=";
+    sparseCheckout = [ "/exporter/${pname}" ];
+  } + "/exporter/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    opentelemetry-sdk
+    opentelemetry-proto
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.common" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common";
+    description = "OpenTelemetry Protobuf encoding";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
new file mode 100644
index 00000000000..1b12b8f265e
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, backoff
+, googleapis-common-protos
+, grpcio
+, hatchling
+, opentelemetry-test-utils
+, opentelemetry-exporter-otlp-proto-common
+, pytest-grpc
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-exporter-otlp-proto-grpc";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-feAmPL/G3ABIY5tBODlMJIBzxqg6Bl7imJB2EYtEp2o=";
+    sparseCheckout = [ "/exporter/${pname}" ];
+  } + "/exporter/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    backoff
+    googleapis-common-protos
+    grpcio
+    opentelemetry-exporter-otlp-proto-common
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    "tests/performance/benchmarks/"
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.grpc" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-grpc";
+    description = "OpenTelemetry Collector Protobuf over gRPC Exporter";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
new file mode 100644
index 00000000000..ccf4cc7a210
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, backoff
+, googleapis-common-protos
+, hatchling
+, opentelemetry-exporter-otlp-proto-common
+, opentelemetry-test-utils
+, requests
+, responses
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-exporter-otlp-proto-http";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-r4jvIhRM9E4CuZyS/XvvYO+F9cPxip8ab57CUfip47Q=";
+    sparseCheckout = [ "/exporter/${pname}" ];
+  } + "/exporter/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    backoff
+    googleapis-common-protos
+    opentelemetry-exporter-otlp-proto-common
+    requests
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+    responses
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.http" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http";
+    description = "OpenTelemetry Collector Protobuf over HTTP Exporter";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
new file mode 100644
index 00000000000..278298be121
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, backoff
+, hatchling
+, opentelemetry-exporter-otlp-proto-grpc
+, opentelemetry-exporter-otlp-proto-http
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-exporter-otlp";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ph9ahT6M8UBvuUJjk6nug68Ou/D7XuuXkfnKHEdD8x8=";
+    sparseCheckout = [ "/exporter/${pname}" ];
+  } + "/exporter/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    opentelemetry-exporter-otlp-proto-grpc
+    opentelemetry-exporter-otlp-proto-http
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.exporter.otlp" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp";
+    description = "OpenTelemetry Collector Exporters";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
new file mode 100644
index 00000000000..003241d74c1
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, opentelemetry-api
+, opentelemetry-sdk
+, opentelemetry-test-utils
+, prometheus-client
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-exporter-prometheus";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vWVLUt3Ett04kqUyoTOBNvRj51/M35X83saBBxeOTZI=";
+    sparseCheckout = [ "/exporter/${pname}" ];
+  } + "/exporter/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    opentelemetry-api
+    opentelemetry-sdk
+    prometheus-client
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.exporter.prometheus" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-prometheus";
+    description = "Prometheus Metric Exporter for OpenTelemetry";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
new file mode 100644
index 00000000000..3fb18175ab2
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, asgiref
+, hatchling
+, opentelemetry-api
+, opentelemetry-instrumentation
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, opentelemetry-util-http
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-instrumentation-asgi";
+  version = "0.39b0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python-contrib";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-BfNrbOQwyApdcKOVGF0LqzWOxzLkHZYiYdYVVPkGmdQ=";
+    sparseCheckout = [ "/instrumentation/${pname}" ];
+  } + "/instrumentation/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    asgiref
+    opentelemetry-instrumentation
+    opentelemetry-api
+    opentelemetry-semantic-conventions
+    opentelemetry-util-http
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.instrumentation.asgi" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-asgi";
+    description = "ASGI instrumentation for OpenTelemetry";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
new file mode 100644
index 00000000000..2d8536a9037
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, django
+, hatchling
+, opentelemetry-api
+, opentelemetry-instrumentation
+, opentelemetry-instrumentation-asgi
+, opentelemetry-instrumentation-wsgi
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, opentelemetry-util-http
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-instrumentation-django";
+  version = "0.39b0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python-contrib";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5tyLFQTYuJBFAFZirqsaHXCw72Q3TigDctZZFi/2zdI=";
+    sparseCheckout = [ "/instrumentation/${pname}" ];
+  } + "/instrumentation/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    django
+    opentelemetry-api
+    opentelemetry-instrumentation
+    opentelemetry-instrumentation-asgi
+    opentelemetry-instrumentation-wsgi
+    opentelemetry-semantic-conventions
+    opentelemetry-util-http
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.instrumentation.django" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-django";
+    description = "OpenTelemetry Instrumentation for Django";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
new file mode 100644
index 00000000000..b50674ea1b6
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, opentelemetry-api
+, opentelemetry-instrumentation
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, opentelemetry-util-http
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-instrumentation-wsgi";
+  version = "0.39b0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python-contrib";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DBZGXY8Y208YC/guk0qUB04UA/JFAtiv3kjsikskTRs=";
+    sparseCheckout = [ "/instrumentation/${pname}" ];
+  } + "/instrumentation/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    opentelemetry-instrumentation
+    opentelemetry-api
+    opentelemetry-semantic-conventions
+    opentelemetry-util-http
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.instrumentation.wsgi" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-wsgi";
+    description = "WSGI Middleware for OpenTelemetry";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
new file mode 100644
index 00000000000..140ca386554
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, opentelemetry-api
+, opentelemetry-sdk
+, opentelemetry-test-utils
+, setuptools
+, wrapt
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-instrumentation";
+  version = "0.39b0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python-contrib";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-+zk76A640nyd1L0I55JrMMs7EnQ+SPQdYGAFIyQFc6E=";
+    sparseCheckout = [ "/${pname}" ];
+  } + "/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    opentelemetry-api
+    opentelemetry-sdk
+    setuptools
+    wrapt
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.instrumentation" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation";
+    description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-proto/default.nix b/pkgs/development/python-modules/opentelemetry-proto/default.nix
new file mode 100644
index 00000000000..b3df8b89398
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-proto/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, protobuf
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-proto";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-6iB+QlBUqRvIJ9p38NYgP4icW2rYs1P3bNCxI95cOvs=";
+    sparseCheckout = [ "/${pname}" ];
+  } + "/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    protobuf
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.proto" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-proto";
+    description = "OpenTelemetry Python Proto";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-sdk/default.nix b/pkgs/development/python-modules/opentelemetry-sdk/default.nix
new file mode 100644
index 00000000000..6ac7b8037fb
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-sdk/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, flaky
+, hatchling
+, opentelemetry-api
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, setuptools
+, typing-extensions
+, pytestCheckHook
+}:
+
+let
+  self = buildPythonPackage {
+    pname = "opentelemetry-sdk";
+    version = "1.18.0";
+    disabled = pythonOlder "3.7";
+
+    src = fetchFromGitHub {
+      owner = "open-telemetry";
+      repo = "opentelemetry-python";
+      rev = "refs/tags/v${self.version}";
+      hash = "sha256-YMFSmzuvm/VA9Fpe7pbF9mnGQHOQpobWMb1iGRt+d3w=";
+      sparseCheckout = [ "/${self.pname}" ];
+    } + "/${self.pname}";
+
+    format = "pyproject";
+
+    nativeBuildInputs = [
+      hatchling
+    ];
+
+    propagatedBuildInputs = [
+      opentelemetry-api
+      opentelemetry-semantic-conventions
+      setuptools
+      typing-extensions
+    ];
+
+    nativeCheckInputs = [
+      flaky
+      opentelemetry-test-utils
+      pytestCheckHook
+    ];
+
+    disabledTestPaths = [
+      "tests/performance/benchmarks/"
+    ];
+
+    pythonImportsCheck = [ "opentelemetry.sdk" ];
+
+    doCheck = false;
+
+    # Enable tests via passthru to avoid cyclic dependency with opentelemetry-test-utils.
+    passthru.tests.${self.pname} = self.overridePythonAttrs { doCheck = true; };
+
+    meta = with lib; {
+      homepage = "https://opentelemetry.io";
+      description = "OpenTelemetry Python API and SDK";
+      license = licenses.asl20;
+      maintainers = teams.deshaw.members;
+    };
+  };
+in self
diff --git a/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix b/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
new file mode 100644
index 00000000000..d9743975bf6
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-semantic-conventions";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-82L/tDoWgu0r+Li3CS3hjVR99DQQmA5yt3y85+37imI=";
+    sparseCheckout = [ "/${pname}" ];
+  } + "/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.semconv" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-semantic-conventions";
+    description = "OpenTelemetry Semantic Conventions";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-test-utils/default.nix b/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
new file mode 100644
index 00000000000..0f78e511a88
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, callPackage
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, asgiref
+, hatchling
+, opentelemetry-api
+, opentelemetry-sdk
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-test-utils";
+  version = "1.18.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WRcKTE3eVqOSQUi5gZ3du+RGw8CrMazXHrctdrjgzHo=";
+    sparseCheckout = [ "/tests/${pname}" ];
+  } + "/tests/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    asgiref
+    opentelemetry-api
+    opentelemetry-sdk
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.test" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/tests/opentelemetry-test-utils";
+    description = "Test utilities for OpenTelemetry unit tests";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/opentelemetry-util-http/default.nix b/pkgs/development/python-modules/opentelemetry-util-http/default.nix
new file mode 100644
index 00000000000..ddd25dccb78
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-util-http/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, hatchling
+, opentelemetry-instrumentation
+, opentelemetry-sdk
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentelemetry-util-http";
+  version = "0.39b0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-python-contrib";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-C20/M5wimQec/8tTKx7+jkIYgfgNPtU9lkPKliIM3Uk=";
+    sparseCheckout = [ "/util/${pname}" ];
+  } + "/util/${pname}";
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    opentelemetry-instrumentation
+    opentelemetry-sdk
+    opentelemetry-semantic-conventions
+  ];
+
+  nativeCheckInputs = [
+    opentelemetry-test-utils
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "opentelemetry.util.http" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/util/opentelemetry-util-http";
+    description = "Web util for OpenTelemetry";
+    license = licenses.asl20;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix
index 35deda3f92b..bdd7846c762 100644
--- a/pkgs/development/python-modules/playwright/default.nix
+++ b/pkgs/development/python-modules/playwright/default.nix
@@ -15,7 +15,8 @@ let
 in
 buildPythonPackage rec {
   pname = "playwright";
-  version =  "1.32.1";
+  # run ./pkgs/development/python-modules/playwright/update.sh to update
+  version = "1.34.0";
   format = "setuptools";
   disabled = pythonOlder "3.7";
 
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "playwright-python";
     rev = "v${version}";
-    hash = "sha256-rguobFaepTOL2duHRdFV5o2JSsBlYiA7rY3/RyHvoMc=";
+    hash = "sha256-GIxMVuSSJsRDsHDOPnJsDsTcghGYtIFpRS5u7HJd+zY=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/playwright/update.sh b/pkgs/development/python-modules/playwright/update.sh
index 51dd8723c85..464f9a3cba0 100755
--- a/pkgs/development/python-modules/playwright/update.sh
+++ b/pkgs/development/python-modules/playwright/update.sh
@@ -1,8 +1,10 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnused nix-prefetch common-updater-scripts
+#!nix-shell -i bash -p curl gnused nix-prefetch common-updater-scripts node2nix
 set -euo pipefail
 
 root="$(dirname "$(readlink -f "$0")")"
+driver_file="$root/../../web/playwright/driver.nix"
+playwright_test="$root/../../web/playwright-test"
 
 version=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s https://api.github.com/repos/microsoft/playwright-python/releases/latest | jq -r '.tag_name | sub("^v"; "")')
 
@@ -13,11 +15,11 @@ setup_py_url="https://github.com/microsoft/playwright-python/raw/v${version}/set
 driver_version=$(curl -Ls "$setup_py_url" | grep '^driver_version =' | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+')
 
 fetch_driver_arch() {
-  nix-prefetch-url "https://playwright.azureedge.net/builds/driver/playwright-${version}-${1}.zip"
+  nix-prefetch-url "https://playwright.azureedge.net/builds/driver/playwright-${driver_version}-${1}.zip"
 }
 
 replace_sha() {
-  sed -i "s|$1 = \".\{44,52\}\"|$1 = \"$2\"|" "$root/default.nix"
+  sed -i "s|$1 = \".\{44,52\}\"|$1 = \"$2\"|" "$driver_file"
 }
 
 # Replace SHAs for the driver downloads
@@ -27,5 +29,7 @@ replace_sha "aarch64-linux" "$(fetch_driver_arch "linux-arm64")"
 replace_sha "aarch64-darwin" "$(fetch_driver_arch "mac-arm64")"
 
 # Update the version stamps
-sed -i "s/driverVersion = \"[^\$]*\"/driverVersion = \"$driver_version\"/" "$root/default.nix"
+sed -i "s/version =\s*\"[^\$]*\"/version = \"$driver_version\"/" "$driver_file"
+sed -i "s/\"@playwright\/test\": \"[^\$]*\"/\"@playwright\/test\": \"$driver_version\"/" "$playwright_test/node-packages.json"
+(cd "$playwright_test"; node2nix -i node-packages.json)
 update-source-version playwright "$version" --rev="v$version"
diff --git a/pkgs/development/python-modules/pySmartDL/default.nix b/pkgs/development/python-modules/pySmartDL/default.nix
index 66503bba99d..cfad2238fbd 100644
--- a/pkgs/development/python-modules/pySmartDL/default.nix
+++ b/pkgs/development/python-modules/pySmartDL/default.nix
@@ -20,6 +20,6 @@ buildPythonPackage rec {
     description = "A Smart Download Manager for Python";
     license = licenses.unlicense;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ WeebSorceress ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-grpc/default.nix b/pkgs/development/python-modules/pytest-grpc/default.nix
new file mode 100644
index 00000000000..da106064a80
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-grpc/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, grpcio
+, pytest
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-grpc";
+  version = "0.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-C9JoP/00GZRE1wfAqwGXCyLgr7umyx3bbVeMhev+Cb0=";
+  };
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    grpcio
+  ];
+
+  meta = with lib; {
+    description = "pytest plugin for grpc";
+    homepage = "https://github.com/MobileDynasty/pytest-env";
+    license = licenses.mit;
+    maintainers = teams.deshaw.members;
+  };
+}
diff --git a/pkgs/development/python-modules/pyvisa-sim/default.nix b/pkgs/development/python-modules/pyvisa-sim/default.nix
new file mode 100644
index 00000000000..56fef67a1f9
--- /dev/null
+++ b/pkgs/development/python-modules/pyvisa-sim/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, fetchPypi
+, pythonOlder
+, buildPythonPackage
+, pyvisa
+, pyyaml
+, stringparser
+, typing-extensions
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyvisa-sim";
+  version = "0.5.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "PyVISA-sim";
+    inherit version;
+    sha256 = "sha256-vWxW941/1e58pqL/Rzq+eoZJpwsvLphgIe48SuJtohY=";
+  };
+
+  propagatedBuildInputs = [
+    pyvisa
+    pyyaml
+    stringparser
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyvisa_sim" ];
+
+  # should be fixed after 0.5.1, remove at next release
+  disabledTestPaths = [
+    "pyvisa_sim/testsuite/test_all.py"
+  ];
+
+  meta = with lib; {
+    description = "Simulated backend for PyVISA implementing TCPIP, GPIB, RS232, and USB resources";
+    homepage = "https://pyvisa.readthedocs.io/projects/pyvisa-sim/en/latest/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ evilmav ];
+  };
+}
diff --git a/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix b/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix
new file mode 100644
index 00000000000..e26745e7756
--- /dev/null
+++ b/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, fetchFromGitHub
+, pythonOlder
+, buildPythonPackage
+, setuptools
+, versioningit
+, qcodes
+, packaging
+, pytestCheckHook
+, pytest-mock
+, pyvisa-sim
+}:
+
+buildPythonPackage rec {
+  pname = "qcodes-contrib-drivers";
+  version = "0.18.0";
+
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "QCoDeS";
+    repo = "Qcodes_contrib_drivers";
+    rev = "v${version}";
+    sha256 = "sha256-hg3jSiuOkiuOInnUzzlKtBeoP5zkCDBQ3xP6KCwq+lU=";
+  };
+
+  nativeBuildInputs = [ setuptools versioningit ];
+
+  propagatedBuildInputs = [
+    qcodes
+    packaging
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+    pyvisa-sim
+  ];
+
+  pythonImportsCheck = [ "qcodes_contrib_drivers" ];
+
+  # should be fixed starting with 0.19.0, remove at next release
+  disabledTestPaths = [
+    "qcodes_contrib_drivers/tests/test_Keysight_M3201A.py"
+  ];
+
+  postInstall = ''
+    export HOME="$TMPDIR"
+  '';
+
+  meta = with lib; {
+    description = "User contributed drivers for QCoDeS";
+    homepage = "https://github.com/QCoDeS/Qcodes_contrib_drivers";
+    license = licenses.mit;
+    maintainers = with maintainers; [ evilmav ];
+  };
+}
diff --git a/pkgs/development/python-modules/qcodes-loop/default.nix b/pkgs/development/python-modules/qcodes-loop/default.nix
new file mode 100644
index 00000000000..ef65af007d9
--- /dev/null
+++ b/pkgs/development/python-modules/qcodes-loop/default.nix
@@ -0,0 +1,87 @@
+{ lib
+, fetchPypi
+, pythonOlder
+, buildPythonPackage
+, qcodes
+, h5py
+, lazy-loader
+, matplotlib
+, numpy
+, pandas
+, versioningit
+, xarray
+, hickle
+, ipython
+, slack-sdk
+, hypothesis
+, pytest-xdist
+, pytest-mock
+, pyqtgraph
+, pyqt5
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "qcodes-loop";
+  version = "0.1.1";
+
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "qcodes_loop";
+    sha256 = "sha256-pDR0Ws8cYQifftdE9dKcSzMxmouFo4tJmQvNanm6zyM=";
+  };
+
+  nativeBuildInputs = [
+    versioningit
+  ];
+
+  propagatedBuildInputs = [
+    qcodes
+    h5py
+    lazy-loader
+    matplotlib
+    numpy
+    pandas
+    xarray
+    hickle
+    ipython
+  ];
+
+  passthru.optional-dependencies = {
+    qtplot = [
+      pyqtgraph
+    ];
+    slack = [
+      slack-sdk
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    hypothesis
+    pytest-xdist
+    pytest-mock
+    pyqt5
+  ];
+
+  pythonImportsCheck = [ "qcodes_loop" ];
+
+  disabledTestPaths = [
+    # test broken in 0.1.1, see https://github.com/QCoDeS/Qcodes_loop/pull/25
+    "src/qcodes_loop/tests/test_hdf5formatter.py"
+  ];
+
+  postInstall = ''
+    export HOME="$TMPDIR"
+  '';
+
+  meta = with lib; {
+    description = "Features previously in QCoDeS";
+    homepage = "https://github.com/QCoDeS/Qcodes_loop";
+    license = licenses.mit;
+    maintainers = with maintainers; [ evilmav ];
+  };
+}
diff --git a/pkgs/development/python-modules/qcodes/default.nix b/pkgs/development/python-modules/qcodes/default.nix
new file mode 100644
index 00000000000..46e39fc4fcf
--- /dev/null
+++ b/pkgs/development/python-modules/qcodes/default.nix
@@ -0,0 +1,133 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, versioningit
+
+  # mandatory
+, broadbean
+, h5netcdf
+, h5py
+, importlib-metadata
+, importlib-resources
+, ipywidgets
+, ipykernel
+, jsonschema
+, matplotlib
+, numpy
+, opencensus
+, opencensus-ext-azure
+, packaging
+, pandas
+, pyvisa
+, ruamel-yaml
+, tabulate
+, typing-extensions
+, tqdm
+, uncertainties
+, websockets
+, wrapt
+, xarray
+, ipython
+, pillow
+, rsa
+
+  # optional
+, qcodes-loop
+
+  # test
+, pytestCheckHook
+, deepdiff
+, hypothesis
+, lxml
+, pytest-asyncio
+, pytest-mock
+, pytest-rerunfailures
+, pytest-xdist
+, pyvisa-sim
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "qcodes";
+  version = "0.38.1";
+
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-whUGkRvYQOdYxWoj7qhv2kiiyTwq3ZLLipI424PBzFg=";
+  };
+
+  nativeBuildInputs = [ setuptools versioningit ];
+
+  propagatedBuildInputs = [
+    broadbean
+    h5netcdf
+    h5py
+    ipywidgets
+    ipykernel
+    jsonschema
+    matplotlib
+    numpy
+    opencensus
+    opencensus-ext-azure
+    packaging
+    pandas
+    pyvisa
+    ruamel-yaml
+    tabulate
+    typing-extensions
+    tqdm
+    uncertainties
+    websockets
+    wrapt
+    xarray
+    ipython
+    pillow
+    rsa
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ];
+
+  passthru.optional-dependencies = {
+    loop = [
+      qcodes-loop
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    deepdiff
+    hypothesis
+    lxml
+    pytest-asyncio
+    pytest-mock
+    pytest-rerunfailures
+    pytest-xdist
+    pyvisa-sim
+    sphinx
+  ];
+
+  disabledTestPaths = [
+    # depends on qcodes-loop, causing a cyclic dependency
+    "qcodes/tests/dataset/measurement/test_load_legacy_data.py"
+  ];
+
+  pythonImportsCheck = [ "qcodes" ];
+
+  postInstall = ''
+    export HOME="$TMPDIR"
+  '';
+
+  meta = {
+    homepage = "https://qcodes.github.io/Qcodes/";
+    description = "Python-based data acquisition framework";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ evilmav ];
+  };
+}
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 1916dc052a4..0010723fcf4 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.24.0";
+  version = "1.25.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = "sentry-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-gCZvRkR5p94RxCe+STaV5M32xc2G71QkYF1TO2PHNMk=";
+    hash = "sha256-aY6oZf6S6jioeL10euxo1ijvzE7FcHQoWjadE21ILA4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/stringparser/default.nix b/pkgs/development/python-modules/stringparser/default.nix
new file mode 100644
index 00000000000..bac31595078
--- /dev/null
+++ b/pkgs/development/python-modules/stringparser/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "stringparser";
+  version = "0.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "hgrecco";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-uyeHuH0UfpZqh7sMRI6+fR/Rr2jSzdR+5O/MtzslO5w=";
+  };
+
+  nativeBuildInputs = [ setuptools setuptools-scm ];
+
+  pythonImportsCheck = [ "stringparser" ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "Easy to use pattern matching and information extraction";
+    homepage = "https://github.com/hgrecco/stringparser";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ evilmav ];
+  };
+}
diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix
index 92dcf2cf3af..9d374fc0228 100644
--- a/pkgs/development/tools/air/default.nix
+++ b/pkgs/development/tools/air/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "air";
-  version = "1.43.0";
+  version = "1.44.0";
 
   src = fetchFromGitHub {
     owner = "cosmtrek";
     repo = "air";
     rev = "v${version}";
-    hash = "sha256-gFMT/casY2ASbh0UzUjtgVGCiVFcFHBlvWlRptqRw3Y=";
+    hash = "sha256-BLha2PDn7iF0B5OPVkJT6en1Znt/6xiHxuCj14ha9tc=";
   };
 
   vendorHash = "sha256-n2Ei+jckSYAydAdJnMaPc7FGUcwSbC49hk6nlDyDMPE=";
diff --git a/pkgs/development/tools/build-managers/xmake/default.nix b/pkgs/development/tools/build-managers/xmake/default.nix
new file mode 100644
index 00000000000..4ad117ab93f
--- /dev/null
+++ b/pkgs/development/tools/build-managers/xmake/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, lua
+, readline
+, ncurses
+, lz4
+, tbox
+, xmake-core-sv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xmake";
+  version = "2.7.9";
+
+  src = fetchurl {
+    url = "https://github.com/xmake-io/xmake/releases/download/v${version}/xmake-v${version}.tar.gz";
+    hash = "sha256-m0LYY0gz9IhbBbiUKd1gBE3KmSMvYJYyC42Ff7M9Ku8=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    lua
+    lua.pkgs.cjson
+    readline
+    ncurses
+    lz4
+    tbox
+    xmake-core-sv
+  ];
+
+  configureFlags = [ "--external=y" ];
+
+  meta = with lib; {
+    description = "A cross-platform build utility based on Lua";
+    homepage = "https://xmake.io";
+    license = licenses.asl20;
+    platforms = lua.meta.platforms;
+    maintainers = with maintainers; [ rewine ];
+  };
+}
+
diff --git a/pkgs/development/tools/capnproto-rust/default.nix b/pkgs/development/tools/capnproto-rust/default.nix
new file mode 100644
index 00000000000..f3015427add
--- /dev/null
+++ b/pkgs/development/tools/capnproto-rust/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchCrate
+, rustPlatform
+, capnproto
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "capnproto-rust";
+  version = "0.17.1";
+
+  src = fetchCrate {
+    crateName = "capnpc";
+    inherit version;
+    sha256 = "sha256-7RfJUYV3X9w0FALP3pbhmeIqrWLqlgr4oNvPnBc+RY8=";
+  };
+
+  cargoHash = "sha256-wmoXdukXWagW61jbFBODnIjlBrV6Q+wgvuFG/TqkvVk=";
+
+  nativeCheckInputs = [
+    capnproto
+  ];
+
+  meta = with lib; {
+    description = "Cap'n Proto codegen plugin for Rust";
+    homepage = "https://github.com/capnproto/capnproto-rust";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mikroskeem ];
+  };
+}
diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix
index 1056803fd5b..ff3290189a0 100644
--- a/pkgs/development/tools/electron/binary/default.nix
+++ b/pkgs/development/tools/electron/binary/default.nix
@@ -24,7 +24,7 @@ let
 in
 rec {
 
-  electron-bin = electron_24-bin;
+  electron-bin = electron_25-bin;
 
   electron_9-bin = mkElectron "9.4.4" {
     x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
@@ -151,30 +151,39 @@ rec {
     headers = "0zvwd3gz5y3yq5jgkswnarv75j05lfaz58w37fidq5aib1hi50hn";
   };
 
-  electron_22-bin = mkElectron "22.3.8" {
-    armv7l-linux = "6488e32debf6e4a2027897b7748e2fdb6e27d1d05475e7aacd30e798e92af996";
-    aarch64-linux = "ab93be098c74edcc6f66ed461cbe6eb5f8185245edb611252ebb91a07e04ebe4";
-    x86_64-linux = "40a2394417c976dbe055fe96875f482bb73731991f547a977d049dba6a067c0e";
-    x86_64-darwin = "47cf839bbb59fc9d4abfff9bdfe3ec8ada88c0cfafe451227034e20592565344";
-    aarch64-darwin = "6dcc9ae7928f6fa01bc17377bd78ddef4fe5beb9a69ee293a8df60b2cc058a00";
-    headers = "1g4d81iwbkhw3b75q4fh1qajxfwwryqfbiqhviz1yqcw01cbah4f";
-  };
-
-  electron_23-bin = mkElectron "23.3.1" {
-    armv7l-linux = "0a0b4baf598fac6eed150436cccc754277c6c5765dcf06d33bf1457eb570e260";
-    aarch64-linux = "6aae5e986fd578d7ba8a6bf0f4631f314d48bac58f66f493e79f35ab9af911c1";
-    x86_64-linux = "084e16b84df37e31761cbf7f76effdd673d923c17115608b95a7b0cfc84caa46";
-    x86_64-darwin = "811309609df9dcd6e727fac6694b56847a1401d76eee94c26f12343e11a81beb";
-    aarch64-darwin = "2c092341413725c7609f6a891e6552dd094807fbce1a6f272be85723041e3b6f";
-    headers = "0as0wri865kj9m44qka8by8nw3c4g1hgyc8ar5m18r8kr0x28z00";
-  };
-
-  electron_24-bin = mkElectron "24.2.0" {
-    armv7l-linux = "c611ec6a6620a199a0656656c191384f498cff7e7831c45e449728379de4ba23";
-    aarch64-linux = "e81baa9f45dcf36f10960e823143bd30633ff679b4253a266896028c3b438959";
-    x86_64-linux = "8d7780dd2afcfe5e94a2cf574f4fa10a2a2c691227771fca49051c524ac67513";
-    x86_64-darwin = "23f77fbde72cad8315e7d370d929cdceb5408f5533494241fc5dd503d8ad0cdc";
-    aarch64-darwin = "529d0745e99278c66f631c81edbef22a5ad8871332366002edd371b409850b24";
-    headers = "1ydj6fddrn8h6igzim637di39i4vx7fajc9n98nhlzvpmc43rgbs";
+  electron_22-bin = mkElectron "22.3.12" {
+    armv7l-linux = "aee831671cb7f869366ed165900743e6e8a53845e9a059a68ef81bb725c93dca";
+    aarch64-linux = "35d8ba41d2247a26923e93d7b96425b39ac821fd24d31c286718a1e5b64a7156";
+    x86_64-linux = "616bc674bf7cbdd6369888b987514c7a63442755561e1f5e6d85575e881d107e";
+    x86_64-darwin = "e421bc52de410b45b68bae2f13c405ef0ef43f8aa2046419a0f15e38d04f214a";
+    aarch64-darwin = "f2d4b327df42f9801e09260b94adaeed878e02b7e4a9adfd5912b754181ead3c";
+    headers = "1k5a8sg8g5jzv9vih4n81wwlvi14snzxgvrh13w5canihj6hiygi";
+  };
+
+  electron_23-bin = mkElectron "23.3.5" {
+    armv7l-linux = "3525ab12e582c36b7e905550a13a4f8c205586eccbd818db7f705ee46be19939";
+    aarch64-linux = "49e9ff90165d12accd34e8fc6808016e20f7588fba2195af39f4467698adbcf0";
+    x86_64-linux = "168c9332448276c7f0338bffd02a90d6bdea90c4789ae655464831f74d3e6e43";
+    x86_64-darwin = "453ddddbe0a935b5349410d783f3dba079b4e913bfbd6b56a9c4927c4c3f1601";
+    aarch64-darwin = "a41bd320d73143f0469e6d250e65f2f629bef2c36f1e6730110b86436842d2d1";
+    headers = "11w1vz5kyklahhn7046bccknym24f076b5p19mxjwmmdbvggmvsq";
+  };
+
+  electron_24-bin = mkElectron "24.4.1" {
+    armv7l-linux = "4c0d12186e1fe918b0e5a618fc10eabb2b120b432ea5ff45e29c41a163f338f4";
+    aarch64-linux = "e9e9ac6b24e6dd79650be3619a98187fb9d07cc97bb181051912bead7c06cefe";
+    x86_64-linux = "4751d5320e0a2668e5b964dccf433fc7e537a3cb7f215d3042fd7d61d7f1198e";
+    x86_64-darwin = "a8417febf79db15f15edf209a03dcf4240ed0d7b7e731b31224173b685a768c2";
+    aarch64-darwin = "f2efec7bfe62002e1b52b0e14fa7bc5fd586812c0c49fbb0aa99830c20088484";
+    headers = "13zicpwzsnl34nvy0y15ykfabkda4991h6kc933r9n4fz4wk7493";
+  };
+
+  electron_25-bin = mkElectron "25.0.1" {
+    armv7l-linux = "1bfdb7e6d85880dd1695d8fab69558e69728fb4f23756375ba7f7bc4f441516a";
+    aarch64-linux = "0a8b44cc2c280a31f7a7e3c9927e55e4ea8ad3841a8cd4fe70237771e6c71023";
+    x86_64-linux = "c7c85dd575b7d1eccba8d338c91f524663514eb43c2fb936035c219bd84ab885";
+    x86_64-darwin = "f4a51adf95b37bfe39320ab7f8025b148a6b6b7140bd96101788a62b77c13d8c";
+    aarch64-darwin = "6a26d58eb5b37ce9852668e59330ca54bf6226e8bb1172e179bb9ddb592e4b8c";
+    headers = "0par0jw88j5n0jpg0lik6gws7iwqq45jcfs42w7vxz2g2nkpdgxp";
   };
 }
diff --git a/pkgs/development/tools/frece/default.nix b/pkgs/development/tools/frece/default.nix
index 2eebf2bcfbe..64de6d162f0 100644
--- a/pkgs/development/tools/frece/default.nix
+++ b/pkgs/development/tools/frece/default.nix
@@ -18,6 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/YodaEmbedding/frece";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ WeebSorceress ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index c14b7b573ab..3b96d563e77 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.53.1";
+  version = "1.53.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    hash = "sha256-8cZpWfWkqMqz63dcF11ZKRWEFbk3XUG7a69nASC7dNE=";
+    hash = "sha256-fsK9uHPh3ltZpAlo4kDp9MtGKBYqDMxJSygvaloKbMs=";
   };
 
-  vendorHash = "sha256-DnAW56TSZRywom4riRvylJaN8zk9U0Eq0quh6LRGtL4=";
+  vendorHash = "sha256-gg4E+6u1aukyXWJrRJRmhdeqUN/zw76kznSuE+99CDc=";
 
   subPackages = [ "cmd/golangci-lint" ];
 
diff --git a/pkgs/development/tools/language-servers/gopls/default.nix b/pkgs/development/tools/language-servers/gopls/default.nix
index f6697e6d809..7646f0d8078 100644
--- a/pkgs/development/tools/language-servers/gopls/default.nix
+++ b/pkgs/development/tools/language-servers/gopls/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.12.0";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "gopls/v${version}";
-    sha256 = "sha256-y9FgB8Qsm5wQ7dtrKrcl/bHTw04eRU1B7a+aZmA+eBE=";
+    sha256 = "sha256-mbJ9CzJxhAxYByfNpNux/zOWBGaiH4fvIRIh+BMprMk=";
   };
 
   modRoot = "gopls";
-  vendorSha256 = "sha256-MkldIbp7BpdfyapiJ1E4h3ft6g74zMb72tt4tCJlJz8=";
+  vendorSha256 = "sha256-Wx0tXrw3Y3Of3aZNYiD9EVYKFpqA3kqe5tFqppoe0A0=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/language-servers/pylyzer/default.nix b/pkgs/development/tools/language-servers/pylyzer/default.nix
index 2d2504c4857..2a4fbe1b7ff 100644
--- a/pkgs/development/tools/language-servers/pylyzer/default.nix
+++ b/pkgs/development/tools/language-servers/pylyzer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pylyzer";
-  version = "0.0.30";
+  version = "0.0.31";
 
   src = fetchFromGitHub {
     owner = "mtshiba";
     repo = "pylyzer";
     rev = "v${version}";
-    hash = "sha256-o90NmUTRdmfjOO0swc4d3SsbywiMeT1zKrkiFO3VeGk=";
+    hash = "sha256-1sUsCZFm61XYFguohLA3NzYa2tX21lc3wYiFkg1y0/o=";
   };
 
-  cargoHash = "sha256-IUNT30hKpBlmXoHiJQihQF4oD7odSJh2NK3d2On1WQA=";
+  cargoHash = "sha256-pQnRFGAeVVGKRBfpbQXCGBHxkXBYei7nOxYKg3hPJ1k=";
 
   nativeBuildInputs = [
     git
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index d4877d530e3..52f406c11e1 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "blackfire";
-  version = "2.15.0";
+  version = "2.16.1";
 
   src = passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform for blackfire: ${stdenv.hostPlatform.system}");
 
@@ -57,23 +57,23 @@ stdenv.mkDerivation rec {
     sources = {
       "x86_64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
-        sha256 = "eKHP7yOy6hnHi0EomZhsGXWinNy4roQ9qRGn8tah6KI=";
+        sha256 = "G+uiPCt7AJQsxkY2Snc2941nkyo9NY3wv3uNCAFfSmE=";
       };
       "i686-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
-        sha256 = "sCFVmGz850h9NKoVKUBV+93k913ihpfk+48buzsNOqw=";
+        sha256 = "F2uRmxe8fAPAN/z7T7Kr0h4zcVS4I9mg6nqNXmcwxpE=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
-        sha256 = "V6adZVR82Z15fN//wuwHZK6C95hAxXPB9NuA0kx1qPA=";
+        sha256 = "0MJDqRU+2phJ9P/c8GpB+btde0rSkR1gPx8Jbc4gIGo=";
       };
       "aarch64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
-        sha256 = "X0sWPjmVAzJTKHUxVLbhWTdc7ryn2GkNMj9CuRgTb0I=";
+        sha256 = "j6EfHRIN81uyro0QlzAjRSl3BLzObqI1EVuT9WaACu0=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
-        sha256 = "FvoslunTPxmc2KqaxNSb0uK9fP4CV5HR39UDoW3zJfw=";
+        sha256 = "n02ABC8HzmQXWpgmXgCNBNFl1xw/kW/ncTNIeoJCUB0=";
       };
     };
 
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index bda782c1ae5..f806c832453 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -13,47 +13,47 @@
 let
   phpMajor = lib.versions.majorMinor php.version;
 
-  version = "1.86.8";
+  version = "1.87.2";
 
   hashes = {
     "x86_64-linux" = {
       system = "amd64";
       sha256 = {
-        "8.0" = "zoT9f906lvMTyq+w7BAqwA3Wnadk0hEsc9KLYuffE8c=";
-        "8.1" = "KJB3/BlS8FCDg3CEaYf14RJk3xhda1K2XEPVylSRFTQ=";
-        "8.2" = "PrhPtYUkz+Zs4ctIJUsHlUqLHZDfXNMc7s6uA5RJNVI=";
+        "8.0" = "ylzxQlyk6jpyO9Zcqv/uUiRWcMSkPKFBgiCDnyU8lWI=";
+        "8.1" = "FEb0NBJpwoYaNdEHEn4TkSQR7VShGpHptaDIRKwrmkQ=";
+        "8.2" = "itB0Zm1Mog18F8vIHn9AZMYMzafLQR0v5zcOgqy1ouI=";
       };
     };
     "i686-linux" = {
       system = "i386";
       sha256 = {
-        "8.0" = "IByOPOvzJZOR9hw6Ngn81XtXBczRPLswDA4Mvh8dQdQ=";
-        "8.1" = "Mob30xhKWaREiqw3cjlrz0jtAc9onERT6NxTz9bUSSY=";
-        "8.2" = "a7paFrgLfMLvcQRcHPi+sJ61XTjphcba+tewrJw0OnE=";
+        "8.0" = "DL5wiaez4tzrn8xY+ptYiCvZ1HWaStT9vGWPd5whTaE=";
+        "8.1" = "0bX2frll0ne6H6o7HNH4TRV2D+NDe11mVvqwhvSDg9E=";
+        "8.2" = "U6zmbEkRr3+9yVwUgQ1+SBNK0zWD92S2KBOHJ1gMmjM=";
       };
     };
     "aarch64-linux" = {
       system = "arm64";
       sha256 = {
-        "8.0" = "6ZhFRjjj/y3yyH2PXVnw+Mhkm2trfpysxfXocH5nx48=";
-        "8.1" = "x2TGaehSJmgJJcapr6xBO9Svo1HE66eVRHt/Ab+RSzQ=";
-        "8.2" = "YUs8h/DBwaNvmYA9TS7l0skg+X4yBzcHbPH4QXeSdCI=";
+        "8.0" = "R6zdOw/K+/YPYzSEOEyz83hqiLHCM4EOjz2tLrJOPlE=";
+        "8.1" = "agLQVI3u7ENcWLDRx7YSEBZobRnwEaKAmFpIU5AXhqo=";
+        "8.2" = "Y2bUYaymoZ/Ct5a7K+5U+zNh9ZKUaq0Oal/v04nzuaU=";
       };
     };
     "aarch64-darwin" = {
       system = "arm64";
       sha256 = {
-        "8.0" = "HZV7I8HOWvGwV9kMuSBW1/vgs+plxYLvbVs/d8aNNfE=";
-        "8.1" = "PsHDB/P/vbdpqbLl12UqelHfvHHt2WxiWEUCV7s5ZJg=";
-        "8.2" = "pEkFLhjWOLquBcxE06Gv7HUB/lPU8cPajhsFc0kcKlA=";
+        "8.0" = "XcFU1lq694aLIn1HQdDSg2Zx68/fLew3GjkTLsxHYvk=";
+        "8.1" = "ovTtwXPut9jCvxVyd5mQzrfJPCy+rQvUi4c74NrBzY4=";
+        "8.2" = "8hybE62l8vSwbqpcrnj/lI2Wjy8R3wuO04zwofLi9EY=";
       };
     };
     "x86_64-darwin" = {
       system = "amd64";
       sha256 = {
-        "8.0" = "VOi901nkVNjHSk02HNk6/z9q3avs+doHWL+Zxxruc6k=";
-        "8.1" = "TVV9Iysueo1M2WaaX6CF52WzMfJJ96gOIxuy1mIA6ao=";
-        "8.2" = "XOcjZes3JNfulJimdCTkipiRzrJ/237SSfqNAelVPNU=";
+        "8.0" = "F4mIvjyf3Zi3icKcPe6KP2gR9jeC7EJskw9TfsTHz6Y=";
+        "8.1" = "WsHH/XJboHeRhxpYY0WtXEJwOsGNFtfexBShC/J7GaQ=";
+        "8.2" = "w3Vu7CTFebn59i1FYVCYHiOadTIPlPCkQ1QHEfvHWig=";
       };
     };
   };
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index d70c2bb9c60..b8e7a67270d 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.16.2";
+  version = "2.16.3";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-ehalSPD9yEWL9mm5qjUXWlPIbdEO8StLL2mOZPnB5do=";
+    hash = "sha256-SbLOrdsBy4rq2wm4tTIfjF61kcXXQQZdOJEclRdASOc=";
   };
 
-  vendorHash = "sha256-bEAUkTl5O5i2R4oglOWSgWG7OKzOrZo5YDe5TzNlZ3E=";
+  vendorHash = "sha256-aNXKRP7WFzscDPjZmDTbgKItNEQrRpsq+XiOuggx85w=";
 
   postPatch = ''
     # Disable some tests that need file system & network access.
diff --git a/pkgs/development/tools/volta/Cargo.lock b/pkgs/development/tools/volta/Cargo.lock
new file mode 100644
index 00000000000..0925a8cc91f
--- /dev/null
+++ b/pkgs/development/tools/volta/Cargo.lock
@@ -0,0 +1,1918 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "archive"
+version = "0.1.0"
+dependencies = [
+ "attohttpc",
+ "cfg-if 1.0.0",
+ "flate2",
+ "fs-utils",
+ "hyperx",
+ "progress-read",
+ "tar",
+ "tee",
+ "thiserror",
+ "verbatim",
+ "zip",
+]
+
+[[package]]
+name = "assert-json-diff"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50f1c3703dd33532d7f0ca049168930e9099ecac238e23cf932f3a69c42f06da"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "attohttpc"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b85f766c20e6ae766956f7a2fcc4e0931e79a7e1f48b29132b5d647021114914"
+dependencies = [
+ "flate2",
+ "http",
+ "log",
+ "rustls",
+ "rustls-native-certs",
+ "serde",
+ "serde_json",
+ "url",
+ "webpki",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"
+
+[[package]]
+name = "autocfg"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "block-buffer"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+dependencies = [
+ "block-padding",
+ "byte-tools",
+ "byteorder",
+ "generic-array",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09"
+dependencies = [
+ "byte-tools",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
+
+[[package]]
+name = "byte-tools"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+
+[[package]]
+name = "byteorder"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
+
+[[package]]
+name = "bytes"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+
+[[package]]
+name = "bzip2"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
+dependencies = [
+ "bzip2-sys",
+ "libc",
+]
+
+[[package]]
+name = "bzip2-sys"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chain-map"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc076b92c3d763b90697600bf9833c204b517ff911f64dcfb58221b0663d3ee9"
+
+[[package]]
+name = "chrono"
+version = "0.4.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "ci_info"
+version = "0.14.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62a62f39080c8c83e899dff6abd46c4fac05c1cf8dafece96ad8238e79addbf8"
+dependencies = [
+ "envmnt",
+]
+
+[[package]]
+name = "clap"
+version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [
+ "ansi_term",
+ "atty",
+ "bitflags",
+ "strsim",
+ "textwrap 0.11.0",
+ "unicode-width",
+ "vec_map",
+]
+
+[[package]]
+name = "cmdline_words_parser"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75d8078f03daf673d8bd34a1ef48c680ea4a895204882ce5f0ccfb2487b2bd29"
+
+[[package]]
+name = "colored"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
+dependencies = [
+ "atty",
+ "lazy_static",
+ "winapi",
+]
+
+[[package]]
+name = "console"
+version = "0.15.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "crc32fast"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
+dependencies = [
+ "cfg-if 0.1.10",
+]
+
+[[package]]
+name = "ctrlc"
+version = "3.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71"
+dependencies = [
+ "nix",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "detect-indent"
+version = "0.1.0"
+source = "git+https://github.com/stefanpenner/detect-indent-rs?branch=master#f645bcc81bfb1f9745c4a4dec7c7f6faf3f84ec5"
+dependencies = [
+ "lazy_static",
+ "regex",
+]
+
+[[package]]
+name = "digest"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "dunce"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c"
+
+[[package]]
+name = "either"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
+
+[[package]]
+name = "envmnt"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fbb2fcaad9e6c9e3388dfcc1b44ae5508ae864b7af36f163a8a7c1a48796eee"
+dependencies = [
+ "fsio",
+ "indexmap",
+]
+
+[[package]]
+name = "envoy"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb34b6240ca977e7ab7dff6f060f9cb9a8f92c7745fe9e292b9443944d1aa768"
+
+[[package]]
+name = "fake-simd"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+
+[[package]]
+name = "fastrand"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "779d043b6a0b90cc4c0ed7ee380a6504394cee7efd7db050e3774eee387324b2"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "redox_syscall",
+ "winapi",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+dependencies = [
+ "matches",
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs-utils"
+version = "0.1.0"
+
+[[package]]
+name = "fs2"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "fsio"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09e87827efaf94c7a44b562ff57de06930712fe21b530c3797cdede26e6377eb"
+dependencies = [
+ "dunce",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "hamcrest2"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f837c62de05dc9cc71ff6486cd85de8856a330395ae338a04bfcefe5e91075"
+dependencies = [
+ "num",
+ "regex",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "heck"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "http"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa 1.0.1",
+]
+
+[[package]]
+name = "httparse"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
+
+[[package]]
+name = "httpdate"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
+
+[[package]]
+name = "hyperx"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5617e92fc2f2501c3e2bc6ce547cad841adba2bae5b921c7e52510beca6d084c"
+dependencies = [
+ "base64",
+ "bytes",
+ "http",
+ "httpdate",
+ "language-tags",
+ "mime",
+ "percent-encoding",
+ "unicase",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef5528d9c2817db4e10cc78f8d4c8228906e5854f389ff6b076cee3572a09d35"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "idna"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg 1.0.0",
+ "hashbrown",
+]
+
+[[package]]
+name = "indicatif"
+version = "0.17.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729"
+dependencies = [
+ "console",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "itoa"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
+
+[[package]]
+name = "itoa"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+
+[[package]]
+name = "js-sys"
+version = "0.3.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "language-tags"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.138"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "maplit"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43"
+
+[[package]]
+name = "matches"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+
+[[package]]
+name = "maybe-uninit"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+
+[[package]]
+name = "memchr"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+
+[[package]]
+name = "mime"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425"
+dependencies = [
+ "unicase",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mockito"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80f9fece9bd97ab74339fe19f4bcaf52b76dcc18e5364c7977c1838f76b38de9"
+dependencies = [
+ "assert-json-diff",
+ "colored",
+ "httparse",
+ "lazy_static",
+ "log",
+ "rand",
+ "regex",
+ "serde_json",
+ "serde_urlencoded",
+ "similar",
+]
+
+[[package]]
+name = "msdos_time"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aad9dfe950c057b1bfe9c1f2aa51583a8468ef2a5baba2ebbe06d775efeb7729"
+dependencies = [
+ "time",
+ "winapi",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694"
+dependencies = [
+ "bitflags",
+ "cfg-if 1.0.0",
+ "libc",
+ "static_assertions",
+]
+
+[[package]]
+name = "num"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
+dependencies = [
+ "autocfg 0.1.4",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
+dependencies = [
+ "autocfg 0.1.4",
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+dependencies = [
+ "autocfg 0.1.4",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
+dependencies = [
+ "autocfg 0.1.4",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
+dependencies = [
+ "autocfg 0.1.4",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
+dependencies = [
+ "autocfg 0.1.4",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "once_cell"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+
+[[package]]
+name = "opaque-debug"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "os_info"
+version = "3.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f"
+dependencies = [
+ "log",
+ "serde",
+ "winapi",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+
+[[package]]
+name = "pest"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "933085deae3f32071f135d799d75667b63c8dc1f4537159756e3d4ceab41868c"
+dependencies = [
+ "ucd-trie",
+]
+
+[[package]]
+name = "pest_derive"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
+dependencies = [
+ "pest",
+ "pest_generator",
+]
+
+[[package]]
+name = "pest_generator"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63120576c4efd69615b5537d3d052257328a4ca82876771d6944424ccfd9f646"
+dependencies = [
+ "pest",
+ "pest_meta",
+ "proc-macro2 0.4.30",
+ "quote 0.6.12",
+ "syn 0.15.36",
+]
+
+[[package]]
+name = "pest_meta"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f249ea6de7c7b7aba92b4ff4376a994c6dbd98fd2166c89d5c4947397ecb574d"
+dependencies = [
+ "maplit",
+ "pest",
+ "sha-1",
+]
+
+[[package]]
+name = "podio"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd"
+
+[[package]]
+name = "portable-atomic"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
+
+[[package]]
+name = "proc-macro2"
+version = "0.4.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "progress-read"
+version = "0.1.0"
+
+[[package]]
+name = "quote"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
+dependencies = [
+ "proc-macro2 0.4.30",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
+dependencies = [
+ "proc-macro2 1.0.47",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "readext"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abdc58f5f18bcf347b55cebb34ed4618b0feff9a9223160f5902adbc1f6a72a6"
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
+dependencies = [
+ "getrandom",
+ "redox_syscall",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "retry"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4"
+dependencies = [
+ "rand",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55"
+dependencies = [
+ "base64",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568"
+
+[[package]]
+name = "same-file"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "schannel"
+version = "0.1.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
+dependencies = [
+ "lazy_static",
+ "windows-sys 0.36.1",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "security-framework"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "git+https://github.com/mikrostew/semver?branch=new-parser#7583eb352dc181ccd09978fd2b16461c1b1669c1"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.10.0"
+source = "git+https://github.com/mikrostew/semver-parser?branch=rewrite#f5c74268a09eef16a289a667ca7b4925e690fe13"
+dependencies = [
+ "pest",
+ "pest_derive",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+dependencies = [
+ "proc-macro2 1.0.47",
+ "quote 1.0.2",
+ "syn 1.0.105",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "indexmap",
+ "itoa 1.0.1",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
+dependencies = [
+ "form_urlencoded",
+ "itoa 0.4.4",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha-1"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
+dependencies = [
+ "block-buffer",
+ "digest",
+ "fake-simd",
+ "opaque-debug",
+]
+
+[[package]]
+name = "similar"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
+
+[[package]]
+name = "smallvec"
+version = "0.6.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
+dependencies = [
+ "maybe-uninit",
+]
+
+[[package]]
+name = "smawk"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "structopt"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
+dependencies = [
+ "clap",
+ "structopt-derive",
+]
+
+[[package]]
+name = "structopt-derive"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
+dependencies = [
+ "heck",
+ "proc-macro2 0.4.30",
+ "quote 0.6.12",
+ "syn 0.15.36",
+]
+
+[[package]]
+name = "syn"
+version = "0.15.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b4f551a91e2e3848aeef8751d0d4eec9489b6474c720fd4c55958d8d31a430c"
+dependencies = [
+ "proc-macro2 0.4.30",
+ "quote 0.6.12",
+ "unicode-xid",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.105"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
+dependencies = [
+ "proc-macro2 1.0.47",
+ "quote 1.0.2",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tar"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tee"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37c12559dba7383625faaff75be24becf35bfc885044375bcab931111799a3da"
+
+[[package]]
+name = "tempfile"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+dependencies = [
+ "cfg-if 1.0.0",
+ "fastrand",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
+]
+
+[[package]]
+name = "term_size"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "test-support"
+version = "0.1.0"
+dependencies = [
+ "archive",
+ "hamcrest2",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+dependencies = [
+ "smawk",
+ "unicode-linebreak",
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+dependencies = [
+ "proc-macro2 1.0.47",
+ "quote 1.0.2",
+ "syn 1.0.105",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi",
+]
+
+[[package]]
+name = "typenum"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec"
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77"
+
+[[package]]
+name = "unicase"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+dependencies = [
+ "matches",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "unicode-linebreak"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
+dependencies = [
+ "hashbrown",
+ "regex",
+]
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "unicode-xid"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "url"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22fe195a4f217c25b25cb5058ced57059824a678474874038dc88d211bf508d3"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "validate-npm-package-name"
+version = "0.1.0"
+dependencies = [
+ "lazy_static",
+ "percent-encoding",
+ "regex",
+]
+
+[[package]]
+name = "vec_map"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+
+[[package]]
+name = "verbatim"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbad0679079b451226e954019b2efac46bafa8f7b1418b953861e864072a97c6"
+
+[[package]]
+name = "version_check"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
+
+[[package]]
+name = "volta"
+version = "1.1.1"
+dependencies = [
+ "atty",
+ "cfg-if 1.0.0",
+ "ci_info",
+ "dirs",
+ "envoy",
+ "hamcrest2",
+ "hyperx",
+ "lazy_static",
+ "log",
+ "mockito",
+ "semver",
+ "serde",
+ "serde_json",
+ "structopt",
+ "test-support",
+ "textwrap 0.16.0",
+ "volta-core",
+ "volta-migrate",
+ "which",
+ "winreg",
+]
+
+[[package]]
+name = "volta-core"
+version = "0.1.0"
+dependencies = [
+ "archive",
+ "attohttpc",
+ "atty",
+ "cfg-if 1.0.0",
+ "chain-map",
+ "chrono",
+ "ci_info",
+ "cmdline_words_parser",
+ "console",
+ "ctrlc",
+ "detect-indent",
+ "dirs",
+ "dunce",
+ "envoy",
+ "fs-utils",
+ "fs2",
+ "hyperx",
+ "indexmap",
+ "indicatif",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "mockito",
+ "once_cell",
+ "os_info",
+ "readext",
+ "regex",
+ "retry",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "term_size",
+ "textwrap 0.16.0",
+ "validate-npm-package-name",
+ "volta-layout",
+ "walkdir",
+ "winreg",
+]
+
+[[package]]
+name = "volta-layout"
+version = "0.1.1"
+dependencies = [
+ "volta-layout-macro",
+]
+
+[[package]]
+name = "volta-layout-macro"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2 1.0.47",
+ "quote 1.0.2",
+ "syn 1.0.105",
+]
+
+[[package]]
+name = "volta-migrate"
+version = "0.1.0"
+dependencies = [
+ "log",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "volta-core",
+ "volta-layout",
+ "walkdir",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+dependencies = [
+ "same-file",
+ "winapi",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
+dependencies = [
+ "cfg-if 1.0.0",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2 1.0.47",
+ "quote 1.0.2",
+ "syn 1.0.105",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
+dependencies = [
+ "quote 1.0.2",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
+dependencies = [
+ "proc-macro2 1.0.47",
+ "quote 1.0.2",
+ "syn 1.0.105",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
+
+[[package]]
+name = "web-sys"
+version = "0.3.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "which"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+dependencies = [
+ "either",
+ "libc",
+ "once_cell",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+dependencies = [
+ "windows_aarch64_msvc 0.36.1",
+ "windows_i686_gnu 0.36.1",
+ "windows_i686_msvc 0.36.1",
+ "windows_x86_64_gnu 0.36.1",
+ "windows_x86_64_msvc 0.36.1",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc 0.42.0",
+ "windows_i686_gnu 0.42.0",
+ "windows_i686_msvc 0.42.0",
+ "windows_x86_64_gnu 0.42.0",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc 0.42.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[package]]
+name = "winreg"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "xattr"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "zip"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7341988e4535c60882d5e5f0b7ad0a9a56b080ade8bdb5527cb512f7b2180e0"
+dependencies = [
+ "bzip2",
+ "flate2",
+ "msdos_time",
+ "podio",
+ "time",
+]
diff --git a/pkgs/development/tools/volta/default.nix b/pkgs/development/tools/volta/default.nix
new file mode 100644
index 00000000000..125c396d1a2
--- /dev/null
+++ b/pkgs/development/tools/volta/default.nix
@@ -0,0 +1,55 @@
+{
+  lib,
+  rustPlatform,
+  libiconv,
+  stdenv,
+  installShellFiles,
+  darwin,
+  fetchFromGitHub,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "volta";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "volta-cli";
+    repo = "volta";
+    rev = "v${version}";
+    hash = "sha256-+j3WRpunV+3YfZnyuKA/CsiKr+gOaP2NbmnyoGMN+Mg=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "detect-indent-0.1.0" = "sha256-qtPkPaBiyuT8GhpEFdU7IkAgKnCbTES0FB2CvNKWqic=";
+      "semver-0.9.0" = "sha256-nw1somkZe9Qi36vjfWlTcDqHAIbaJj72KBTfmucVxXs=";
+      "semver-parser-0.10.0" = "sha256-iTGnKSddsriF6JS6lvJNjp9aDzGtfjrHEiCijeie3uE=";
+    };
+  };
+
+  buildInputs = [ installShellFiles ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security libiconv ];
+
+  HOME = "$TMPDIR";
+
+  postInstall = ''
+    installShellCompletion --cmd volta \
+      --bash <($out/bin/volta completions bash) \
+      --fish <($out/bin/volta completions fish) \
+      --zsh <($out/bin/volta completions zsh)
+  '';
+  meta = with lib; {
+    description = "The Hassle-Free JavaScript Tool Manager";
+    longDescription = ''
+      With Volta, you can select a Node engine once and then stop worrying
+      about it. You can switch between projects and stop having to manually
+      switch between Nodes. You can install npm package binaries in your
+      toolchain without having to periodically reinstall them or figure out why
+      they’ve stopped working.
+    '';
+    homepage = "https://volta.sh/";
+    changelog = "https://github.com/volta-cli/volta/blob/main/RELEASES.md";
+    license = with licenses; [ bsd2 ];
+    maintainers = with maintainers; [ fbrs ];
+  };
+}
diff --git a/pkgs/development/web/playwright-test/default.nix b/pkgs/development/web/playwright-test/default.nix
index 08f947ea46b..b795f708f18 100644
--- a/pkgs/development/web/playwright-test/default.nix
+++ b/pkgs/development/web/playwright-test/default.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
 
 let
   nodeEnv = import ./node-env.nix {
diff --git a/pkgs/development/web/playwright-test/node-env.nix b/pkgs/development/web/playwright-test/node-env.nix
index 5dad9ec63d4..bc1e36628ac 100644
--- a/pkgs/development/web/playwright-test/node-env.nix
+++ b/pkgs/development/web/playwright-test/node-env.nix
@@ -530,12 +530,15 @@ let
         then
             ln -s $out/lib/node_modules/.bin $out/bin
 
-            # Patch the shebang lines of all the executables
+            # Fixup all executables
             ls $out/bin/* | while read i
             do
                 file="$(readlink -f "$i")"
                 chmod u+rwx "$file"
-                patchShebangs "$file"
+                if isScript "$file"
+                then
+                    sed -i 's/\r$//' "$file"  # convert crlf to lf
+                fi
             done
         fi
 
diff --git a/pkgs/development/web/playwright-test/node-packages.json b/pkgs/development/web/playwright-test/node-packages.json
index e8b10e3381a..87012158d5e 100644
--- a/pkgs/development/web/playwright-test/node-packages.json
+++ b/pkgs/development/web/playwright-test/node-packages.json
@@ -1,3 +1,3 @@
 [
-  {"@playwright/test": "1.31.1"}
+  {"@playwright/test": "1.34.3"}
 ]
diff --git a/pkgs/development/web/playwright-test/node-packages.nix b/pkgs/development/web/playwright-test/node-packages.nix
index 7dcb6be8080..329452c14be 100644
--- a/pkgs/development/web/playwright-test/node-packages.nix
+++ b/pkgs/development/web/playwright-test/node-packages.nix
@@ -4,13 +4,13 @@
 
 let
   sources = {
-    "@types/node-18.15.11" = {
+    "@types/node-20.2.5" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.15.11";
+      version = "20.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz";
-        sha512 = "E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz";
+        sha512 = "JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==";
       };
     };
     "fsevents-2.3.2" = {
@@ -22,30 +22,30 @@ let
         sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
       };
     };
-    "playwright-core-1.31.1" = {
+    "playwright-core-1.34.3" = {
       name = "playwright-core";
       packageName = "playwright-core";
-      version = "1.31.1";
+      version = "1.34.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/playwright-core/-/playwright-core-1.31.1.tgz";
-        sha512 = "JTyX4kV3/LXsvpHkLzL2I36aCdml4zeE35x+G5aPc4bkLsiRiQshU5lWeVpHFAuC8xAcbI6FDcw/8z3q2xtJSQ==";
+        url = "https://registry.npmjs.org/playwright-core/-/playwright-core-1.34.3.tgz";
+        sha512 = "2pWd6G7OHKemc5x1r1rp8aQcpvDh7goMBZlJv6Co5vCNLVcQJdhxRL09SGaY6HcyHH9aT4tiynZabMofVasBYw==";
       };
     };
   };
 in
 {
-  "@playwright/test-1.31.1" = nodeEnv.buildNodePackage {
+  "@playwright/test-1.34.3" = nodeEnv.buildNodePackage {
     name = "_at_playwright_slash_test";
     packageName = "@playwright/test";
-    version = "1.31.1";
+    version = "1.34.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@playwright/test/-/test-1.31.1.tgz";
-      sha512 = "IsytVZ+0QLDh1Hj83XatGp/GsI1CDJWbyDaBGbainsh0p2zC7F4toUocqowmjS6sQff2NGT3D9WbDj/3K2CJiA==";
+      url = "https://registry.npmjs.org/@playwright/test/-/test-1.34.3.tgz";
+      sha512 = "zPLef6w9P6T/iT6XDYG3mvGOqOyb6eHaV9XtkunYs0+OzxBtrPAAaHotc0X+PJ00WPPnLfFBTl7mf45Mn8DBmw==";
     };
     dependencies = [
-      sources."@types/node-18.15.11"
+      sources."@types/node-20.2.5"
       sources."fsevents-2.3.2"
-      sources."playwright-core-1.31.1"
+      sources."playwright-core-1.34.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/web/playwright/driver.nix b/pkgs/development/web/playwright/driver.nix
index 2ebb884aab1..3ee02fe402e 100644
--- a/pkgs/development/web/playwright/driver.nix
+++ b/pkgs/development/web/playwright/driver.nix
@@ -29,15 +29,16 @@ let
     in
     {
     pname = "playwright-driver";
-    version =  "1.31.1";
+    # run ./pkgs/development/python-modules/playwright/update.sh to update
+    version = "1.34.3";
 
     src = fetchurl {
       url = "https://playwright.azureedge.net/builds/driver/${filename}";
       sha256 = {
-        x86_64-linux = "1wg49kfs8fflmx8g01bkckbjkghhwy7c44akckjf7dp4lbh1z8fd";
-        aarch64-linux = "0f09a0cxqxihy8lmbjzii80jkpf3n5xlvhjpgdkwmrr3wh0nnixj";
-        x86_64-darwin = "1zd0dz8jazymcpa1im5yzxb7rwl6wn4xz19lpz83bnpd1njq01b3";
-        aarch64-darwin = "0hcn80zm9aki8hzsf1cljzcmi4iaw7fascs8ajj0qcwqkkm4jnw0";
+        x86_64-linux = "1xh05v3yqa8gkwayhl4nffgjcnlakpyyi17hwzh0wqzrbwwn0cs8";
+        aarch64-linux = "18jxbmhiqda5pzrv6b3n7xi14xg4zvlh6sn7hc3b3hckl77vl933";
+        x86_64-darwin = "0fy5nxbvp1kxplavj832gxiznjqpvl0ww869hsfj0h1fibhly7cy";
+        aarch64-darwin = "11msl4pnmr8cmlw32xq2qvfz3g3fy0azvq134a47c0fnpj2gd5zl";
       }.${system} or throwSystem;
     };
 
diff --git a/pkgs/servers/alps/default.nix b/pkgs/servers/alps/default.nix
index 7815cedd8c8..e219d5a8c20 100644
--- a/pkgs/servers/alps/default.nix
+++ b/pkgs/servers/alps/default.nix
@@ -45,6 +45,6 @@ buildGoModule rec {
     description = "A simple and extensible webmail.";
     homepage = "https://git.sr.ht/~migadu/alps";
     license = licenses.mit;
-    maintainers = with maintainers; [ gordias booklearner madonius hmenke ];
+    maintainers = with maintainers; [ booklearner madonius hmenke ];
   };
 }
diff --git a/pkgs/servers/etebase/default.nix b/pkgs/servers/etebase/default.nix
index 1b50e3cbe45..f397b78eca0 100644
--- a/pkgs/servers/etebase/default.nix
+++ b/pkgs/servers/etebase/default.nix
@@ -12,6 +12,7 @@
 , python-ldap
 , withPostgres ? true
 , psycopg2
+, nix-update-script
 }:
 
 buildPythonPackage rec {
@@ -47,6 +48,8 @@ buildPythonPackage rec {
     chmod +x $out/bin/etebase-server
   '';
 
+  passthru.updateScript = nix-update-script {};
+
   meta = with lib; {
     homepage = "https://github.com/etesync/server";
     description = "An Etebase (EteSync 2.0) server so you can run your own";
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix b/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
index bf5cecd821f..1a7e233c6e8 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
@@ -74,5 +74,6 @@ mkYarnPackage rec {
     description = "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA";
     maintainers = with maintainers; [ chvp ];
     license = licenses.asl20;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/package.json b/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
index 0c4a0956b61..525e9201b79 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-hookshot",
-  "version": "4.0.0",
+  "version": "4.1.0",
   "description": "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.",
   "main": "lib/app.js",
   "repository": "https://github.com/matrix-org/matrix-hookshot",
@@ -35,10 +35,10 @@
     "test:cover": "nyc --reporter=lcov --reporter=text yarn test",
     "lint": "yarn run lint:js && yarn run lint:rs",
     "lint:js": "eslint -c .eslintrc.js 'src/**/*.ts' 'tests/**/*.ts' 'web/**/*.ts' 'web/**/*.tsx'",
-    "lint:rs": "cargo fmt --all -- --check",
-    "lint:rs:apply": "cargo fmt --all",
-    "generate-default-config": "ts-node src/Config/Defaults.ts --config > config.sample.yml",
-    "validate-config": "ts-node src/Config/Config.ts"
+    "lint:rs": "cargo fmt --all -- --check && cargo clippy -- -Dwarnings",
+    "lint:rs:apply": "cargo clippy --fix && cargo fmt --all",
+    "generate-default-config": "ts-node src/config/Defaults.ts --config > config.sample.yml",
+    "validate-config": "ts-node src/config/Config.ts"
   },
   "dependencies": {
     "@alloc/quick-lru": "^5.2.0",
@@ -46,6 +46,7 @@
     "@octokit/auth-token": "^2.4.5",
     "@octokit/rest": "^18.10.0",
     "@octokit/webhooks": "^9.1.2",
+    "@sentry/node": "^7.52.1",
     "ajv": "^8.11.0",
     "axios": "^0.24.0",
     "cors": "^2.8.5",
@@ -68,7 +69,7 @@
     "source-map-support": "^0.5.21",
     "string-argv": "^0.3.1",
     "tiny-typed-emitter": "^2.1.0",
-    "vm2": "^3.9.17",
+    "vm2": "^3.9.18",
     "winston": "^3.3.3",
     "xml2js": "^0.5.0",
     "yaml": "^2.2.2"
@@ -87,15 +88,15 @@
     "@types/micromatch": "^4.0.1",
     "@types/mime": "^2.0.3",
     "@types/mocha": "^9.0.0",
+    "@types/node": "18",
     "@types/node-emoji": "^1.8.1",
     "@types/uuid": "^8.3.3",
     "@types/xml2js": "^0.4.11",
-    "@types/node": "18",
-    "@typescript-eslint/eslint-plugin": "^5.4.0",
-    "@typescript-eslint/parser": "^5.4.0",
+    "@typescript-eslint/eslint-plugin": "^5.59.1",
+    "@typescript-eslint/parser": "^5.59.1",
     "@uiw/react-codemirror": "^4.12.3",
     "chai": "^4.3.4",
-    "eslint": "^8.3.0",
+    "eslint": "^8.39.0",
     "eslint-config-preact": "^1.3.0",
     "eslint-plugin-mocha": "^9.0.0",
     "mini.css": "^3.0.1",
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json b/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
index 106278288df..c7f2b263ed3 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "4.0.0",
-  "srcHash": "imZMYp1bgt5N8hPO6S4V133DoPCQoJ5TnMCG905qT1s=",
-  "yarnHash": "0rnb7i6v7pz2wywjrj0nb2c9am94pbxin1jiykj5p6czmzw289kl",
-  "cargoHash": "ldz5b7bC7qWRMVDixA4d5ls5Y1ONvElruRC+/TgQWr8="
+  "version": "4.1.0",
+  "srcHash": "TcLdZ9pSZ5T2sI6q1c+BpIFR647HUrwvamuQZ333NOg=",
+  "yarnHash": "1ydxjmr241kwhsacg4cx05951nijy6ch687xgqw4515islpb89v3",
+  "cargoHash": "s7NOZ2fKp6i2m4HbbcIWZcZgP8n45nGZqWGG9cV+FWw="
 }
diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix
index 240b77168d3..09c35def880 100644
--- a/pkgs/servers/monitoring/thanos/default.nix
+++ b/pkgs/servers/monitoring/thanos/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 buildGoModule rec {
   pname = "thanos";
   version = "0.31.0";
@@ -10,7 +10,15 @@ buildGoModule rec {
     sha256 = "sha256-EJZGc4thu0WhVSSRolIRYg39S81Cgm+JHwpW5eE7mDc=";
   };
 
-  vendorHash = "sha256-bNQwDttJ7YuQFrpp0alqe37/lue0CX5gB2UDRWWtTXQ=";
+  patches = [
+    # https://github.com/thanos-io/thanos/pull/6126
+    (fetchpatch {
+      url = "https://github.com/thanos-io/thanos/commit/a4c218bd690259fc0c78fe67e0739bd33d38541e.patch";
+      hash = "sha256-Hxc1s5IXAyw01/o4JvOXuyYuOFy0+cBUv3OkRv4DCXs=";
+    })
+  ];
+
+  vendorHash = "sha256-8+MUMux6v/O2syVyTx758yUBfJkertzibz6yFB05nWk=";
 
   doCheck = true;
 
diff --git a/pkgs/servers/search/zinc/default.nix b/pkgs/servers/search/zincsearch/default.nix
index 3c844ee5eb8..a6079b75d91 100644
--- a/pkgs/servers/search/zinc/default.nix
+++ b/pkgs/servers/search/zincsearch/default.nix
@@ -3,13 +3,14 @@
 , fetchFromGitHub
 , buildNpmPackage
 }:
+
 let
-  version = "0.3.6";
+  version = "0.4.5";
   src = fetchFromGitHub {
     owner = "zinclabs";
-    repo = "zinc";
+    repo = "zincsearch";
     rev = "v${version}";
-    sha256 = "sha256-7pPVX/jdHN7EMss6/uRZqJO+zDfDLZv/iG5iboB+s64=";
+    hash = "sha256-V4eI7cur+KI+PEcplQJdTBaT0czpN0ENN30W5rrzE+k=";
   };
 
   webui = buildNpmPackage {
@@ -18,9 +19,11 @@ let
 
     sourceRoot = "source/web";
 
-    npmDepsHash = "sha256-clRijS+hxWc1LwlAKjEEk/6XPBYC6CcLq5g/ry4a04g=";
+    npmDepsHash = "sha256-2AjUaEOn2Tj+X4f42SvNq1kX07WxkB1sl5KtGdCjbdw=";
 
-    CYPRESS_INSTALL_BINARY = 0; # cypress tries to download binaries otherwise
+    env = {
+      CYPRESS_INSTALL_BINARY = 0; # cypress tries to download binaries otherwise
+    };
 
     installPhase = ''
       mkdir -p $out/share
@@ -28,28 +31,27 @@ let
     '';
   };
 in
+
 buildGoModule rec {
-  pname = "zinc";
+  pname = "zincsearch";
   inherit src version;
 
   preBuild = ''
     cp -r ${webui}/share/zinc-ui web/dist
   '';
 
-  vendorHash = "sha256-akjb0cxHbITKS26c+7lVSHWO/KRoQVVKzAOra+tdAD8=";
-  subPackages = [ "cmd/zinc" ];
-
-  CGO_ENABLED = 0;
+  vendorHash = "sha256-TYs1iRUA4WC3iMS508c7jUC3Co86CKYjL5WFlnoyPhg=";
+  subPackages = [ "cmd/zincsearch" ];
 
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/zinclabs/zinc/pkg/meta.Version=${version}"
+    "-X github.com/zinclabs/zincsearch/pkg/meta.Version=${version}"
   ];
 
   meta = with lib; {
     description = "A lightweight alternative to elasticsearch that requires minimal resources, written in Go";
-    homepage = "https://github.com/zinclabs/zinc";
+    homepage = "https://zinc.dev";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya ];
   };
diff --git a/pkgs/servers/sql/pgbouncer/default.nix b/pkgs/servers/sql/pgbouncer/default.nix
index aaae684409f..7d3d3e949ed 100644
--- a/pkgs/servers/sql/pgbouncer/default.nix
+++ b/pkgs/servers/sql/pgbouncer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgbouncer";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchurl {
     url = "https://www.pgbouncer.org/downloads/files/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-rwsF6X0OH9mtRf4A6m0qk0xjB19n9+LM7yylnj2M5oI=";
+    hash = "sha256-WMPv+btywYEzso4fA0/Vk1bqdigcZeEnQyyhAcIIo5Q=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.pgbouncer.org/";
     description = "Lightweight connection pooler for PostgreSQL";
+    changelog = "https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_${replaceStrings ["."] ["_"] version}";
     license = licenses.isc;
     maintainers = with maintainers; [ _1000101 ];
     platforms = platforms.all;
diff --git a/pkgs/servers/web-apps/livebook/default.nix b/pkgs/servers/web-apps/livebook/default.nix
new file mode 100644
index 00000000000..83f21cb474c
--- /dev/null
+++ b/pkgs/servers/web-apps/livebook/default.nix
@@ -0,0 +1,42 @@
+{ lib, beamPackages, makeWrapper, rebar3, elixir, erlang, fetchFromGitHub }:
+beamPackages.mixRelease rec {
+  pname = "livebook";
+  version = "0.9.2";
+
+  inherit elixir;
+
+  buildInputs = [ erlang ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  src = fetchFromGitHub {
+    owner = "livebook-dev";
+    repo = "livebook";
+    rev = "v${version}";
+    hash = "sha256-khC3gtRvywgAY6qHslZgAV3kmziJgKhdCB8CDg/HkIU=";
+  };
+
+  mixFodDeps = beamPackages.fetchMixDeps {
+    pname = "mix-deps-${pname}";
+    inherit src version;
+    sha256 = "rwWGs4fGeuyV6BBFgCyyDwKf/YLgs1wY0xnHYy8iioE=";
+  };
+
+  installPhase = ''
+    mix escript.build
+    mkdir -p $out/bin
+    mv ./livebook $out/bin
+
+    wrapProgram $out/bin/livebook \
+      --prefix PATH : ${lib.makeBinPath [ elixir ]} \
+      --set MIX_REBAR3 ${rebar3}/bin/rebar3
+  '';
+
+  meta = with lib; {
+    license = licenses.asl20;
+    homepage = "https://livebook.dev/";
+    description = "Automate code & data workflows with interactive Elixir notebooks";
+    maintainers = with maintainers; [ munksgaard ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index 29b64501304..0fea9e35bd2 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -14,7 +14,7 @@
 
 buildGoModule rec {
   pname = "pulumi";
-  version = "3.60.1";
+  version = "3.69.0";
 
   # Used in pulumi-language packages, which inherit this prop
   sdkVendorHash = "sha256-oXsU4h4CwukJHttYLT7JiW2He8Yq5qAwnxL8+G5FIpc=";
@@ -23,12 +23,12 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bSuntT5b8UVrYw4ds4AfZB3Plvav5zGaEQpe34FefXk=";
+    hash = "sha256-tjYACGfUqWFAgOvcdPfGyZNxi0qhV6RaNgUgKivteZU=";
     # Some tests rely on checkout directory name
     name = "pulumi";
   };
 
-  vendorHash = "sha256-QDF2z8AjULQYvlxah/JgmbzoPuKQrgQng/33S+7K1Bw=";
+  vendorHash = "sha256-VVgawsRSjMIYu/+f9MmVQNgL90o8vrj9kzZpKbg8/98=";
 
   sourceRoot = "${src.name}/pkg";
 
diff --git a/pkgs/tools/misc/boxxy/default.nix b/pkgs/tools/misc/boxxy/default.nix
index 80d71ed3035..fa6d5e9db06 100644
--- a/pkgs/tools/misc/boxxy/default.nix
+++ b/pkgs/tools/misc/boxxy/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "boxxy";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "queer";
     repo = "boxxy";
     rev = "v${version}";
-    hash = "sha256-cXEoY9+no+WSp/VbbKl6q/mV5+B5d54kuIRfTtQUFc4=";
+    hash = "sha256-hA+xgvixq9h8HdUVM/8WvYhl+aADiqkMLp0JPLD0YUE=";
   };
 
-  cargoHash = "sha256-PiX10Q3tYkVcbj3SX5MkaN1xQ/H7SCNpqTIgG+nJ6uo=";
+  cargoHash = "sha256-LLDlnCO2POMcchXwbUuEYfM8tFlOLGzv6ErgXsobfsU=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/misc/codevis/default.nix b/pkgs/tools/misc/codevis/default.nix
index f1a1f74b746..464702432aa 100644
--- a/pkgs/tools/misc/codevis/default.nix
+++ b/pkgs/tools/misc/codevis/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "codevis";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "sloganking";
     repo = "codevis";
     rev = "v${version}";
-    hash = "sha256-J2cF0ELH9E05ZXRIZQU5qhU1taIorORtqIzq61hTHxQ=";
+    hash = "sha256-LZ6NsoyEPUvgcVdbG7U2Vzuz/TLLraScvW97PocUNpU=";
   };
 
-  cargoHash = "sha256-9QRd/UWlaRTtTOjtBa2TzrxCNf/sBbKT3GUnr1Spw+g=";
+  cargoHash = "sha256-sQKZJVnRs4IcBKmmaQDoJYBQtnuZW4aEICr6Xa8Flnk=";
 
   nativeBuildInputs = [
     pkg-config
@@ -26,11 +26,14 @@ rustPlatform.buildRustPackage rec {
     oniguruma
   ];
 
-  RUSTONIG_SYSTEM_LIBONIG = true;
+  env = {
+    RUSTONIG_SYSTEM_LIBONIG = true;
+  };
 
   meta = with lib; {
     description = "A tool to take all source code in a folder and render them to one image";
     homepage = "https://github.com/sloganking/codevis";
+    changelog = "https://github.com/sloganking/codevis/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
   };
diff --git a/pkgs/tools/misc/shopware-cli/default.nix b/pkgs/tools/misc/shopware-cli/default.nix
index c06eb925b6f..e30ea8e5526 100644
--- a/pkgs/tools/misc/shopware-cli/default.nix
+++ b/pkgs/tools/misc/shopware-cli/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.1.74";
+  version = "0.1.78";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-2gqmHSQ8ODXKZPD8PUEwazitASDJUxhaeY2ETT7W/G0=";
+    hash = "sha256-IJOT4hnh/ufF8x9EXAJ6TaXVD3qoyv+NqDXqH9XB9C4=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  vendorHash = "sha256-AdyT44dh8xNE7CBiInBntz+KnyjrTqDPwnssNNDL/y4=";
+  vendorHash = "sha256-MoqLxEPxApxMyGKGiPfdehdmKacpwL0BqRP7rEC0TdY=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
diff --git a/pkgs/tools/misc/trackma/default.nix b/pkgs/tools/misc/trackma/default.nix
index 855585dde3f..17bd117b22e 100644
--- a/pkgs/tools/misc/trackma/default.nix
+++ b/pkgs/tools/misc/trackma/default.nix
@@ -76,6 +76,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Open multi-site list manager for Unix-like systems (ex-wMAL)";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ WeebSorceress ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/whatsapp-chat-exporter/default.nix b/pkgs/tools/misc/whatsapp-chat-exporter/default.nix
new file mode 100644
index 00000000000..e6d2f7af0b7
--- /dev/null
+++ b/pkgs/tools/misc/whatsapp-chat-exporter/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "whatsapp-chat-exporter";
+  version = "0.9.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "KnugiHK";
+    repo = "Whatsapp-Chat-Exporter";
+    rev = "refs/tags/${version}";
+    hash = "sha256-DvCYMfR9GgdP9rVpcoIR5nG9b4ToOBMG1a9OTvjfIiU=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    bleach
+    jinja2
+    pycryptodome
+    javaobj-py3
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/KnugiHK/Whatsapp-Chat-Exporter";
+    description = "WhatsApp database parser";
+    changelog = "https://github.com/KnugiHK/Whatsapp-Chat-Exporter/releases/tag/${version}";
+    longDescription = ''
+      A customizable Android and iPhone WhatsApp database parser that will give
+      you the history of your WhatsApp conversations inHTML and JSON. Android
+      Backup Crypt12, Crypt14 and Crypt15 supported.
+    '';
+    license = licenses.mit;
+    mainProgram = "wtsexporter";
+    maintainers = with maintainers; [ bbenno ];
+  };
+}
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index ccf32b43843..89b200e8e56 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,7 +1,9 @@
 { lib, stdenv, fetchurl, pkg-config, perl
 , openssl, db, cyrus_sasl, zlib
 , Security
-, withCyrusSaslXoauth2 ? true, cyrus-sasl-xoauth2, makeWrapper
+# Disabled by default as XOAUTH2 is an "OBSOLETE" SASL mechanism and this relies
+# on a package that isn't really maintained anymore:
+, withCyrusSaslXoauth2 ? false, cyrus-sasl-xoauth2, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/networking/rshijack/default.nix b/pkgs/tools/networking/rshijack/default.nix
index 39f4004eaee..150502572e6 100644
--- a/pkgs/tools/networking/rshijack/default.nix
+++ b/pkgs/tools/networking/rshijack/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rshijack";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "kpcyrd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jpiwbjsYsb5scFbjtv2eTv6oo0HWWTYLpnpTZ8DEqb0=";
+    sha256 = "sha256-ys1uiUQbge/eKAog2f0wL9xM+RxuxNlsc8ZceoDJk9s=";
   };
 
-  cargoSha256 = "sha256-biHDnLu7OiYpnwtmayk2m6QYvX51YUVJH2FGP4qo14Q=";
+  cargoHash = "sha256-GkoRgl0jzej8HoD2wojLg71NQcGvQZTtdD4zuvsJa4Y=";
 
   meta = with lib; {
     description = "TCP connection hijacker";
diff --git a/pkgs/tools/security/hash-slinger/default.nix b/pkgs/tools/security/hash-slinger/default.nix
index d639c1aa211..0f0eeeb6b2a 100644
--- a/pkgs/tools/security/hash-slinger/default.nix
+++ b/pkgs/tools/security/hash-slinger/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hash-slinger";
-  version = "3.2";
+  version = "3.3";
 
   src = fetchFromGitHub {
     owner = "letoams";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PfOEGqPMGLixoqHENZnxOv9nK+dYMqe6P0k+ZiJMik0=";
+    sha256 = "sha256-c6IZHUFuhcccUWZYSOUGFbKpTtwMclIvEvDX8gE5d8o=";
   };
 
   pythonPath = with python3.pkgs; [
diff --git a/pkgs/tools/typesetting/mmark/default.nix b/pkgs/tools/typesetting/mmark/default.nix
index a5b67788842..55de563c538 100644
--- a/pkgs/tools/typesetting/mmark/default.nix
+++ b/pkgs/tools/typesetting/mmark/default.nix
@@ -2,13 +2,16 @@
 
 buildGoModule rec {
   pname = "mmark";
-  version = "2.2.31";
+  version = "2.2.32";
 
   src = fetchFromGitHub {
     owner = "mmarkdown";
     repo = "mmark";
-    rev = "v${version}";
-    sha256 = "sha256-mCnlLsvkkB7ZvBCLYHvYanz9XgWo92v5M/kKulhUKTE=";
+    # The tag has an outdated version number and fails the versio ntest
+    # The pinned revision includes one extra commit that fixes the issue
+    # rev = "v${version}";
+    rev = "158e9cca0280c58e205cb69b02bf33d7d826915e";
+    hash = "sha256-OzmqtmAAsG3ncrTl2o9rhK75i1WIpDnph0YrY38SlU0=";
   };
 
   vendorHash = "sha256-GjR9cOGLB6URHQi+qcyNbP7rm0+y4wypvgUxgJzIgGQ=";
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7814932b07c..06c031534a2 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -1833,6 +1833,7 @@ mapAliases ({
   zdfmediathk = throw "'zdfmediathk' has been renamed to/replaced by 'mediathekview'"; # Converted to throw 2022-02-22
   zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions"; # Added 2021-03-28
   zimwriterfs = throw "zimwriterfs is now part of zim-tools"; # Added 2022-06-10.
+  zinc = zincsearch; # Added 2023-05-28
   zq = zed.overrideAttrs (old: { meta = old.meta // { mainProgram = "zq"; }; }); # Added 2023-02-06
 
   # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 763588488c0..e08b406d559 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3620,6 +3620,8 @@ with pkgs;
 
   lesspass-cli = callPackage ../tools/security/lesspass-cli { };
 
+  livebook = callPackage ../servers/web-apps/livebook { };
+
   lsix = callPackage ../tools/graphics/lsix { };
 
   mdr = callPackage ../tools/misc/mdr { };
@@ -3752,6 +3754,8 @@ with pkgs;
 
   xc = callPackage ../development/tools/xc { };
 
+  ios-webkit-debug-proxy = callPackage ../development/mobile/ios-webkit-debug-proxy { };
+
   xcodeenv = callPackage ../development/mobile/xcodeenv { };
 
   gomobile = callPackage ../development/mobile/gomobile { };
@@ -13713,6 +13717,8 @@ with pkgs;
 
   whatip = callPackage ../tools/networking/whatip { };
 
+  whatsapp-chat-exporter = callPackage ../tools/misc/whatsapp-chat-exporter { };
+
   whatweb = callPackage ../tools/security/whatweb { };
 
   whipper = callPackage ../applications/audio/whipper { };
@@ -14364,7 +14370,7 @@ with pkgs;
 
   zip = callPackage ../tools/archivers/zip { };
 
-  zinc = callPackage ../servers/search/zinc { };
+  zincsearch = callPackage ../servers/search/zincsearch { };
 
   zkfuse = callPackage ../tools/filesystems/zkfuse { };
 
@@ -16759,6 +16765,8 @@ with pkgs;
 
   tinyscheme = callPackage ../development/interpreters/tinyscheme { };
 
+  tbox = callPackage ../development/libraries/tbox { };
+
   inherit (nodePackages) typescript;
 
   bupc = callPackage ../development/compilers/bupc { };
@@ -17808,7 +17816,8 @@ with pkgs;
     electron_21-bin
     electron_22-bin
     electron_23-bin
-    electron_24-bin;
+    electron_24-bin
+    electron_25-bin;
 
   electron = electron-bin;
   electron_9 = electron_9-bin;
@@ -17827,6 +17836,7 @@ with pkgs;
   electron_22 = electron_22-bin;
   electron_23 = electron_23-bin;
   electron_24 = electron_24-bin;
+  electron_25 = electron_25-bin;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -19572,6 +19582,8 @@ with pkgs;
 
   visualvm = callPackage ../development/tools/java/visualvm { };
 
+  volta = callPackage ../development/tools/volta { };
+
   vultr = callPackage ../development/tools/vultr { };
 
   vultr-cli = callPackage ../development/tools/vultr-cli { };
@@ -19592,6 +19604,10 @@ with pkgs;
 
   webdis = callPackage ../development/tools/database/webdis { };
 
+  xmake = callPackage ../development/tools/build-managers/xmake {
+    lua = lua5_4;
+  };
+
   xc3sprog = callPackage ../development/embedded/xc3sprog { stdenv = gcc10StdenvCompat; };
 
   xcb-imdkit = callPackage ../development/libraries/xcb-imdkit { };
@@ -19945,6 +19961,8 @@ with pkgs;
 
   capnproto-java = callPackage ../development/tools/capnproto-java { };
 
+  capnproto-rust = callPackage ../development/tools/capnproto-rust { };
+
   captive-browser = callPackage ../applications/networking/browsers/captive-browser { };
 
   ndn-cxx = callPackage ../development/libraries/ndn-cxx { };
@@ -24723,6 +24741,8 @@ with pkgs;
 
   xgeometry-select = callPackage ../tools/X11/xgeometry-select { };
 
+  xmake-core-sv = callPackage ../development/libraries/xmake-core-sv { };
+
   xmlada = callPackage ../development/libraries/ada/xmlada { };
 
   xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { };
@@ -26404,11 +26424,7 @@ with pkgs;
 
   tailspin = callPackage ../tools/misc/tailspin { };
 
-  thanos = callPackage ../servers/monitoring/thanos {
-    # Fails to run with go1.20 due to go4.org/unsafe/assume-no-moving-gc not being
-    # update to be compatible with Go 1.20
-    buildGoModule = buildGo119Module;
-  };
+  thanos = callPackage ../servers/monitoring/thanos { };
 
   trafficserver = callPackage ../servers/http/trafficserver { };
 
@@ -40604,6 +40620,8 @@ with pkgs;
 
   werf = callPackage ../applications/networking/cluster/werf { };
 
+  yor = callPackage ../applications/networking/cluster/yor { };
+
   wifi-password = callPackage ../os-specific/darwin/wifi-password { };
 
   qubes-core-vchan-xen = callPackage ../applications/qubes/qubes-core-vchan-xen { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a5c7b17261e..3d9f828e836 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1493,6 +1493,8 @@ self: super: with self; {
 
   brian2 = callPackage ../development/python-modules/brian2 { };
 
+  broadbean = callPackage ../development/python-modules/broadbean { };
+
   broadlink = callPackage ../development/python-modules/broadlink { };
 
   brother = callPackage ../development/python-modules/brother { };
@@ -6958,6 +6960,8 @@ self: super: with self; {
 
   obspy = callPackage ../development/python-modules/obspy { };
 
+  oca-port = callPackage ../development/python-modules/oca-port { };
+
   oci = callPackage ../development/python-modules/oci { };
 
   ocifs = callPackage ../development/python-modules/ocifs { };
@@ -7059,6 +7063,8 @@ self: super: with self; {
 
   opencensus-context = callPackage ../development/python-modules/opencensus-context { };
 
+  opencensus-ext-azure = callPackage ../development/python-modules/opencensus-ext-azure { };
+
   opencontainers = callPackage ../development/python-modules/opencontainers { };
 
   opencv3 = toPythonModule (pkgs.opencv3.override {
@@ -7108,6 +7114,36 @@ self: super: with self; {
 
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
 
+  opentelemetry-api = callPackage ../development/python-modules/opentelemetry-api { };
+
+  opentelemetry-exporter-otlp = callPackage ../development/python-modules/opentelemetry-exporter-otlp { };
+
+  opentelemetry-exporter-otlp-proto-common = callPackage ../development/python-modules/opentelemetry-exporter-otlp-proto-common { };
+
+  opentelemetry-exporter-otlp-proto-grpc = callPackage ../development/python-modules/opentelemetry-exporter-otlp-proto-grpc { };
+
+  opentelemetry-exporter-otlp-proto-http = callPackage ../development/python-modules/opentelemetry-exporter-otlp-proto-http { };
+
+  opentelemetry-exporter-prometheus = callPackage ../development/python-modules/opentelemetry-exporter-prometheus { };
+
+  opentelemetry-instrumentation = callPackage ../development/python-modules/opentelemetry-instrumentation { };
+
+  opentelemetry-instrumentation-asgi = callPackage ../development/python-modules/opentelemetry-instrumentation-asgi { };
+
+  opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { };
+
+  opentelemetry-instrumentation-wsgi = callPackage ../development/python-modules/opentelemetry-instrumentation-wsgi { };
+
+  opentelemetry-proto = callPackage ../development/python-modules/opentelemetry-proto { };
+
+  opentelemetry-semantic-conventions = callPackage ../development/python-modules/opentelemetry-semantic-conventions { };
+
+  opentelemetry-sdk = callPackage ../development/python-modules/opentelemetry-sdk { };
+
+  opentelemetry-test-utils = callPackage ../development/python-modules/opentelemetry-test-utils { };
+
+  opentelemetry-util-http = callPackage ../development/python-modules/opentelemetry-util-http { };
+
   openturns = toPythonModule (pkgs.openturns.override {
     python3Packages = self;
     enablePython = true;
@@ -9555,6 +9591,8 @@ self: super: with self; {
 
   pytest-golden = callPackage ../development/python-modules/pytest-golden { };
 
+  pytest-grpc = callPackage ../development/python-modules/pytest-grpc { };
+
   pytest-helpers-namespace = callPackage ../development/python-modules/pytest-helpers-namespace { };
 
   pytest-html = callPackage ../development/python-modules/pytest-html { };
@@ -10135,6 +10173,8 @@ self: super: with self; {
 
   pyvisa-py = callPackage ../development/python-modules/pyvisa-py { };
 
+  pyvisa-sim = callPackage ../development/python-modules/pyvisa-sim { };
+
   pyvista = callPackage ../development/python-modules/pyvista { };
 
   pyviz-comms = callPackage ../development/python-modules/pyviz-comms { };
@@ -10227,6 +10267,12 @@ self: super: with self; {
 
   qcengine = callPackage ../development/python-modules/qcengine { };
 
+  qcodes = callPackage ../development/python-modules/qcodes { };
+
+  qcodes-contrib-drivers = callPackage ../development/python-modules/qcodes-contrib-drivers { };
+
+  qcodes-loop = callPackage ../development/python-modules/qcodes-loop { };
+
   qcs-api-client = callPackage ../development/python-modules/qcs-api-client { };
 
   qdarkstyle = callPackage ../development/python-modules/qdarkstyle { };
@@ -11710,6 +11756,8 @@ self: super: with self; {
 
   stringly = callPackage ../development/python-modules/stringly { };
 
+  stringparser = callPackage ../development/python-modules/stringparser { };
+
   stripe = callPackage ../development/python-modules/stripe { };
 
   striprtf = callPackage ../development/python-modules/striprtf { };