From caacc20216aac6653295c2ae1eef3b432a5d96f6 Mon Sep 17 00:00:00 2001
From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com>
Date: Mon, 10 Jun 2024 20:44:33 -0400
Subject: [PATCH 001/109] fishPlugins.plugin-sudope: init at
 0-unstable-2021-04-11

---
 pkgs/shells/fish/plugins/default.nix       |  2 ++
 pkgs/shells/fish/plugins/plugin-sudope.nix | 26 ++++++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 pkgs/shells/fish/plugins/plugin-sudope.nix

diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix
index 36a5a59e4398..485faa1c89b1 100644
--- a/pkgs/shells/fish/plugins/default.nix
+++ b/pkgs/shells/fish/plugins/default.nix
@@ -50,6 +50,8 @@ lib.makeScope newScope (self: with self; {
 
   plugin-git = callPackage ./plugin-git.nix { };
 
+  plugin-sudope = callPackage ./plugin-sudope.nix { };
+
   puffer = callPackage ./puffer.nix { };
 
   pure = callPackage ./pure.nix { };
diff --git a/pkgs/shells/fish/plugins/plugin-sudope.nix b/pkgs/shells/fish/plugins/plugin-sudope.nix
new file mode 100644
index 000000000000..e24f6ae15050
--- /dev/null
+++ b/pkgs/shells/fish/plugins/plugin-sudope.nix
@@ -0,0 +1,26 @@
+{
+  lib,
+  buildFishPlugin,
+  fetchFromGitHub,
+  unstableGitUpdater,
+}:
+buildFishPlugin {
+  pname = "plugin-sudope";
+  version = "0-unstable-2021-04-11";
+
+  src = fetchFromGitHub {
+    owner = "oh-my-fish";
+    repo = "plugin-sudope";
+    rev = "83919a692bc1194aa322f3627c859fecace5f496";
+    hash = "sha256-pD4rNuqg6TG22L9m8425CO2iqcYm8JaAEXIVa0H/v/U=";
+  };
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
+    description = "Fish plugin to quickly put 'sudo' in your command";
+    homepage = "https://github.com/oh-my-fish/plugin-sudope";
+    license = lib.licenses.isc;
+    maintainers = with lib.maintainers; [ anomalocaris ];
+  };
+}

From b85717adbea78ac456643c89a1ecd3a7629df121 Mon Sep 17 00:00:00 2001
From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com>
Date: Mon, 10 Jun 2024 17:50:14 -0400
Subject: [PATCH 002/109] fishPlugins.fish-bd: init at 1.3.3

---
 pkgs/shells/fish/plugins/default.nix |  2 ++
 pkgs/shells/fish/plugins/fish-bd.nix | 26 ++++++++++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 pkgs/shells/fish/plugins/fish-bd.nix

diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix
index 36a5a59e4398..300a3dde076a 100644
--- a/pkgs/shells/fish/plugins/default.nix
+++ b/pkgs/shells/fish/plugins/default.nix
@@ -21,6 +21,8 @@ lib.makeScope newScope (self: with self; {
 
   fifc = callPackage ./fifc.nix { };
 
+  fish-bd = callPackage ./fish-bd.nix { };
+
   # Fishtape 2.x and 3.x aren't compatible,
   # but both versions are used in the tests of different other plugins.
   fishtape = callPackage ./fishtape.nix { };
diff --git a/pkgs/shells/fish/plugins/fish-bd.nix b/pkgs/shells/fish/plugins/fish-bd.nix
new file mode 100644
index 000000000000..154fc6213389
--- /dev/null
+++ b/pkgs/shells/fish/plugins/fish-bd.nix
@@ -0,0 +1,26 @@
+{
+  lib,
+  buildFishPlugin,
+  fetchFromGitHub,
+  gitUpdater,
+}:
+buildFishPlugin rec {
+  pname = "fish-bd";
+  version = "1.3.3";
+
+  src = fetchFromGitHub {
+    owner = "0rax";
+    repo = "fish-bd";
+    rev = "v${version}";
+    hash = "sha256-GeWjoakXa0t2TsMC/wpLEmsSVGhHFhBVK3v9eyQdzv0=";
+  };
+
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
+
+  meta = {
+    description = "Fish plugin to quickly go back to a parent directory up in your current working directory tree";
+    homepage = "https://github.com/0rax/fish-bd";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ anomalocaris ];
+  };
+}

From 72429bfb0a2047a0ee0e3b8c0b816cb305b015c4 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Tue, 27 Aug 2024 01:59:24 +0000
Subject: [PATCH 003/109] python312Packages.blobfile: 2.1.0 -> 3.0.0

---
 pkgs/development/python-modules/blobfile/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/blobfile/default.nix b/pkgs/development/python-modules/blobfile/default.nix
index 3e4c1dc7da63..9208381cc9e4 100644
--- a/pkgs/development/python-modules/blobfile/default.nix
+++ b/pkgs/development/python-modules/blobfile/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "blobfile";
-  version = "2.1.0";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "christopher-hesse";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VBh1JMP+8FEqD0uXpxA5RRMFH9XIUb4FUgsPq3vZWHM=";
+    hash = "sha256-/v48rLvlN4lsfWKJvXRNuIO6jdsCgRcSPlJzdOfl3xk=";
   };
 
   propagatedBuildInputs = [

From 48276abd93a8843748ae21e935785b1c53378cb9 Mon Sep 17 00:00:00 2001
From: Moritz Hedtke <Moritz.Hedtke@t-online.de>
Date: Tue, 17 Sep 2024 12:37:00 +0200
Subject: [PATCH 004/109] maintainers: add mohe2015

---
 maintainers/maintainer-list.nix | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 74569537259e..b62fa756b1f6 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -13990,6 +13990,12 @@
     githubId = 754512;
     name = "Mogria";
   };
+  mohe2015 = {
+    name = "Moritz Hedtke";
+    email = "Moritz.Hedtke@t-online.de";
+    github = "mohe2015";
+    githubId = 13287984;
+  };
   momeemt = {
     name = "Mutsuha Asada";
     email = "me@momee.mt";

From b5aefcd40a4c5a0db8275e72fd18018a9d94b77b Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 21:47:29 +0000
Subject: [PATCH 005/109] fetchgx: support `hash` attribute

---
 pkgs/build-support/fetchgx/default.nix | 45 +++++++++++++-------------
 1 file changed, 23 insertions(+), 22 deletions(-)

diff --git a/pkgs/build-support/fetchgx/default.nix b/pkgs/build-support/fetchgx/default.nix
index 93f60c0a9cac..5726e7d4e9f1 100644
--- a/pkgs/build-support/fetchgx/default.nix
+++ b/pkgs/build-support/fetchgx/default.nix
@@ -1,30 +1,31 @@
-{ stdenvNoCC, gx, gx-go, go, cacert }:
+{ lib, stdenvNoCC, gx, gx-go, go, cacert }:
 
-{ name, src, sha256 }:
+lib.fetchers.withNormalizedHash { } (
+  { name, src, outputHash, outputHashAlgo }:
 
-stdenvNoCC.mkDerivation {
-  name = "${name}-gxdeps";
-  inherit src;
+  stdenvNoCC.mkDerivation {
+    name = "${name}-gxdeps";
+    inherit src;
 
-  nativeBuildInputs = [ cacert go gx gx-go ];
+    nativeBuildInputs = [ cacert go gx gx-go ];
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
+    inherit outputHash outputHashAlgo;
+    outputHashMode = "recursive";
 
-  dontConfigure = true;
-  doCheck = false;
-  doInstallCheck = false;
+    dontConfigure = true;
+    doCheck = false;
+    doInstallCheck = false;
 
-  buildPhase = ''
-    export GOPATH=$(pwd)/vendor
-    mkdir -p vendor
-    gx install
-  '';
+    buildPhase = ''
+      export GOPATH=$(pwd)/vendor
+      mkdir -p vendor
+      gx install
+    '';
 
-  installPhase = ''
-    mv vendor $out
-  '';
+    installPhase = ''
+      mv vendor $out
+    '';
 
-  preferLocalBuild = true;
-}
+    preferLocalBuild = true;
+  }
+)

From 1ccd5ba5405b90482518e9f76b6cecba850c3be3 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 21:52:34 +0000
Subject: [PATCH 006/109] fetchs3: support `hash` attribute

---
 pkgs/build-support/fetchs3/default.nix | 61 +++++++++++++-------------
 1 file changed, 31 insertions(+), 30 deletions(-)

diff --git a/pkgs/build-support/fetchs3/default.nix b/pkgs/build-support/fetchs3/default.nix
index acad0749b663..1dd6945a5cb5 100644
--- a/pkgs/build-support/fetchs3/default.nix
+++ b/pkgs/build-support/fetchs3/default.nix
@@ -1,36 +1,37 @@
 { lib, runCommand, awscli }:
+lib.fetchers.withNormalizedHash { } (
+  { s3url
+  , name ? builtins.baseNameOf s3url
+  , outputHash
+  , outputHashAlgo
+  , region ? "us-east-1"
+  , credentials ? null # Default to looking at local EC2 metadata service
+  , recursiveHash ? false
+  , postFetch ? null
+  }:
 
-{ s3url
-, name ? builtins.baseNameOf s3url
-, sha256
-, region ? "us-east-1"
-, credentials ? null # Default to looking at local EC2 metadata service
-, recursiveHash ? false
-, postFetch ? null
-}:
+  let
+    mkCredentials = { access_key_id, secret_access_key, session_token ? null }: {
+      AWS_ACCESS_KEY_ID = access_key_id;
+      AWS_SECRET_ACCESS_KEY = secret_access_key;
+      AWS_SESSION_TOKEN = session_token;
+    };
 
-let
-  mkCredentials = { access_key_id, secret_access_key, session_token ? null }: {
-    AWS_ACCESS_KEY_ID = access_key_id;
-    AWS_SECRET_ACCESS_KEY = secret_access_key;
-    AWS_SESSION_TOKEN = session_token;
-  };
+    credentialAttrs = lib.optionalAttrs (credentials != null) (mkCredentials credentials);
+  in runCommand name ({
+    nativeBuildInputs = [ awscli ];
 
-  credentialAttrs = lib.optionalAttrs (credentials != null) (mkCredentials credentials);
-in runCommand name ({
-  nativeBuildInputs = [ awscli ];
+    inherit outputHash outputHashAlgo;
+    outputHashMode = if recursiveHash then "recursive" else "flat";
 
-  outputHashAlgo = "sha256";
-  outputHash = sha256;
-  outputHashMode = if recursiveHash then "recursive" else "flat";
+    preferLocalBuild = true;
 
-  preferLocalBuild = true;
-
-  AWS_DEFAULT_REGION = region;
-} // credentialAttrs) (if postFetch != null then ''
-  downloadedFile="$(mktemp)"
-  aws s3 cp ${s3url} $downloadedFile
-  ${postFetch}
-'' else  ''
-  aws s3 cp ${s3url} $out
-'')
+    AWS_DEFAULT_REGION = region;
+  } // credentialAttrs) (if postFetch != null then ''
+    downloadedFile="$(mktemp)"
+    aws s3 cp ${s3url} $downloadedFile
+    ${postFetch}
+  '' else  ''
+    aws s3 cp ${s3url} $out
+  '')
+)

From fb8a85e2bb111e587211be819efa275854b2a6b2 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 21:55:21 +0000
Subject: [PATCH 007/109] fetchbzr: support `hash` attribute

---
 pkgs/build-support/fetchbzr/default.nix | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/pkgs/build-support/fetchbzr/default.nix b/pkgs/build-support/fetchbzr/default.nix
index b7db9e9274da..1f6f0f2a788e 100644
--- a/pkgs/build-support/fetchbzr/default.nix
+++ b/pkgs/build-support/fetchbzr/default.nix
@@ -1,15 +1,16 @@
-{ stdenvNoCC, breezy }:
-{ url, rev, sha256 }:
+{ lib, stdenvNoCC, breezy }:
+lib.fetchers.withNormalizedHash { } (
+  { url, rev, outputHash, outputHashAlgo }:
 
-stdenvNoCC.mkDerivation {
-  name = "bzr-export";
+  stdenvNoCC.mkDerivation {
+    name = "bzr-export";
 
-  builder = ./builder.sh;
-  nativeBuildInputs = [ breezy ];
+    builder = ./builder.sh;
+    nativeBuildInputs = [ breezy ];
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
+    inherit outputHash outputHashAlgo;
+    outputHashMode = "recursive";
 
-  inherit url rev;
-}
+    inherit url rev;
+  }
+)

From 07d3b14ce251db9c4c9ee59e72c489003f67df17 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Tue, 17 Sep 2024 06:52:57 +0000
Subject: [PATCH 008/109] nix-prefetch-bzr: emit SRI hashes by default

---
 pkgs/build-support/fetchbzr/nix-prefetch-bzr | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/build-support/fetchbzr/nix-prefetch-bzr b/pkgs/build-support/fetchbzr/nix-prefetch-bzr
index dbe8a7ef8013..184f2485ce57 100755
--- a/pkgs/build-support/fetchbzr/nix-prefetch-bzr
+++ b/pkgs/build-support/fetchbzr/nix-prefetch-bzr
@@ -9,7 +9,7 @@ if test -z "$hashType"; then
     hashType=sha256
 fi
 if test -z "$hashFormat"; then
-    hashFormat=--base32
+    hashFormat=--sri
 fi
 
 if test -z "$url"; then

From a7013f2fc3520ba5f082576be22d1da14f240376 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 21:56:35 +0000
Subject: [PATCH 009/109] =?UTF-8?q?gweled:=20`sha256`=20=E2=86=92=20`hash`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkgs/games/gweled/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/games/gweled/default.nix b/pkgs/games/gweled/default.nix
index 1add66074204..f76085b77ddf 100644
--- a/pkgs/games/gweled/default.nix
+++ b/pkgs/games/gweled/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   src = fetchbzr {
     url = "lp:gweled";
     rev = "108";
-    sha256 = "sha256-rM4dgbYfSrVqZwi+xzKuEtmtjK3HVvqeutmni1vleLo=";
+    hash = "sha256-rM4dgbYfSrVqZwi+xzKuEtmtjK3HVvqeutmni1vleLo=";
   };
 
   doCheck = false;

From ef232d59ac5fc448714898783ff17603177a9c68 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:02:31 +0000
Subject: [PATCH 010/109] fetchcvs: support `hash` attribute

---
 pkgs/build-support/fetchcvs/default.nix | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/pkgs/build-support/fetchcvs/default.nix b/pkgs/build-support/fetchcvs/default.nix
index 43a10c3aa552..94bbc69bba65 100644
--- a/pkgs/build-support/fetchcvs/default.nix
+++ b/pkgs/build-support/fetchcvs/default.nix
@@ -6,17 +6,18 @@
 {stdenvNoCC, cvs, openssh, lib}:
 
 lib.makeOverridable (
-{cvsRoot, module, tag ? null, date ? null, sha256}:
+  lib.fetchers.withNormalizedHash { } (
+    {cvsRoot, module, tag ? null, date ? null, outputHash, outputHashAlgo}:
 
-stdenvNoCC.mkDerivation {
-  name = "cvs-export";
-  builder = ./builder.sh;
-  nativeBuildInputs = [cvs openssh];
+    stdenvNoCC.mkDerivation {
+      name = "cvs-export";
+      builder = ./builder.sh;
+      nativeBuildInputs = [cvs openssh];
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
+      inherit outputHash outputHashAlgo;
+      outputHashMode = "recursive";
 
-  inherit cvsRoot module sha256 tag date;
-}
+      inherit cvsRoot module tag date;
+    }
+  )
 )

From 3f7f5df38ab417d031632228fc3a7eb67d27905c Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Tue, 17 Sep 2024 06:54:57 +0000
Subject: [PATCH 011/109] nix-prefetch-cvs: emit SRI hashes by default

---
 pkgs/build-support/fetchcvs/nix-prefetch-cvs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/build-support/fetchcvs/nix-prefetch-cvs b/pkgs/build-support/fetchcvs/nix-prefetch-cvs
index b6a169f8b531..4438f44026f2 100755
--- a/pkgs/build-support/fetchcvs/nix-prefetch-cvs
+++ b/pkgs/build-support/fetchcvs/nix-prefetch-cvs
@@ -59,7 +59,7 @@ if test -z "$finalPath"; then
     (cd "$tmpPath" && cvs -f -z0 -d $cvsRoot export "${args[*]}" -d cvs-export $module >&2)
 
     # Compute the hash.
-    hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
+    hash=$(nix-hash --type $hashType ${hashFormat:-"--sri"} $tmpFile)
     if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
 
     # Add the downloaded file to the Nix store.

From 54209fcd9e50adfb7be203dd790e206dd8a11123 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:13:29 +0000
Subject: [PATCH 012/109] fetchmtn: support `hash` attribute

---
 pkgs/build-support/fetchmtn/default.nix | 33 ++++++++++++-------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/pkgs/build-support/fetchmtn/default.nix b/pkgs/build-support/fetchmtn/default.nix
index 4aa134242aa7..de208b92193f 100644
--- a/pkgs/build-support/fetchmtn/default.nix
+++ b/pkgs/build-support/fetchmtn/default.nix
@@ -1,25 +1,24 @@
 # You can specify some extra mirrors and a cache DB via options
 {lib, stdenvNoCC, monotone, defaultDBMirrors ? [], cacheDB ? "./mtn-checkout.db"}:
-# dbs is a list of strings
-# each is an url for sync
 
-# selector is mtn selector, like h:org.example.branch
-#
-{name ? "mtn-checkout", dbs ? [], sha256
-, selector ? "h:" + branch, branch}:
+lib.fetchers.withNormalizedHash { } (
+  # dbs is a list of strings, each is an url for sync
+  # selector is mtn selector, like h:org.example.branch
+  {name ? "mtn-checkout", dbs ? []
+  , outputHash, outputHashAlgo
+  , selector ? "h:" + branch, branch}:
 
-stdenvNoCC.mkDerivation {
-  builder = ./builder.sh;
-  nativeBuildInputs = [monotone];
+  stdenvNoCC.mkDerivation {
+    builder = ./builder.sh;
+    nativeBuildInputs = [monotone];
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
+    inherit outputHash outputHashAlgo;
+    outputHashMode = "recursive";
 
-  dbs = defaultDBMirrors ++ dbs;
-  inherit branch cacheDB name selector;
+    dbs = defaultDBMirrors ++ dbs;
+    inherit branch cacheDB name selector;
 
-  impureEnvVars = lib.fetchers.proxyImpureEnvVars;
-
-}
+    impureEnvVars = lib.fetchers.proxyImpureEnvVars;
 
+  }
+)

From 8af38be358c39fc4413303539d41d9a652aaba58 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:19:11 +0000
Subject: [PATCH 013/109] =?UTF-8?q?netbsd:=20`sha256`=20=E2=86=92=20`hash`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkgs/os-specific/bsd/netbsd/pkgs/source.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/os-specific/bsd/netbsd/pkgs/source.nix b/pkgs/os-specific/bsd/netbsd/pkgs/source.nix
index 432de84ffb3e..47f200090ca4 100644
--- a/pkgs/os-specific/bsd/netbsd/pkgs/source.nix
+++ b/pkgs/os-specific/bsd/netbsd/pkgs/source.nix
@@ -8,5 +8,5 @@ fetchcvs {
   cvsRoot = ":pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot";
   module = "src";
   tag = "netbsd-${lib.replaceStrings [ "." ] [ "-" ] version}-RELEASE";
-  sha256 = "sha256-+onT/ajWayaKALucaZBqoiEkvBBI400Fs2OCtMf/bYU=";
+  hash = "sha256-+onT/ajWayaKALucaZBqoiEkvBBI400Fs2OCtMf/bYU=";
 }

From 4b8644b7a69821f5e0bd07ba6350087a3b08dcb3 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:24:10 +0000
Subject: [PATCH 014/109] fetchdarcs: support `hash` attribute

---
 pkgs/build-support/fetchdarcs/default.nix | 30 ++++++++++++-----------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/pkgs/build-support/fetchdarcs/default.nix b/pkgs/build-support/fetchdarcs/default.nix
index 6073efec2815..320b201f2853 100644
--- a/pkgs/build-support/fetchdarcs/default.nix
+++ b/pkgs/build-support/fetchdarcs/default.nix
@@ -1,21 +1,23 @@
 {stdenvNoCC, darcs, cacert, lib}:
 
 lib.makeOverridable (
-{ url
-, rev ? null
-, context ? null
-, sha256 ? ""
-, name ? "fetchdarcs"
-}:
+  lib.fetchers.withNormalizedHash { } (
+    { url
+    , rev ? null
+    , context ? null
+    , outputHash ? lib.fakeHash
+    , outputHashAlgo ? null
+    , name ? "fetchdarcs"
+    }:
 
-stdenvNoCC.mkDerivation {
-  builder = ./builder.sh;
-  nativeBuildInputs = [cacert darcs];
+    stdenvNoCC.mkDerivation {
+      builder = ./builder.sh;
+      nativeBuildInputs = [cacert darcs];
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
+      inherit outputHash outputHashAlgo;
+      outputHashMode = "recursive";
 
-  inherit url rev context name;
-}
+      inherit url rev context name;
+    }
+  )
 )

From f723aa0f6620154e1d6f42588ed983e8aa4d9eac Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:28:44 +0000
Subject: [PATCH 015/109] fetchpijul: minor simplification

---
 pkgs/build-support/fetchpijul/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/build-support/fetchpijul/default.nix b/pkgs/build-support/fetchpijul/default.nix
index fd41cfa55355..3aef7c035e72 100644
--- a/pkgs/build-support/fetchpijul/default.nix
+++ b/pkgs/build-support/fetchpijul/default.nix
@@ -45,12 +45,12 @@ else
       runHook postFixup
     '';
 
-    outputHashAlgo = if hash != "" then null else "sha256";
+    outputHashAlgo = null;
     outputHashMode = "recursive";
     outputHash = if hash != "" then
       hash
     else
-      lib.fakeSha256;
+      lib.fakeHash;
 
     inherit url change state channel;
 

From c3691d772d954f14e8a93256faaaff0d3348af8f Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:32:42 +0000
Subject: [PATCH 016/109] fetchfossil: simplify and check that multiple hashes
 were not passed in

---
 pkgs/build-support/fetchfossil/default.nix | 47 +++++++++-------------
 1 file changed, 20 insertions(+), 27 deletions(-)

diff --git a/pkgs/build-support/fetchfossil/default.nix b/pkgs/build-support/fetchfossil/default.nix
index 3f3bf69db047..d0fc4cdea703 100644
--- a/pkgs/build-support/fetchfossil/default.nix
+++ b/pkgs/build-support/fetchfossil/default.nix
@@ -1,33 +1,26 @@
 {stdenv, lib, fossil, cacert}:
 
-{ name ? null
-, url
-, rev
-, sha256 ? ""
-, hash ? ""
-}:
+lib.fetchers.withNormalizedHash { } (
+  { name ? null
+  , url
+  , rev
+  , outputHash ? lib.fakeHash
+  , outputHashAlgo ? null
+  }:
 
-if hash != "" && sha256 != "" then
-  throw "Only one of sha256 or hash can be set"
-else
-stdenv.mkDerivation {
-  name = "fossil-archive" + (lib.optionalString (name != null) "-${name}");
-  builder = ./builder.sh;
-  nativeBuildInputs = [fossil cacert];
+  stdenv.mkDerivation {
+    name = "fossil-archive" + (lib.optionalString (name != null) "-${name}");
+    builder = ./builder.sh;
+    nativeBuildInputs = [fossil cacert];
 
-  # Envvar docs are hard to find. A link for the future:
-  # https://www.fossil-scm.org/index.html/doc/trunk/www/env-opts.md
-  impureEnvVars = [ "http_proxy" ];
+    # Envvar docs are hard to find. A link for the future:
+    # https://www.fossil-scm.org/index.html/doc/trunk/www/env-opts.md
+    impureEnvVars = [ "http_proxy" ];
 
-  outputHashAlgo = if hash != "" then null else "sha256";
-  outputHashMode = "recursive";
-  outputHash = if hash != "" then
-    hash
-  else if sha256 != "" then
-    sha256
-  else
-    lib.fakeSha256;
+    inherit outputHash outputHashAlgo;
+    outputHashMode = "recursive";
 
-  inherit url rev;
-  preferLocalBuild = true;
-}
+    inherit url rev;
+    preferLocalBuild = true;
+  }
+)

From a8c21f4c11e922da13b34f15cb2515fb5317c242 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:34:02 +0000
Subject: [PATCH 017/109] =?UTF-8?q?althttpd:=20`sha256`=20=E2=86=92=20`has?=
 =?UTF-8?q?h`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkgs/servers/althttpd/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/servers/althttpd/default.nix b/pkgs/servers/althttpd/default.nix
index 70c2fbcaa323..229082d6c1a3 100644
--- a/pkgs/servers/althttpd/default.nix
+++ b/pkgs/servers/althttpd/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchfossil {
     url = "https://sqlite.org/althttpd/";
     rev = "c0bdc68e6c56ef25";
-    sha256 = "sha256-VoDR5MlVlvar9wYA0kUhvDQVjxDwsZlqrNR3u4Tqw5c=";
+    hash = "sha256-VoDR5MlVlvar9wYA0kUhvDQVjxDwsZlqrNR3u4Tqw5c=";
   };
 
   buildInputs = [ openssl ];

From 30361c578fb4ece9def77ed5f6f2083f58a80e54 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Sun, 15 Sep 2024 22:36:54 +0000
Subject: [PATCH 018/109] fetchsvnssh: support `hash` attribute

---
 pkgs/build-support/fetchsvnssh/default.nix | 28 ++++++++++++----------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/pkgs/build-support/fetchsvnssh/default.nix b/pkgs/build-support/fetchsvnssh/default.nix
index ef72de61fe21..e798044e2ea1 100644
--- a/pkgs/build-support/fetchsvnssh/default.nix
+++ b/pkgs/build-support/fetchsvnssh/default.nix
@@ -1,17 +1,19 @@
-{stdenvNoCC, subversion, sshSupport ? true, openssh ? null, expect}:
-{username, password, url, rev ? "HEAD", sha256 ? ""}:
+{lib, stdenvNoCC, subversion, sshSupport ? true, openssh ? null, expect}:
+{username, password
+, url, rev ? "HEAD"
+, outputHash ? lib.fakeHash, outputHashAlgo ? null}:
 
+lib.fetchers.withNormalizedHash { } (
+  stdenvNoCC.mkDerivation {
+    name = "svn-export-ssh";
+    builder = ./builder.sh;
+    nativeBuildInputs = [subversion expect];
 
-stdenvNoCC.mkDerivation {
-  name = "svn-export-ssh";
-  builder = ./builder.sh;
-  nativeBuildInputs = [subversion expect];
+    inherit outputHash outputHashAlgo;
+    outputHashMode = "recursive";
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
+    sshSubversion = ./sshsubversion.exp;
 
-  sshSubversion = ./sshsubversion.exp;
-
-  inherit username password url rev sshSupport openssh;
-}
+    inherit username password url rev sshSupport openssh;
+  }
+)

From 7c19bb37a30e1601543b104f78ef6079a465e2c3 Mon Sep 17 00:00:00 2001
From: nicoo <nicoo@mur.at>
Date: Mon, 16 Sep 2024 18:13:39 +0000
Subject: [PATCH 019/109] fetchipfs: simplify, error-out when given multiple
 hashes

Also dropped the `md5` attribute, as `stdenv.mkDerivation` rejects
MD5 since last year (87c22100a6892b864ff94476f2965a793d8e4282)
---
 pkgs/build-support/fetchipfs/default.nix | 76 ++++++++++--------------
 pkgs/top-level/all-packages.nix          |  4 +-
 2 files changed, 32 insertions(+), 48 deletions(-)

diff --git a/pkgs/build-support/fetchipfs/default.nix b/pkgs/build-support/fetchipfs/default.nix
index 0cbb094d6003..da94200206ba 100644
--- a/pkgs/build-support/fetchipfs/default.nix
+++ b/pkgs/build-support/fetchipfs/default.nix
@@ -1,50 +1,36 @@
-{ stdenv
+{ lib
+, stdenv
 , curl
 }:
+lib.fetchers.withNormalizedHash { hashTypes = [ "sha1" "sha256" "sha512" ]; } (
+  { ipfs
+  , url            ? ""
+  , curlOpts       ? ""
+  , outputHash
+  , outputHashAlgo
+  , meta           ? {}
+  , port           ? "8080"
+  , postFetch      ? ""
+  , preferLocalBuild ? true
+  }:
+  stdenv.mkDerivation {
+    name = ipfs;
+    builder = ./builder.sh;
+    nativeBuildInputs = [ curl ];
 
-{ ipfs
-, url            ? ""
-, curlOpts       ? ""
-, outputHash     ? ""
-, outputHashAlgo ? ""
-, md5            ? ""
-, sha1           ? ""
-, sha256         ? ""
-, sha512         ? ""
-, meta           ? {}
-, port           ? "8080"
-, postFetch      ? ""
-, preferLocalBuild ? true
-}:
+    # New-style output content requirements.
+    inherit outputHash outputHashAlgo;
+    outputHashMode = "recursive";
 
-let
+    inherit curlOpts
+            postFetch
+            ipfs
+            url
+            port
+            meta;
 
-  hasHash = (outputHash != "" && outputHashAlgo != "")
-    || md5 != "" || sha1 != "" || sha256 != "" || sha512 != "";
-
-in
-
-if (!hasHash) then throw "Specify sha for fetchipfs fixed-output derivation" else stdenv.mkDerivation {
-  name = ipfs;
-  builder = ./builder.sh;
-  nativeBuildInputs = [ curl ];
-
-  # New-style output content requirements.
-  outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else
-      if sha512 != "" then "sha512" else if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
-  outputHash = if outputHash != "" then outputHash else
-      if sha512 != "" then sha512 else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
-
-  outputHashMode = "recursive";
-
-  inherit curlOpts
-          postFetch
-          ipfs
-          url
-          port
-          meta;
-
-  # Doing the download on a remote machine just duplicates network
-  # traffic, so don't do that.
-  inherit preferLocalBuild;
-}
+    # Doing the download on a remote machine just duplicates network
+    # traffic, so don't do that.
+    inherit preferLocalBuild;
+  }
+)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9f5a5ece5be8..8c78ce887896 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1141,9 +1141,7 @@ with pkgs;
 
   fetchRepoProject = callPackage ../build-support/fetchrepoproject { };
 
-  fetchipfs = import ../build-support/fetchipfs {
-    inherit curl stdenv;
-  };
+  fetchipfs = callPackage ../build-support/fetchipfs { };
 
   fetchit = callPackage ../applications/networking/cluster/fetchit { };
 

From af068bf63a91abf1cb490e7557591c3ca0141d0d Mon Sep 17 00:00:00 2001
From: scraptux <git@thomasjasny.de>
Date: Thu, 19 Sep 2024 19:41:42 +0200
Subject: [PATCH 020/109] maintainers: add scraptux

---
 maintainers/maintainer-list.nix | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index a220b39e1d40..b056bfe8d0e6 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -18740,6 +18740,12 @@
     githubId = 11320;
     name = "Sergiu Ivanov";
   };
+  scraptux = {
+    email = "git@thomasjasny.de";
+    github = "scraptux";
+    githubId = 12714892;
+    name = "Thomas Jasny";
+  };
   screendriver = {
     email = "nix@echooff.de";
     github = "screendriver";

From 650a1f2f8be80125e51c2ce904257b8c4b9a6d77 Mon Sep 17 00:00:00 2001
From: scraptux <git@thomasjasny.de>
Date: Thu, 19 Sep 2024 19:42:23 +0200
Subject: [PATCH 021/109] vscode-extensions.sas.sas-lsp: init at 1.10.2

---
 .../editors/vscode/extensions/default.nix       | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 3d58a59a61c4..af1984183520 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -4166,6 +4166,23 @@ let
         };
       };
 
+      sas.sas-lsp = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "sas-lsp";
+          publisher = "SAS";
+          version = "1.10.2";
+          hash = "sha256-mf0q80UX4FxqHAHJBQlhkF/nqvTnfgTR8GuYBoWSswU=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
+          description = "Official SAS Language Extension";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=SAS.sas-lsp";
+          homepage = "https://github.com/sassoftware/vscode-sas-extension";
+          license = lib.licenses.asl20;
+          maintainers = [ lib.maintainers.scraptux ];
+        };
+      };
+
       scala-lang.scala = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "scala";

From 27fe8596dc73d031deb06f57dc8dbb3b76ac168d Mon Sep 17 00:00:00 2001
From: Leonardo Taglialegne <cmt.miniBill@gmail.com>
Date: Sun, 22 Sep 2024 11:18:34 +0200
Subject: [PATCH 022/109] Lamdera 1.3.0

---
 .../compilers/elm/packages/lamdera/default.nix         | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/compilers/elm/packages/lamdera/default.nix b/pkgs/development/compilers/elm/packages/lamdera/default.nix
index 79101092e788..bf9d6df0fe17 100644
--- a/pkgs/development/compilers/elm/packages/lamdera/default.nix
+++ b/pkgs/development/compilers/elm/packages/lamdera/default.nix
@@ -8,16 +8,16 @@ let
   arch = if stdenv.isAarch64 then "arm64" else "x86_64";
   hashes =
     {
-      "x86_64-linux" = "a51d5b9a011c54b0001ff3273cee027774686e233adadb20b1978d2cabfe32a6";
-      "aarch64-linux" = "8904ce928f60e06df1f06b3af5ee5eb320c388922aa38b698d823df1d73e8e49";
-      "x86_64-darwin" = "b4d1bb5ddc3503862750e5b241f74c22dc013792bc4f410dd914a5216e20ed2f";
-      "aarch64-darwin" = "6d20e384dae90bb994c3f1e866c964124c7e8a51e9e08bad0e90a2b560bb5a18";
+      "x86_64-linux" = "1v596zi4zmx88r4axrp7pmci3w9c6f1kz4izrbj65c7ch6wwa7f2";
+      "aarch64-linux" = "0xf6lqm9xgph8q95h6smq6dzn5549nfsnayny5nyvm56nbmv5iw9";
+      "x86_64-darwin" = "0kijrjfbr7hn469x67yya6ndfwj901m54gd96sq3yiay0jvmapga";
+      "aarch64-darwin" = "1iigsd4ac0cbb1q2g02zxjxpcma6yyd7ms72ri8g2vq8i90zys9n";
     };
 in
 
 stdenv.mkDerivation rec {
   pname = "lamdera";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://static.lamdera.com/bin/lamdera-${version}-${os}-${arch}";

From 341442bd7eda3dda19607f9fa232f3474c45f47d Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 22 Sep 2024 13:08:34 +0000
Subject: [PATCH 023/109] esbuild: 0.23.1 -> 0.24.0

---
 pkgs/development/tools/esbuild/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 98f3a4f221e6..a7720470f489 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.23.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    hash = "sha256-2E5FkUnU/8tf+eDd+KIEcc0HlnpYYn5QMPq/w2sa914=";
+    hash = "sha256-czQJqLz6rRgyh9usuhDTmgwMC6oL5UzpwNFQ3PKpKck=";
   };
 
   vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";

From 2831842ad1b114397907eb2ab7aad652f1df1d2b Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 22 Sep 2024 13:18:03 +0000
Subject: [PATCH 024/109] jotdown: 0.5.0 -> 0.6.0

---
 pkgs/tools/text/jotdown/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/tools/text/jotdown/default.nix b/pkgs/tools/text/jotdown/default.nix
index e3c38dc2b2fe..e0469e25bf88 100644
--- a/pkgs/tools/text/jotdown/default.nix
+++ b/pkgs/tools/text/jotdown/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jotdown";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "hellux";
     repo = "jotdown";
     rev = version;
-    hash = "sha256-lJnHdywxKf3CWgSB91MqQreyUhKArpT2lqQqSIpgnUY=";
+    hash = "sha256-67foqp8i5JqvtKeq8gibFhd59V8Nf8wkaINe2gd5Huk=";
   };
 
-  cargoHash = "sha256-ESwo1J5OCJbmlZoTOPaeNIqRCTMAJtgkhrR0bcRqQwk=";
+  cargoHash = "sha256-ckcjd8ZiJxfKEkpfGvTSKv3ReWn3lIK+/fBnj/kk2F0=";
 
   meta = with lib; {
     description = "Minimal Djot CLI";

From 1f42ffa2b4ae9f2b8e088443ac39b29937f8636f Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 01:22:02 +0000
Subject: [PATCH 025/109] lact: 0.5.5 -> 0.5.6

---
 pkgs/tools/system/lact/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/tools/system/lact/default.nix b/pkgs/tools/system/lact/default.nix
index c8b00995dc5b..ed6a4db40ffa 100644
--- a/pkgs/tools/system/lact/default.nix
+++ b/pkgs/tools/system/lact/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lact";
-  version = "0.5.5";
+  version = "0.5.6";
 
   src = fetchFromGitHub {
     owner = "ilya-zlobintsev";
     repo = "LACT";
     rev = "v${version}";
-    hash = "sha256-ehJYUZ4Bdttqzs3/SSvhJRzPO7CPbeP8ormXQ7NUzXI=";
+    hash = "sha256-iz6Pl+A7Y/Ljot3QH2GaopgtfuYLpTLSq6uSprQ2EEU=";
   };
 
-  cargoHash = "sha256-jG1DfFwpmSSVMu3zKpxg25uTrELcD43bkGbcZI2NOzk=";
+  cargoHash = "sha256-uoMkz+0Jr07GpMRUKuJvrTTSAGdhLf35q/8but1fwIk=";
 
   nativeBuildInputs = [
     blueprint-compiler

From ada79bfff2aad6f4c09e14efeecfdbd1a4e767e4 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 03:39:13 +0000
Subject: [PATCH 026/109] plasticity: 24.2.0 -> 24.2.3

---
 pkgs/by-name/pl/plasticity/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/pl/plasticity/package.nix b/pkgs/by-name/pl/plasticity/package.nix
index 08e4020ca72e..33387121b984 100644
--- a/pkgs/by-name/pl/plasticity/package.nix
+++ b/pkgs/by-name/pl/plasticity/package.nix
@@ -33,11 +33,11 @@
 }:
 stdenv.mkDerivation rec  {
   pname = "plasticity";
-  version = "24.2.0";
+  version = "24.2.3";
 
   src = fetchurl {
     url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm";
-    hash = "sha256-3dHS7chTgoD35AV/q8DHIYl43KbCsoFYEqSQHXm05tg=";
+    hash = "sha256-iiVh4k5r5PXN1/VJZcropTMu36N2B/ECq2L5e59QxJY=";
   };
 
   passthru.updateScript = ./update.sh;

From 557846c520706940dc520fe5d5ef7bb25beafb32 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 06:59:04 +0000
Subject: [PATCH 027/109] elasticmq-server-bin: 1.6.7 -> 1.6.8

---
 pkgs/servers/elasticmq-server-bin/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix
index f1e8da820509..8ff5350acbe6 100644
--- a/pkgs/servers/elasticmq-server-bin/default.nix
+++ b/pkgs/servers/elasticmq-server-bin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "elasticmq-server";
-  version = "1.6.7";
+  version = "1.6.8";
 
   src = fetchurl {
     url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-${finalAttrs.version}.jar";
-    sha256 = "sha256-JSMxJBdYpYcBo/9wLY7QuQMEGlRF3hdVzVH2VMNT5b4=";
+    sha256 = "sha256-t0aLUJYuKi19N4iPMvw72OLgIc1steqnUQbi0xF6rv4=";
   };
 
   # don't do anything?

From 5d3c605f5fa44f3e1d877402e5cd925a41d196ee Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 06:59:18 +0000
Subject: [PATCH 028/109] openjph: 0.15.0 -> 0.17.0

---
 pkgs/by-name/op/openjph/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/op/openjph/package.nix b/pkgs/by-name/op/openjph/package.nix
index 5fcebb7af663..8e8538e1cc4f 100644
--- a/pkgs/by-name/op/openjph/package.nix
+++ b/pkgs/by-name/op/openjph/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "openjph";
-  version = "0.15.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "aous72";
     repo = "openjph";
     rev = finalAttrs.version;
-    hash = "sha256-v4rqBTS6rk5fgDQqvqPwFAYxLNxtsRhZuQsj+y3sE3o=";
+    hash = "sha256-ljvdCrvKL3slVGqX97Ui65/6Doyucf2kdUEw6NWW9og=";
   };
 
   nativeBuildInputs = [ cmake validatePkgConfig ];

From 4fc7228b7291d47e1be49b5598ade922b9e48378 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 14:24:51 +0000
Subject: [PATCH 029/109] ibus-engines.table-others: 1.3.17 -> 1.3.18

---
 .../inputmethods/ibus-engines/ibus-table-others/default.nix   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index c997c20c8d26..833892b79926 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table-others";
-  version = "1.3.17";
+  version = "1.3.18";
 
   src = fetchurl {
     url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-7//axHjQ1LgLpeWR4MTI8efLURm4Umj4JV3G33Y0m0g=";
+    hash = "sha256-4ZM5WZPh6Y5M50KDS+86j00v4pWTRdcdVYh4DcEYXAA=";
   };
 
   nativeBuildInputs = [ pkg-config python3 ];

From ded7972d72649c85bf157fbac126a0ccde432c50 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 14:25:54 +0000
Subject: [PATCH 030/109] imsprog: 1.4.3 -> 1.4.4

---
 pkgs/by-name/im/imsprog/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/im/imsprog/package.nix b/pkgs/by-name/im/imsprog/package.nix
index a8042eaef1fa..113281f5702e 100644
--- a/pkgs/by-name/im/imsprog/package.nix
+++ b/pkgs/by-name/im/imsprog/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "imsprog";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "bigbigmdm";
     repo = "IMSProg";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-FAvGGxw7qDuucAbyaq9gDhMvHL9mJCQApRzzQ7Kh0c8=";
+    hash = "sha256-dhBg0f7pIbBS8IiUXd1UlAxgGrv6HapzooXafkHIEK8=";
   };
 
   strictDeps = true;

From e89d03cef325b41d5b5e1778447fffd594de468b Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 18:15:53 +0000
Subject: [PATCH 031/109] vtm: 0.9.99.09 -> 0.9.99.13

---
 pkgs/tools/misc/vtm/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index 4a3f75792d4a..cddabd79db23 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vtm";
-  version = "0.9.99.09";
+  version = "0.9.99.13";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Ddnj2atJZ4uJqa/UCRfKowJDZbhnQBTgkFZvc4778gc=";
+    hash = "sha256-IXxbEwwwqqy5zepdJULlIsrz2csnpGXQhBzbc5AW7II=";
   };
 
   nativeBuildInputs = [

From 390728afda76f68029c3082fd441936e01d49872 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 19:59:49 +0000
Subject: [PATCH 032/109] crd2pulumi: 1.5.0 -> 1.5.2

---
 pkgs/development/tools/crd2pulumi/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/tools/crd2pulumi/default.nix b/pkgs/development/tools/crd2pulumi/default.nix
index 7f49978543c2..66ab82d17594 100644
--- a/pkgs/development/tools/crd2pulumi/default.nix
+++ b/pkgs/development/tools/crd2pulumi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "crd2pulumi";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "pulumi";
     repo = "crd2pulumi";
     rev = "v${version}";
-    sha256 = "sha256-DuTGsa8udtnYuWCqGZTXyELZsAse8EF2xiVcXl/SE3M=";
+    sha256 = "sha256-wIg14U3CNuO7PbhOkaZMfzXhjnMWiddQKiDzgD493iY=";
   };
 
-  vendorHash = "sha256-pdrFG0vArpbPlXtgGulTLBvWttVps6vVZFn67tay2Gg=";
+  vendorHash = "sha256-tSQuyGo4YaqKp5C9V/tEobc/4+x5ExPbV3Y4nd8D8jE=";
 
   ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ];
 

From 07f17240f7ee86af5c39e5be5757a3c8353eb467 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 21:18:17 +0000
Subject: [PATCH 033/109] firebase-tools: 13.17.0 -> 13.18.0

---
 pkgs/development/tools/firebase-tools/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/tools/firebase-tools/default.nix b/pkgs/development/tools/firebase-tools/default.nix
index 8222c1df9ea4..c31b1995a2c4 100644
--- a/pkgs/development/tools/firebase-tools/default.nix
+++ b/pkgs/development/tools/firebase-tools/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "firebase-tools";
-  version = "13.17.0";
+  version = "13.18.0";
 
   src = fetchFromGitHub {
     owner = "firebase";
     repo = "firebase-tools";
     rev = "v${version}";
-    hash = "sha256-Tf01j8t4zCrUDWB8+5DkJ+74OBJLD23FlI+4QlWCjLw=";
+    hash = "sha256-Tis5bF1rVuvjSuMeoa5ayyuZXdwolkNL3Ct+IWeYOKc=";
   };
 
-  npmDepsHash = "sha256-Ghi4H7BPTQhpnI0UZWBVC9OX4F6NFlbXrtSxA5U4omg=";
+  npmDepsHash = "sha256-mQYetHLbxr3Jegz01BfFVdzcLuz46zcNVqXjjxdKM/E=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json

From aef3e2c8cced2f98c1210c5db18a932c96f7b01b Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 23 Sep 2024 22:27:43 +0000
Subject: [PATCH 034/109] codeium: 1.16.11 -> 1.16.18

---
 pkgs/by-name/co/codeium/package.nix | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkgs/by-name/co/codeium/package.nix b/pkgs/by-name/co/codeium/package.nix
index 679050b5cc8a..dc5f78ac5a74 100644
--- a/pkgs/by-name/co/codeium/package.nix
+++ b/pkgs/by-name/co/codeium/package.nix
@@ -13,10 +13,10 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-xOP9NOcuBRrX998jF4dTpUtS9jPux4jHu057sPPjGWA=";
-    aarch64-linux = "sha256-RVy/k1nUbT0MGIuSnEJZqGM+kQhBEUSD/D2uk5ZmYzs=";
-    x86_64-darwin = "sha256-MtUAO6xvSDcLokjmW1CAOC8+3pTMFy1yteKmb/WUpGs=";
-    aarch64-darwin = "sha256-OZf74uvuka4S8JKYcGM1f8T2RrdTxelLMmx74Ee83ek=";
+    x86_64-linux = "sha256-/m+t4abPgVWeGpfDkPm5DGCIXm1LoM5znHfES9lotAo=";
+    aarch64-linux = "sha256-0kR799yuxSFmyedJ14f5/EqOiFHs9cWjeJKvDIpIRl0=";
+    x86_64-darwin = "sha256-7Go5qZVAe2UHn547HZG4fmh84iF2r15+0IIlJK72Fqg=";
+    aarch64-darwin = "sha256-fe4GrgLRr66Qmme3p0X5BEwvKZhqG1aiE8xs5A1Dt6E=";
   }.${system} or throwSystem;
 
   bin = "$out/bin/codeium_language_server";
@@ -24,7 +24,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "codeium";
-  version = "1.16.11";
+  version = "1.16.18";
   src = fetchurl {
     name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
     url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";

From 994311dad765d6facd2ca734364f8d25b162e1fa Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Tue, 24 Sep 2024 01:56:28 +0200
Subject: [PATCH 035/109] esphome: 2024.9.0 -> 2024.9.1

https://github.com/esphome/esphome/releases/tag/2024.9.1
---
 pkgs/tools/misc/esphome/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 54664196d2c3..8574b984ed4f 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -21,14 +21,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2024.9.0";
+  version = "2024.9.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-K28H2kbfiebJfW31CF3M+Vi823wFPWNk6qLPlSaljkk=";
+    hash = "sha256-EEc4aT4zFhltAzX/HxOTRF+sIqqCzy0WsVMq0aNQi40=";
   };
 
   nativeBuildInputs = with python.pkgs; [

From 58fe27c67d773e6d46ef3aa3a3f4eb2c9155b026 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Tue, 24 Sep 2024 01:12:08 +0000
Subject: [PATCH 036/109] mov-cli: 4.4.12 -> 4.4.14

---
 pkgs/by-name/mo/mov-cli/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/mo/mov-cli/package.nix b/pkgs/by-name/mo/mov-cli/package.nix
index 91c0c13f4382..2b3cb8daf083 100644
--- a/pkgs/by-name/mo/mov-cli/package.nix
+++ b/pkgs/by-name/mo/mov-cli/package.nix
@@ -8,7 +8,7 @@
 
 let
   pname = "mov-cli";
-  version = "4.4.12";
+  version = "4.4.14";
 in
 python3.pkgs.buildPythonPackage {
   inherit pname version;
@@ -18,7 +18,7 @@ python3.pkgs.buildPythonPackage {
     owner = "mov-cli";
     repo = "mov-cli";
     rev = "refs/tags/${version}";
-    hash = "sha256-S8IB2TRmzoSKKeTKhESWstPPbSIL8LwqV5Y2+9F0KMo=";
+    hash = "sha256-c8Su215d3Lix2ft+J9zypLkolKFvO+HBFvXDibiCS14=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [

From 607be34fdd8c3393ef2fcbafccfa3f0d0613aea9 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Tue, 24 Sep 2024 02:40:54 +0000
Subject: [PATCH 037/109] delve: 1.23.0 -> 1.23.1

---
 pkgs/development/tools/delve/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/delve/default.nix b/pkgs/development/tools/delve/default.nix
index 4552539bb76e..00956effcdbb 100644
--- a/pkgs/development/tools/delve/default.nix
+++ b/pkgs/development/tools/delve/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "delve";
-  version = "1.23.0";
+  version = "1.23.1";
 
   src = fetchFromGitHub {
     owner = "go-delve";
     repo = "delve";
     rev = "v${version}";
-    hash = "sha256-LtrPcYyuobHq6O3/vBKLTOMZfpYL7P3mtGfVqCMV9iM=";
+    hash = "sha256-+qC5fFBuQchz1dMP5AezWkkD2anZshN1wIteKce0Ecw=";
   };
 
   vendorHash = null;

From 7301f5b7d27c1ded589dfd743e071f42e1b89cfe Mon Sep 17 00:00:00 2001
From: Markus Kowalewski <markus.kowalewski@gmail.com>
Date: Thu, 26 Sep 2024 21:05:36 +0200
Subject: [PATCH 038/109] hpcg: cleanup, add runHooks to InstallPhase

---
 pkgs/tools/misc/hpcg/default.nix | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/pkgs/tools/misc/hpcg/default.nix b/pkgs/tools/misc/hpcg/default.nix
index 3ae5e7e1404a..705b095b1d80 100644
--- a/pkgs/tools/misc/hpcg/default.nix
+++ b/pkgs/tools/misc/hpcg/default.nix
@@ -9,19 +9,23 @@ stdenv.mkDerivation rec {
     sha256 = "197lw2nwmzsmfsbvgvi8z7kj69n374kgfzzp8pkmk7mp2vkk991k";
   };
 
-  dontConfigure = true;
-
-  enableParallelBuilding = true;
-
   buildInputs = [ mpi ];
 
   makeFlags = [ "arch=Linux_MPI" ];
 
+  enableParallelBuilding = true;
+
+  dontConfigure = true;
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/share/hpcg
 
     cp bin/xhpcg $out/bin
     cp bin/hpcg.dat $out/share/hpcg
+
+    runHook postInstall
   '';
 
   meta = with lib; {

From 21377a28765e05791188e72810aa672a695851d4 Mon Sep 17 00:00:00 2001
From: Markus Kowalewski <markus.kowalewski@gmail.com>
Date: Thu, 26 Sep 2024 21:18:51 +0200
Subject: [PATCH 039/109] hpcg: move to pkgs/by-name

---
 .../misc/hpcg/default.nix => by-name/hp/hpcg/package.nix}       | 0
 pkgs/top-level/all-packages.nix                                 | 2 --
 2 files changed, 2 deletions(-)
 rename pkgs/{tools/misc/hpcg/default.nix => by-name/hp/hpcg/package.nix} (100%)

diff --git a/pkgs/tools/misc/hpcg/default.nix b/pkgs/by-name/hp/hpcg/package.nix
similarity index 100%
rename from pkgs/tools/misc/hpcg/default.nix
rename to pkgs/by-name/hp/hpcg/package.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 36909331c849..b37faed71576 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -30180,8 +30180,6 @@ with pkgs;
 
   hpack = haskell.lib.compose.justStaticExecutables haskellPackages.hpack;
 
-  hpcg = callPackage ../tools/misc/hpcg { };
-
   hpl = callPackage ../tools/misc/hpl { };
 
   hpmyroom = libsForQt5.callPackage ../applications/networking/hpmyroom { };

From 077fedc902d0bb0d64f27ed278faa598289025b8 Mon Sep 17 00:00:00 2001
From: Markus Kowalewski <markus.kowalewski@gmail.com>
Date: Thu, 26 Sep 2024 22:32:41 +0200
Subject: [PATCH 040/109] hpcg: apply nixfmt

---
 pkgs/by-name/hp/hpcg/package.nix | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/hp/hpcg/package.nix b/pkgs/by-name/hp/hpcg/package.nix
index 705b095b1d80..7a02f5adad8f 100644
--- a/pkgs/by-name/hp/hpcg/package.nix
+++ b/pkgs/by-name/hp/hpcg/package.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, fetchurl, mpi } :
+{
+  lib,
+  stdenv,
+  fetchurl,
+  mpi,
+}:
 
 stdenv.mkDerivation rec {
   pname = "hpcg";
@@ -37,4 +42,3 @@ stdenv.mkDerivation rec {
     mainProgram = "xhpcg";
   };
 }
-

From 1962209f7653968826702d8c4d1ec4c7671a92d6 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Fri, 27 Sep 2024 15:00:10 +0200
Subject: [PATCH 041/109] nss_latest: 3.104 -> 3.105

https://groups.google.com/a/mozilla.org/g/dev-tech-crypto/c/vh2mZemCg4E
---
 pkgs/development/libraries/nss/latest.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix
index b2d040232374..143bb32a5677 100644
--- a/pkgs/development/libraries/nss/latest.nix
+++ b/pkgs/development/libraries/nss/latest.nix
@@ -5,6 +5,6 @@
 #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
 
 import ./generic.nix {
-  version = "3.104";
-  hash = "sha256-TEGEKocapU5OTqx69n8nrn/X3SZr49d1alHM73UnDJw=";
+  version = "3.105";
+  hash = "sha256-Nfd7u0sdGqUCznnUxEJQFs+QuRSb+b7rZrcvKryimOQ=";
 }

From 70be41ae3f950fe0a570ead53326e23dd5ebf66c Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Fri, 27 Sep 2024 16:13:57 +0200
Subject: [PATCH 042/109] python312Packages.django-bootstrap4: 24.3 -> 24.4

https://github.com/zostera/django-bootstrap4/blob/refs/tags/v24.4/CHANGELOG.md
---
 .../django-bootstrap4/default.nix             | 24 +++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/pkgs/development/python-modules/django-bootstrap4/default.nix b/pkgs/development/python-modules/django-bootstrap4/default.nix
index e34ce0f4b624..7aa95c471777 100644
--- a/pkgs/development/python-modules/django-bootstrap4/default.nix
+++ b/pkgs/development/python-modules/django-bootstrap4/default.nix
@@ -15,35 +15,39 @@
 
   # tests
   python,
+  pytest-django,
+  pytestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "django-bootstrap4";
-  version = "24.3";
-  format = "pyproject";
+  version = "24.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "zostera";
     repo = "django-bootstrap4";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sZY/0f1PbYQu9fN65H6H7xLvsdE9AXK0cMt9TyAKuUw=";
+    hash = "sha256-9URZ+10GVX171Zht49UQEDkVOZ7LfOtUvapLydzNAlk=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [ beautifulsoup4 ];
+  dependencies = [ beautifulsoup4 ];
 
   pythonImportsCheck = [ "bootstrap4" ];
 
-  nativeCheckInputs = [ (django.override { withGdal = true; }) ];
+  nativeCheckInputs = [
+    (django.override { withGdal = true; })
+    pytest-django
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    runHook preCheck
-    ${python.interpreter} manage.py test -v1 --noinput
-    runHook postCheck
+  preCheck = ''
+    export DJANGO_SETTINGS_MODULE=tests.app.settings
   '';
 
   meta = with lib; {

From 6dc52fe9a07686d456b39f8296fc57278f586185 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Fri, 27 Sep 2024 23:31:57 +0200
Subject: [PATCH 043/109] uwsgi: 2.0.26 -> 2.0.27

https://github.com/unbit/uwsgi/compare/2.0.26...2.0.27
---
 pkgs/servers/uwsgi/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index 7d0729ee4621..7f9ecbab67d3 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -71,13 +71,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uwsgi";
-  version = "2.0.26";
+  version = "2.0.27";
 
   src = fetchFromGitHub {
     owner = "unbit";
     repo = "uwsgi";
     rev = finalAttrs.version;
-    hash = "sha256-3nmmVNNDvQ1RzaD5BQFrScHHnmUtMwjo3wodEGIJCvI=";
+    hash = "sha256-GOI92fwTfO/XAvNUHJMX6BtGFSVVOPWa1Jjw/UCJGi4=";
   };
 
   patches = [

From 7ab9765219bfa618cf1ee9106b79e99be1cfc707 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Sat, 28 Sep 2024 02:06:37 +0200
Subject: [PATCH 044/109] python312Packages.openai-whisper: 20231117 ->
 20240927

https://github.com/openai/whisper/blob/v20240927/CHANGELOG.md
---
 pkgs/development/python-modules/openai-whisper/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/openai-whisper/default.nix b/pkgs/development/python-modules/openai-whisper/default.nix
index 06d4a1f55d9a..03c76d909a87 100644
--- a/pkgs/development/python-modules/openai-whisper/default.nix
+++ b/pkgs/development/python-modules/openai-whisper/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "whisper";
-  version = "20231117";
+  version = "20240927";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MJ1XjB/GuYUiECCuuHS0NWHvvs+ko0oTvLuDI7zLNiY=";
+    hash = "sha256-tdBLvsfQpoTO0mhV0Ggb+dnJjpIPUNZM7fXODlv/HCA=";
   };
 
   patches = [

From c7ad3a761946476f2a7045ded7dc3885b3ebc9f9 Mon Sep 17 00:00:00 2001
From: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com>
Date: Sat, 28 Sep 2024 12:57:58 +0300
Subject: [PATCH 045/109] gallery-dl: 1.27.4 -> 1.27.5

Changelog: https://github.com/mikf/gallery-dl/releases/tag/v1.27.5
Diff: https://github.com/mikf/gallery-dl/compare/v1.27.4...v1.27.5
---
 pkgs/applications/misc/gallery-dl/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 3c0b631ed0a1..b235cabde998 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonApplication rec {
   pname = "gallery-dl";
-  version = "1.27.4";
+  version = "1.27.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "gallery_dl";
-    hash = "sha256-28y5sU9onPHIqlTIYzIQ+J2KElJocbuwKQN/E50JGI8=";
+    hash = "sha256-q/byWRvbzrV6KjPIDjJJWl0fkrluGEcvrISPKz8SJ+4=";
   };
 
   propagatedBuildInputs = [

From 1b3e725693353175f3f8751fe15a5fabb5a595c8 Mon Sep 17 00:00:00 2001
From: Moritz Hedtke <Moritz.Hedtke@t-online.de>
Date: Tue, 17 Sep 2024 12:43:27 +0200
Subject: [PATCH 046/109] verapdf: init at 1.26.2

Co-authored-by: kilianar <mail@kilianar.de>
---
 pkgs/by-name/ve/verapdf/package.nix           | 80 +++++++++++++++++++
 .../ve/verapdf/stable-maven-plugins.patch     | 42 ++++++++++
 2 files changed, 122 insertions(+)
 create mode 100644 pkgs/by-name/ve/verapdf/package.nix
 create mode 100644 pkgs/by-name/ve/verapdf/stable-maven-plugins.patch

diff --git a/pkgs/by-name/ve/verapdf/package.nix b/pkgs/by-name/ve/verapdf/package.nix
new file mode 100644
index 000000000000..1b772e74ed94
--- /dev/null
+++ b/pkgs/by-name/ve/verapdf/package.nix
@@ -0,0 +1,80 @@
+{
+  lib,
+  fetchFromGitHub,
+  maven,
+  makeWrapper,
+  stripJavaArchivesHook,
+  makeDesktopItem,
+  copyDesktopItems,
+  jre,
+}:
+maven.buildMavenPackage rec {
+  pname = "verapdf";
+  version = "1.26.2";
+
+  mvnParameters = "-pl '!installer' -Dverapdf.timestamp=1980-01-01T00:00:02Z -Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
+
+  src = fetchFromGitHub {
+    owner = "veraPDF";
+    repo = "veraPDF-apps";
+    rev = "v${version}";
+    hash = "sha256-bWj4dX1qRQ2zzfF9GfskvMnrNU9pKC738Zllx6JsFww=";
+  };
+
+  patches = [ ./stable-maven-plugins.patch ];
+
+  mvnHash = "sha256-sVuzd4TUmrfvqhtiZL1L4obOF1DihMANbZNIy/LKyfw=";
+
+  nativeBuildInputs = [
+    makeWrapper
+    stripJavaArchivesHook
+    copyDesktopItems
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share
+
+    install -Dm644 greenfield-apps/target/greenfield-apps-${lib.versions.majorMinor version}.0.jar $out/share/verapdf.jar
+
+    makeWrapper ${jre}/bin/java $out/bin/verapdf-gui --add-flags "-jar $out/share/verapdf.jar"
+    makeWrapper ${jre}/bin/java $out/bin/verapdf --add-flags "-cp $out/share/verapdf.jar org.verapdf.apps.GreenfieldCliWrapper"
+
+    install -Dm644 gui/src/main/resources/org/verapdf/gui/images/icon.png $out/share/icons/hicolor/256x256/apps/verapdf.png
+
+    runHook postInstall
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "veraPDF";
+      comment = meta.description;
+      desktopName = "veraPDF";
+      genericName = "PDF/A Conformance Checker";
+      exec = "verapdf-gui";
+      icon = "verapdf";
+      categories = [
+        "Development"
+        "Utility"
+      ];
+      keywords = [ "PDF" ];
+      mimeTypes = [ "application/pdf" ];
+    })
+  ];
+
+  meta = {
+    description = "Command line and GUI industry supported PDF/A and PDF/UA Validation";
+    homepage = "https://github.com/veraPDF/veraPDF-apps";
+    license = [
+      lib.licenses.gpl3Plus
+      # or
+      lib.licenses.mpl20
+    ];
+    mainProgram = "verapdf-gui";
+    maintainers = [
+      lib.maintainers.mohe2015
+      lib.maintainers.kilianar
+    ];
+  };
+}
diff --git a/pkgs/by-name/ve/verapdf/stable-maven-plugins.patch b/pkgs/by-name/ve/verapdf/stable-maven-plugins.patch
new file mode 100644
index 000000000000..77257b5f2dfb
--- /dev/null
+++ b/pkgs/by-name/ve/verapdf/stable-maven-plugins.patch
@@ -0,0 +1,42 @@
+diff --git a/pom.xml b/pom.xml
+index 015dca6..1557d54 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -125,6 +125,37 @@
+   <build>
+ 
+     <plugins>
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-enforcer-plugin</artifactId>
++        <version>3.5.0</version>
++        <executions>
++          <execution>
++            <id>enforce-plugin-versions</id>
++            <goals>
++              <goal>enforce</goal>
++            </goals>
++            <configuration>
++              <rules>
++                <requirePluginVersions />
++              </rules>
++            </configuration>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-install-plugin</artifactId>
++        <version>3.1.3</version>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>3.4.2</version>
++      </plugin>
++
+       <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-compiler-plugin</artifactId>

From 39b9817d5efa5ce0d618e9eb480cf94915f5f864 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 01:01:07 +0000
Subject: [PATCH 047/109] buildkite-cli: 2.0.0 -> 3.1.0

---
 .../tools/continuous-integration/buildkite-cli/default.nix  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix b/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
index dd81126d68fd..f59f783231eb 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "buildkite-cli";
-  version = "2.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-4MUgyUKyycsreAMVtyKJFpQOHvI6JJSn7TUZtbQANyc=";
+    sha256 = "sha256-fidE4MSZS53Odv5tlNPFJEhcb8JTmILVRNmcVF9Z9Oc=";
   };
 
-  vendorHash = "sha256-3x7yJenJ2BHdqVPaBaqfFVeOSJZ/VRNF/TTfSsw+2os=";
+  vendorHash = "sha256-stxsMJPBUclLlmR88c7OwAhsw9dhyBIhStuxLVu00bo=";
 
   doCheck = false;
 

From dba66f574552a4b80a561f6b65ce64bb3a2bcd02 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 12:03:41 +0000
Subject: [PATCH 048/109] vivaldi: 6.9.3447.46 -> 6.9.3447.48

---
 pkgs/applications/networking/browsers/vivaldi/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 6e6299fb556b..d0a27d825211 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -24,7 +24,7 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "6.9.3447.46";
+  version = "6.9.3447.48";
 
   suffix = {
     aarch64-linux = "arm64";
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
     hash = {
-      aarch64-linux = "sha256-r0u7u5R0lMI65zsTxIU0y5A+swJYLAj42ptJWVvFdxs=";
-      x86_64-linux = "sha256-hIdgyh6c+SbeeT6uY1aN7OCPY+U2GGX6V7eHdwgyuzc=";
+      aarch64-linux = "sha256-pl6vZwIPqfYi/nO/PDEwUyi4CdVP9ciTAbVg0d+DX1w=";
+      x86_64-linux = "sha256-mhJCCYXP9eyA8YquSZsnm5o04VmY5NRwVM5vKqbdkZs=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 

From 9d9980f1bb1a22f22736880765182eb1c7267c54 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 13:09:34 +0000
Subject: [PATCH 049/109] resolve-march-native: 5.0.2 -> 5.1.0

---
 pkgs/development/tools/resolve-march-native/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/resolve-march-native/default.nix b/pkgs/development/tools/resolve-march-native/default.nix
index a5db33e712ab..312d0d11c50c 100644
--- a/pkgs/development/tools/resolve-march-native/default.nix
+++ b/pkgs/development/tools/resolve-march-native/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "resolve-march-native";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "hartwork";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-fkiEWZvg/h8Gn0TL3Ov8aq2cAG5VncUTrVcUTRNOx+Y=";
+    hash = "sha256-02d7ip5E/vkOMkkeHOx1m7FdpurXT9O6HdwrygNPHdY=";
   };
 
   # NB: The tool uses gcc at runtime to resolve the -march=native flags

From 17c1e538d39309802b777b72743be70042d7409e Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 13:09:48 +0000
Subject: [PATCH 050/109] xdg-desktop-portal-hyprland: 1.3.5 -> 1.3.6

---
 .../hyprwm/xdg-desktop-portal-hyprland/default.nix            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix b/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix
index 47b131ba6180..ef479589d59b 100644
--- a/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix
@@ -27,13 +27,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "xdg-desktop-portal-hyprland";
-  version = "1.3.5";
+  version = "1.3.6";
 
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = "xdg-desktop-portal-hyprland";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-xTqnMoJsEojuvqJLuM+U7EZ7q71efaj3pbvjutq4TXc=";
+    hash = "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=";
   };
 
   depsBuildBuild = [

From 4a5d67962714f98472fc8ac77de24c7cc6fc5079 Mon Sep 17 00:00:00 2001
From: redyf <mateusalvespereira7@gmail.com>
Date: Sun, 29 Sep 2024 10:13:33 -0300
Subject: [PATCH 051/109] lunar-client: 3.2.17 -> 3.2.18

---
 pkgs/by-name/lu/lunar-client/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/lu/lunar-client/package.nix b/pkgs/by-name/lu/lunar-client/package.nix
index f10a4f3ea603..476f3bb48b59 100644
--- a/pkgs/by-name/lu/lunar-client/package.nix
+++ b/pkgs/by-name/lu/lunar-client/package.nix
@@ -6,11 +6,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "lunarclient";
-  version = "3.2.17";
+  version = "3.2.18";
 
   src = fetchurl {
     url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
-    hash = "sha512-hzW7khHfWEYPtzMmedy/dXqKh7LPniqI7/0F1FtBtrlDnEIEQUq/7VUcygsVTBI6kuj8vTG5+PYcLez+cYAjqg==";
+    hash = "sha512-gIkxplIDtbJSxWM4EXzXSy1G8c8x3jWWvqzGSM140Wu5pcSrVYf+QSMAPrzgBwQD7wUHdBuW92BA2X+/9Q1TmA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];

From d4a3b76cc4cecf39c20813199ec521414c58973e Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 16:14:51 +0000
Subject: [PATCH 052/109] typesense: 27.0 -> 27.1

---
 pkgs/servers/search/typesense/sources.json | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkgs/servers/search/typesense/sources.json b/pkgs/servers/search/typesense/sources.json
index f1b01a738bd5..501ba02d98c7 100644
--- a/pkgs/servers/search/typesense/sources.json
+++ b/pkgs/servers/search/typesense/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "27.0",
+  "version": "27.1",
   "platforms": {
     "aarch64-linux": {
       "arch": "linux-arm64",
-      "hash": "sha256-6o4pF1ACE0+qlbR/MrhnT+nfBwYuffb4yme64/hjPwU="
+      "hash": "sha256-5NJWbL+IQLXV5P4j9a4k7U3Khnw9B9FWG5YpkPPa5d4="
     },
     "x86_64-linux": {
       "arch": "linux-amd64",
-      "hash": "sha256-0ZS/G88+dRXpPHeRBO3rh1r45GOMMWmmiOEYm05VASE="
+      "hash": "sha256-63k/yh0nFGJy4+d20KIqrHC9Z5brjhjfkcsxzsFG1Vo="
     },
     "x86_64-darwin": {
       "arch": "darwin-amd64",
-      "hash": "sha256-3KhYxxWZJOz7XWm0chvHj2q6fNGVasVIQv+UiZRx3E4="
+      "hash": "sha256-a8p4/+dCOyx2/slhynWJg6MswMiR9YP01ZrrjkfAheE="
     },
     "aarch64-darwin": {
       "arch": "darwin-arm64",
-      "hash": "sha256-6u9U9Vww2m+R3pwG6whvKgrcsckqBoK5DfutGkQpiqI="
+      "hash": "sha256-70ePCpMvON7T3kbeeRmkqQgJzEgNNE0W7VpcapzLF34="
     }
   }
 }

From f0d7b6b8e96c777b6b7823e8cfe85a76082f1cb8 Mon Sep 17 00:00:00 2001
From: Nick Cao <nickcao@nichi.co>
Date: Sun, 29 Sep 2024 09:46:31 -0400
Subject: [PATCH 053/109] xmlrpc_c: 1.51.07 -> 1.59.03, enable parallel
 building

---
 pkgs/development/libraries/xmlrpc-c/default.nix | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index af73a81fcb20..04dea6f59fce 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlrpc-c";
-  version = "1.51.07";
+  version = "1.59.03";
 
   src = fetchurl {
     url = "mirror://sourceforge/xmlrpc-c/${pname}-${version}.tgz";
-    sha256 = "sha256-hNIK4z+SdYL4IdYcC5GUrvvx15JFkKE/qdpa4WmK3tk=";
+    hash = "sha256-vbcdtCqwvlFZFVWIXRFoKwRMEDTUoylkAb+SHsCyM/4=";
   };
 
   buildInputs = [ curl libxml2 ];
@@ -20,7 +20,10 @@ stdenv.mkDerivation rec {
     (cd tools/xmlrpc && make && make install)
   '';
 
-  hardeningDisable = [ "format" ];
+  enableParallelBuilding = true;
+
+  # ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration";
 
   meta = with lib; {
     description = "Lightweight RPC library based on XML and HTTP";

From ca4018ebff1d6cdd7cbb59c631920333cffcb443 Mon Sep 17 00:00:00 2001
From: Xaver106 <xaver10610@gmail.com>
Date: Sun, 29 Sep 2024 20:29:48 +0200
Subject: [PATCH 054/109] nextcloud-client: 1.14.0 -> 1.14.1

---
 pkgs/applications/networking/nextcloud-client/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 4fd9c7d7dec1..29f044536981 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.14.0";
+  version = "3.14.1";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "nextcloud-releases";
     repo = "desktop";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/jRD0swNs59xugsXLbesGcTtyGdc/y/iwiDVoErW+d4=";
+    hash = "sha256-bUqHegW38NQJn4TnEQt9wRJFqR6fbLpvQvmWF3akekc=";
   };
 
   patches = [

From cc4b9ba546101741c3a54d6921788ddc48e1c200 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 18:49:06 +0000
Subject: [PATCH 055/109] papermc: 1.21.1-85 -> 1.21.1-110

---
 pkgs/games/papermc/versions.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/games/papermc/versions.json b/pkgs/games/papermc/versions.json
index 7e10420a2a0b..a8efe02630e0 100644
--- a/pkgs/games/papermc/versions.json
+++ b/pkgs/games/papermc/versions.json
@@ -60,7 +60,7 @@
         "version": "1.21-130"
     },
     "1.21.1": {
-        "hash": "sha256-mHaYzF79Pxv27qZxcRzcnSKGuaaEybATQJo+pAHoyJk=",
-        "version": "1.21.1-85"
+        "hash": "sha256-1oKvRB00bfdJZ7uVsUabv9EAFiT2YwEsLXetQ3BrVvA=",
+        "version": "1.21.1-110"
     }
 }

From 11d1f8776c7b9e34b0e21516b2cdbf6c7a8a0e3c Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Sun, 29 Sep 2024 20:43:30 +0200
Subject: [PATCH 056/109] nixos/postgresql: escape initdbArgs

It doesn't look correct that this isn't the case already.
---
 nixos/doc/manual/release-notes/rl-2411.section.md | 2 ++
 nixos/modules/services/databases/postgresql.md    | 4 ++--
 nixos/modules/services/databases/postgresql.nix   | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md
index 6f2dd011eaf0..bce2805f74d4 100644
--- a/nixos/doc/manual/release-notes/rl-2411.section.md
+++ b/nixos/doc/manual/release-notes/rl-2411.section.md
@@ -569,6 +569,8 @@
 
 - `restic` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep), available as [`services.restic.backups.<name>.inhibitsSleep`](#opt-services.restic.backups._name_.inhibitsSleep).
 
+- The arguments from [](#opt-services.postgresql.initdbArgs) now get shell-escaped.
+
 - Support for *runner registration tokens* has been [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/380872)
   in `gitlab-runner` 15.6 and is expected to be removed in `gitlab-runner` 18.0. Configuration of existing runners
   should be changed to using *runner authentication tokens* by configuring
diff --git a/nixos/modules/services/databases/postgresql.md b/nixos/modules/services/databases/postgresql.md
index 0de1d82b4f03..5108f040e968 100644
--- a/nixos/modules/services/databases/postgresql.md
+++ b/nixos/modules/services/databases/postgresql.md
@@ -187,7 +187,7 @@ $ nix-instantiate --eval -A postgresql_13.psqlSchema
 ```
 For an upgrade, a script like this can be used to simplify the process:
 ```nix
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
 {
   environment.systemPackages = [
     (let
@@ -211,7 +211,7 @@ For an upgrade, a script like this can be used to simplify the process:
 
       install -d -m 0700 -o postgres -g postgres "$NEWDATA"
       cd "$NEWDATA"
-      sudo -u postgres $NEWBIN/initdb -D "$NEWDATA" ${builtins.concatStringsSep " " cfg.initdbArgs}
+      sudo -u postgres $NEWBIN/initdb -D "$NEWDATA" ${lib.escapeShellArgs cfg.initdbArgs}
 
       sudo -u postgres $NEWBIN/pg_upgrade \
         --old-datadir "$OLDDATA" --new-datadir "$NEWDATA" \
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 55b3dd282ec4..ceaccde813a0 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -7,6 +7,7 @@ let
     concatStringsSep
     const
     elem
+    escapeShellArgs
     filterAttrs
     isString
     literalExpression
@@ -545,7 +546,7 @@ in
               rm -f ${cfg.dataDir}/*.conf
 
               # Initialise the database.
-              initdb -U ${cfg.superUser} ${concatStringsSep " " cfg.initdbArgs}
+              initdb -U ${cfg.superUser} ${escapeShellArgs cfg.initdbArgs}
 
               # See postStart!
               touch "${cfg.dataDir}/.first_startup"

From dce718aa83a51aef01310366b101e367de9f8bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= <ofalvai@gmail.com>
Date: Sun, 29 Sep 2024 21:34:47 +0200
Subject: [PATCH 057/109] cloudlens: fix darwin build

---
 pkgs/by-name/cl/cloudlens/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/cl/cloudlens/package.nix b/pkgs/by-name/cl/cloudlens/package.nix
index 9fbda0466749..677b9acf0051 100644
--- a/pkgs/by-name/cl/cloudlens/package.nix
+++ b/pkgs/by-name/cl/cloudlens/package.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , autoPatchelfHook
 , xclip
-,
+, stdenv
 }:
 
 buildGoModule rec {
@@ -27,7 +27,7 @@ buildGoModule rec {
     "-X=github.com/one2nc/cloudlens/cmd.date=1970-01-01T00:00:00Z"
   ];
 
-  nativeBuildInputs = [ autoPatchelfHook ];
+  nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
 
   buildInputs = [ xclip ];
 

From c25213a9bd2387e4e870a3e6e94be4e02a9cb9a5 Mon Sep 17 00:00:00 2001
From: h7x4 <h7x4@nani.wtf>
Date: Sun, 29 Sep 2024 21:40:39 +0200
Subject: [PATCH 058/109] nixos/bluemap: move to `web-apps`

---
 nixos/modules/module-list.nix                                | 2 +-
 nixos/modules/services/{web-servers => web-apps}/bluemap.nix | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename nixos/modules/services/{web-servers => web-apps}/bluemap.nix (100%)

diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index ad54da561659..f840524ebb31 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1385,6 +1385,7 @@
   ./services/web-apps/atlassian/crowd.nix
   ./services/web-apps/atlassian/jira.nix
   ./services/web-apps/audiobookshelf.nix
+  ./services/web-apps/bluemap.nix
   ./services/web-apps/bookstack.nix
   ./services/web-apps/c2fmzq-server.nix
   ./services/web-apps/calibre-web.nix
@@ -1516,7 +1517,6 @@
   ./services/web-apps/zitadel.nix
   ./services/web-servers/agate.nix
   ./services/web-servers/apache-httpd/default.nix
-  ./services/web-servers/bluemap.nix
   ./services/web-servers/caddy/default.nix
   ./services/web-servers/darkhttpd.nix
   ./services/web-servers/fcgiwrap.nix
diff --git a/nixos/modules/services/web-servers/bluemap.nix b/nixos/modules/services/web-apps/bluemap.nix
similarity index 100%
rename from nixos/modules/services/web-servers/bluemap.nix
rename to nixos/modules/services/web-apps/bluemap.nix

From 03a6842b0e6864fd5bfd99021d37a96fac185c95 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 20:08:42 +0000
Subject: [PATCH 059/109] sbt-extras: 2024-09-13 -> 2024-09-28

---
 .../development/tools/build-managers/sbt-extras/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 3241ea2aee8e..385cfc5c087a 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "0b24c960935ffefc0ac7340137f81f0a7ed4d623";
-  version = "2024-09-13";
+  rev = "408f74841b90169a7f674955389212e2d02f7f4d";
+  version = "2024-09-28";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "4jYlpBq7l5vypbm/6kHHxAWXyJTuZ2n9/ij59yy9CNQ=";
+    sha256 = "2iXNs2Ks54Gj6T6PR5AtWrmR9uUxgFScAfek2v+qdTo=";
   };
 
   dontBuild = true;

From 2729ae7590ff7a47ec06aed86f5c9803713dc536 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 20:41:16 +0000
Subject: [PATCH 060/109] heptabase: 1.39.0 -> 1.40.0

---
 pkgs/by-name/he/heptabase/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/he/heptabase/package.nix b/pkgs/by-name/he/heptabase/package.nix
index 160f4d767d90..8614e8b152bf 100644
--- a/pkgs/by-name/he/heptabase/package.nix
+++ b/pkgs/by-name/he/heptabase/package.nix
@@ -5,10 +5,10 @@
 }:
 let
   pname = "heptabase";
-  version = "1.39.0";
+  version = "1.40.0";
   src = fetchurl {
     url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
-    hash = "sha256-/uRPxmMTBr2ZkkY/Sp0FHI76ttoDDO7pID6fFckvUY8=";
+    hash = "sha256-EnGn3N8dJ7bx60eY8u1LxgQaLkU/RR+ANEG817XfaS0=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit pname version src; };

From f95b3605e0d2d1cd0734b1c7dfb7c18c05909a1c Mon Sep 17 00:00:00 2001
From: Alyssa Ross <hi@alyssa.is>
Date: Sun, 29 Sep 2024 22:57:14 +0200
Subject: [PATCH 061/109] linux-pam.meta.homepage: update

Old one redirects here.
---
 pkgs/os-specific/linux/pam/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index b460348a105d..9e97071bbc7c 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://www.linux-pam.org/";
+    homepage = "https://github.com/linux-pam/linux-pam";
     description = "Pluggable Authentication Modules, a flexible mechanism for authenticating user";
     platforms = platforms.linux;
     license = licenses.bsd3;

From a3e3aa258345b39da49f9cd662e8af36654fe755 Mon Sep 17 00:00:00 2001
From: nartsisss <nartsiss@proton.me>
Date: Mon, 30 Sep 2024 00:21:34 +0300
Subject: [PATCH 062/109] rainfrog: 0.2.5 -> 0.2.6

---
 pkgs/by-name/ra/rainfrog/package.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/by-name/ra/rainfrog/package.nix b/pkgs/by-name/ra/rainfrog/package.nix
index 5babac7991de..2152374e1452 100644
--- a/pkgs/by-name/ra/rainfrog/package.nix
+++ b/pkgs/by-name/ra/rainfrog/package.nix
@@ -7,7 +7,7 @@
   stdenv,
 }:
 let
-  version = "0.2.5";
+  version = "0.2.6";
 in
 rustPlatform.buildRustPackage {
   inherit version;
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
     owner = "achristmascarl";
     repo = "rainfrog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+jjVowyyjM344LRDl+xFPxQ7qfjIMOMVzFiDgUHBMKw=";
+    hash = "sha256-yY4F5Aw+duXknESjl6hoOUV3er84DkTtIBoX3humWxA=";
   };
 
-  cargoHash = "sha256-0Wtsquus63fwaP7YUi/QelCJGU2cH1RWAYQWY9YbfMw=";
+  cargoHash = "sha256-QMZUReWrOS0P+hxsV5c/eJxnwYX977+4oI7MPfz4dgg=";
 
   buildInputs = lib.optionals stdenv.isDarwin (
     with darwin.apple_sdk.frameworks;

From acec05505d2dcb51ef7a8026d226d601ca5b1d8c Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 22:37:37 +0000
Subject: [PATCH 063/109] octavePackages.signal: 1.4.5 -> 1.4.6

---
 pkgs/development/octave-modules/signal/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/octave-modules/signal/default.nix b/pkgs/development/octave-modules/signal/default.nix
index 0c4c2d9c6e23..1693d8360628 100644
--- a/pkgs/development/octave-modules/signal/default.nix
+++ b/pkgs/development/octave-modules/signal/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "signal";
-  version = "1.4.5";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "sha256-VVreL/gPcRiQk5XDNAXwoXpPvNIrxtL7nD9/Rf72SOc=";
+    sha256 = "sha256-lO74/qeMiWCfjd9tX/i/wuDauTK0P4bOkRR0pYtcce4=";
   };
 
   requiredOctavePackages = [

From fdf1280a9240545fbdb481447c6f9f4f537c7d28 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 22:57:18 +0000
Subject: [PATCH 064/109] flyctl: 0.3.6 -> 0.3.10

---
 pkgs/development/web/flyctl/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 2fba60c53549..95b5e7551393 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.3.6";
+  version = "0.3.10";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-Wj9omHywqXYEaap4w4C6wtwRs0QyKx4kp+QAkmK07fE=";
+    hash = "sha256-xg26di6ceko6QUVciy1BLNC7hMEf4I1HRHmRCrdd4vc=";
   };
 
-  vendorHash = "sha256-Z9qbrFctUv6F8374qyJ7Fw4HU/7BIhEfHfrwoFUXM4Q=";
+  vendorHash = "sha256-N/evH8AiTHzO2fXJM3j4vIfSvAuiCc2IWpVcuRU7zlY=";
 
   subPackages = [ "." ];
 

From 2a6f48769c9766c862e72f50eb2dd9ab78c224f0 Mon Sep 17 00:00:00 2001
From: Adam Stephens <adam@valkor.net>
Date: Sun, 29 Sep 2024 19:08:48 -0400
Subject: [PATCH 065/109] miniflux: add updateScript

---
 pkgs/servers/miniflux/default.nix | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index 9e0e854435c8..8590cce0b5ff 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchpatch2, installShellFiles, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, nixosTests, nix-update-script }:
 
 buildGoModule rec {
   pname = "miniflux";
@@ -26,7 +26,10 @@ buildGoModule rec {
     installManPage miniflux.1
   '';
 
-  passthru.tests = nixosTests.miniflux;
+  passthru = {
+    tests = nixosTests.miniflux;
+    updateScript = nix-update-script { };
+  };
 
   meta = with lib; {
     description = "Minimalist and opinionated feed reader";

From 1ff2dee679c55363ecec39392136f07cc6dca893 Mon Sep 17 00:00:00 2001
From: Adam Stephens <adam@valkor.net>
Date: Sun, 29 Sep 2024 19:11:07 -0400
Subject: [PATCH 066/109] miniflux: 2.2.0 -> 2.2.1

https://miniflux.app/releases/2.2.1.html
---
 pkgs/servers/miniflux/default.nix | 6 +++---
 pkgs/top-level/all-packages.nix   | 4 +++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index 8590cce0b5ff..c3e590e80fd4 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "miniflux";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "miniflux";
     repo = "v2";
     rev = "refs/tags/${version}";
-    hash = "sha256-JE0sHxmvLGvbgOqH5f7OONAvP93dJLWLAbgTnlNHGHE=";
+    hash = "sha256-b4slACQl+3vDsioULVKscBhS8LvTxCUPDnO7GlT46CM=";
   };
 
-  vendorHash = "sha256-Y5FcKmvYMN9Q9/VpP8IWclFXt7gl61UiyPJ+Rdmlito=";
+  vendorHash = "sha256-PL5tc6MQRHloc3Dfw+FpWdqrXErFPjEb8RNPmHr7jSk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f5254a83b0fb..821fff842acc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -25050,7 +25050,9 @@ with pkgs;
 
   azuredatastudio = callPackage ../applications/misc/azuredatastudio { };
 
-  miniflux = callPackage ../servers/miniflux { };
+  miniflux = callPackage ../servers/miniflux {
+    buildGoModule = buildGo123Module;
+  };
 
   inherit (callPackage ../servers/mir { })
     mir

From d7f0cdec396ef119fe287bf653f64c7f50f80d47 Mon Sep 17 00:00:00 2001
From: Adam Stephens <adam@valkor.net>
Date: Sun, 29 Sep 2024 19:13:02 -0400
Subject: [PATCH 067/109] miniflux: move to by-name

---
 .../miniflux/default.nix => by-name/mi/miniflux/package.nix}    | 0
 pkgs/top-level/all-packages.nix                                 | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename pkgs/{servers/miniflux/default.nix => by-name/mi/miniflux/package.nix} (100%)

diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/by-name/mi/miniflux/package.nix
similarity index 100%
rename from pkgs/servers/miniflux/default.nix
rename to pkgs/by-name/mi/miniflux/package.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 821fff842acc..87ebacfe0869 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -25050,7 +25050,7 @@ with pkgs;
 
   azuredatastudio = callPackage ../applications/misc/azuredatastudio { };
 
-  miniflux = callPackage ../servers/miniflux {
+  miniflux = callPackage ../by-name/mi/miniflux/package.nix {
     buildGoModule = buildGo123Module;
   };
 

From ff903a01fd1f9f050680d7bba7e3e56b0c4a50f1 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 23:47:34 +0000
Subject: [PATCH 068/109] albert: 0.26.3 -> 0.26.4

---
 pkgs/by-name/al/albert/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/al/albert/package.nix b/pkgs/by-name/al/albert/package.nix
index cde9f01547c0..3e9196aa8df0 100644
--- a/pkgs/by-name/al/albert/package.nix
+++ b/pkgs/by-name/al/albert/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "albert";
-  version = "0.26.3";
+  version = "0.26.4";
 
   src = fetchFromGitHub {
     owner = "albertlauncher";
     repo = "albert";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-f5dTGthT8rGPjW41BaPtQlf8C10TUBmIzkhsCTgNeg4=";
+    hash = "sha256-MEpBZV1Fxoq24eT1hgyrp33qcaLqmQ+aAP974Yn8d2g=";
     fetchSubmodules = true;
   };
 

From 15f168528abc70128bbb61f3ab0eec83d80deb57 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 23:48:11 +0000
Subject: [PATCH 069/109] bruno: 1.29.1 -> 1.30.1

---
 pkgs/by-name/br/bruno/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix
index 6b271c571e07..f84548760979 100644
--- a/pkgs/by-name/br/bruno/package.nix
+++ b/pkgs/by-name/br/bruno/package.nix
@@ -26,13 +26,13 @@ let
 in
 buildNpmPackage' rec {
   pname = "bruno";
-  version = "1.29.1";
+  version = "1.30.1";
 
   src = fetchFromGitHub {
     owner = "usebruno";
     repo = "bruno";
     rev = "v${version}";
-    hash = "sha256-UXxMHTunsKXXt0NX5fuyzQbtp4AUzLXnFHqe8Is6Cmc=";
+    hash = "sha256-9dH79ytqkZcdgUMbTa32VHKr2dHiNsJu6GawDtRsJx0=";
 
     postFetch = ''
       ${lib.getExe npm-lockfile-fix} $out/package-lock.json

From c04f7ccc59590582a46312a388972318e0aa082b Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 00:35:33 +0000
Subject: [PATCH 070/109] glance: 0.6.1 -> 0.6.2

---
 pkgs/by-name/gl/glance/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/gl/glance/package.nix b/pkgs/by-name/gl/glance/package.nix
index 0b1419c8f331..fe4aa35a56d3 100644
--- a/pkgs/by-name/gl/glance/package.nix
+++ b/pkgs/by-name/gl/glance/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "glance";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "glanceapp";
     repo = "glance";
     rev = "v${version}";
-    hash = "sha256-neoRuduQOC3DHeIy/sh1BWUwcwXPGQIgZRWQcL7gzlk=";
+    hash = "sha256-A2EFIDwJbIzRDAxFKW7znZFYKYpqOMEixUG0yUDx7zc=";
   };
 
   vendorHash = "sha256-BLWaYiWcLX+/DW7Zzp6/Mtw5uVxIVtfubB895hrZ+08=";

From c8da361b085e741c790f7ac2f65f9b6b60d007fa Mon Sep 17 00:00:00 2001
From: Malo Bourgon <mbourgon@gmail.com>
Date: Sun, 29 Sep 2024 18:01:16 -0700
Subject: [PATCH 071/109] signalbackup-tools: 20240924-2 -> 20240929

Diff: https://github.com/bepaald/signalbackup-tools/compare/20240924-2...20240929
---
 .../instant-messengers/signalbackup-tools/default.nix         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index c35ad2d2eef1..8cd6bed359fa 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20240924-2";
+  version = "20240929";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = "signalbackup-tools";
     rev = version;
-    hash = "sha256-YnblQjZpKsnphbaRQ6FyHhssnns7U5VoNe/r3goQ0g8=";
+    hash = "sha256-OXn/RMc2v099S8/atQTYz1YwSH0sD7o7ZImlrBmUlSE=";
   };
 
   nativeBuildInputs = [

From 5dcb4ae9fd8663b5244536c2be76a30b991a3512 Mon Sep 17 00:00:00 2001
From: Bryan Gardiner <bog@khumba.net>
Date: Sat, 21 Sep 2024 10:29:11 -0700
Subject: [PATCH 072/109] nvd: 0.2.3 -> 0.2.4, switch source repository to
 Sourcehut

nvd will be moving from Gitlab to Sourcehut shortly, and the old
repository will be archived and removed.
---
 pkgs/tools/package-management/nvd/default.nix | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pkgs/tools/package-management/nvd/default.nix b/pkgs/tools/package-management/nvd/default.nix
index 8f33b4a5fbfa..22fba65b7297 100644
--- a/pkgs/tools/package-management/nvd/default.nix
+++ b/pkgs/tools/package-management/nvd/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitLab
+{ fetchFromSourcehut
 , installShellFiles
 , lib
 , python3
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nvd";
-  version = "0.2.3";
+  version = "0.2.4";
 
-  src = fetchFromGitLab {
-    owner = "khumba";
+  src = fetchFromSourcehut {
+    owner = "~khumba";
     repo = "nvd";
-    rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-TmaXsyJLRkmIN9D77jOXd8fLj7kYPCBLg0AHIImAtgA=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-3Fb6MDz4z41at3XpjLVng8NBwUJn/N7QBgU6Cbh0w98=";
   };
 
   buildInputs = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     description = "Nix/NixOS package version diff tool";
-    homepage = "https://gitlab.com/khumba/nvd";
+    homepage = "https://khumba.net/projects/nvd";
     license = lib.licenses.asl20;
     mainProgram = "nvd";
     maintainers = with lib.maintainers; [ khumba ];

From f3a67ca61b2c25dcce930afbbb267581b60eda81 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 03:05:02 +0000
Subject: [PATCH 073/109] microsoft-edge: 129.0.2792.52 -> 129.0.2792.65

---
 .../networking/browsers/microsoft-edge/default.nix   | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 7c903058c234..5721c6e616b9 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   beta = import ./browser.nix {
     channel = "beta";
-    version = "129.0.2792.52";
+    version = "130.0.2849.5";
     revision = "1";
-    hash = "sha256-KurkG/OxoKOcBcFXj9xhQVSidc2L6bzrDY8c2OmSQro=";
+    hash = "sha256-chvB84+zu6/xgRHyUk33aicc44QJLxxdOOu0ngqmsFM=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "130.0.2835.2";
+    version = "130.0.2849.1";
     revision = "1";
-    hash = "sha256-szxMnqw7tUvASsxsYacrQ3StofUJHBWHIhF3EfGIVAs=";
+    hash = "sha256-JObqtaaUR6J4rZ90WWw7Ku5Ntl/QBWHo23T7Ohu5p1s=";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "129.0.2792.52";
+    version = "129.0.2792.65";
     revision = "1";
-    hash = "sha256-tiq6PwDrH8ZctfyDza9W3WOsj7NArv4XyMPGWU7fW7A=";
+    hash = "sha256-xuCtHptE2CG4aiY7gu2sWW3Km4qfB0E/L/PBACIaKOc=";
   };
 }

From e6d4785ec0c2a9716f1383fcabff64ff86798d20 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 03:08:11 +0000
Subject: [PATCH 074/109] githooks: 3.0.3 -> 3.0.4

---
 pkgs/by-name/gi/githooks/package.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/by-name/gi/githooks/package.nix b/pkgs/by-name/gi/githooks/package.nix
index d5a0b78f494f..54acd5292923 100644
--- a/pkgs/by-name/gi/githooks/package.nix
+++ b/pkgs/by-name/gi/githooks/package.nix
@@ -9,13 +9,13 @@
 }:
 buildGoModule rec {
   pname = "githooks";
-  version = "3.0.3";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner = "gabyx";
     repo = "githooks";
     rev = "v${version}";
-    hash = "sha256-9IsE9XGeMgOPPEyBvGLZaZKyz5HjnugiELP76+alFmU=";
+    hash = "sha256-pTSC8ruNiPzQO1C6j+G+WFX3pz/mWPukuWkKUSYdfHw=";
   };
 
   modRoot = "./githooks";

From 65a629f03747f9d14d8497f52c66a5443415f35f Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 03:21:06 +0000
Subject: [PATCH 075/109] mob: 5.2.0 -> 5.3.1

---
 pkgs/applications/misc/mob/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/misc/mob/default.nix b/pkgs/applications/misc/mob/default.nix
index 90c1683edeea..d09a02a17252 100644
--- a/pkgs/applications/misc/mob/default.nix
+++ b/pkgs/applications/misc/mob/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "mob";
-  version = "5.2.0";
+  version = "5.3.1";
 
   src = fetchFromGitHub {
     owner = "remotemobprogramming";
     repo = "mob";
     rev = "v${version}";
-    hash = "sha256-LktA7GMOWAl12PRLgX8VTyYZ00sh6AHsgw9NdyjAJ64=";
+    hash = "sha256-+zNlxIvIvPyz0vA9IPaMzP8wfEXwNyRcvp45ohzoxQQ=";
   };
 
   vendorHash = null;

From 543781083afffe71d6250862eb494c244355fa11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= <mail@dotlambda.de>
Date: Sat, 28 Sep 2024 22:35:45 -0700
Subject: [PATCH 076/109] treewide: replace passthru.optional-dependencies with
 optional-dependencies

---
 .../file-managers/browsr/default.nix          |  4 +-
 pkgs/applications/misc/dbx/default.nix        |  2 +-
 pkgs/applications/misc/meerk40t/default.nix   |  4 +-
 .../as/asciinema-automation/package.nix       |  2 +-
 pkgs/by-name/co/comic-mandown/package.nix     |  4 +-
 .../ho/homeassistant-satellite/package.nix    |  2 +-
 pkgs/by-name/ji/jinja2-cli/package.nix        |  4 +-
 pkgs/by-name/of/offat/package.nix             |  2 +-
 pkgs/by-name/po/poethepoet/package.nix        |  2 +-
 pkgs/by-name/st/strictdoc/package.nix         |  2 +-
 pkgs/by-name/wy/wyoming-satellite/package.nix |  2 +-
 .../python-modules/acquire/default.nix        |  4 +-
 .../python-modules/adb-shell/default.nix      |  4 +-
 .../python-modules/aiobotocore/default.nix    |  2 +-
 .../python-modules/aiocoap/default.nix        |  2 +-
 .../python-modules/aioftp/default.nix         |  4 +-
 .../python-modules/aiojobs/default.nix        |  4 +-
 .../python-modules/aiomisc/default.nix        |  4 +-
 .../python-modules/aioprometheus/default.nix  |  4 +-
 .../python-modules/alpha-vantage/default.nix  |  4 +-
 .../python-modules/androidtv/default.nix      |  4 +-
 .../python-modules/angr/default.nix           |  2 +-
 .../python-modules/anthropic/default.nix      |  2 +-
 .../python-modules/anyio/default.nix          |  4 +-
 .../python-modules/apischema/default.nix      |  4 +-
 .../python-modules/apispec/default.nix        |  4 +-
 .../arabic-reshaper/default.nix               |  2 +-
 .../python-modules/argilla/default.nix        |  4 +-
 .../argparse-manpage/default.nix              |  2 +-
 .../python-modules/aria2p/default.nix         |  4 +-
 .../python-modules/avwx-engine/default.nix    |  4 +-
 .../python-modules/awswrangler/default.nix    |  2 +-
 .../python-modules/azure-core/default.nix     |  4 +-
 .../azure-storage-file-share/default.nix      |  2 +-
 .../azure-storage-queue/default.nix           |  2 +-
 .../python-modules/base2048/default.nix       |  2 +-
 .../bc-detect-secrets/default.nix             |  4 +-
 .../python-modules/beautifulsoup4/default.nix |  4 +-
 .../python-modules/betterproto/default.nix    |  4 +-
 .../bimmer-connected/default.nix              |  4 +-
 .../python-modules/black/default.nix          |  4 +-
 .../python-modules/bleach/default.nix         |  2 +-
 .../python-modules/bonsai/default.nix         |  2 +-
 .../python-modules/boto3-stubs/default.nix    |  2 +-
 .../python-modules/boto3/default.nix          |  2 +-
 .../python-modules/botocore/default.nix       |  2 +-
 .../python-modules/breezy/default.nix         | 17 ++--
 .../python-modules/btchip-python/default.nix  |  2 +-
 .../python-modules/bugsnag/default.nix        |  2 +-
 .../python-modules/bytewax/default.nix        |  4 +-
 .../python-modules/cachecontrol/default.nix   |  4 +-
 .../camel-converter/default.nix               |  4 +-
 .../python-modules/canals/default.nix         |  4 +-
 .../python-modules/canmatrix/default.nix      |  4 +-
 .../python-modules/cantools/default.nix       |  4 +-
 .../python-modules/cartopy/default.nix        |  4 +-
 .../python-modules/cashews/default.nix        |  2 +-
 .../cassandra-driver/default.nix              |  4 +-
 .../python-modules/celery/default.nix         |  4 +-
 .../python-modules/certomancer/default.nix    |  4 +-
 .../python-modules/channels-redis/default.nix |  2 +-
 .../python-modules/cherrypy/default.nix       |  2 +-
 .../python-modules/clarifai/default.nix       |  2 +-
 .../python-modules/clevercsv/default.nix      |  4 +-
 .../python-modules/cli-helpers/default.nix    |  4 +-
 .../clickhouse-connect/default.nix            | 16 ++--
 .../python-modules/cloudpathlib/default.nix   |  2 +-
 .../python-modules/cmdstanpy/default.nix      |  4 +-
 .../coinmetrics-api-client/default.nix        |  8 +-
 .../python-modules/compressai/default.nix     |  2 +-
 .../python-modules/configargparse/default.nix |  4 +-
 .../confluent-kafka/default.nix               |  4 +-
 .../python-modules/connexion/default.nix      |  4 +-
 .../python-modules/construct/default.nix      |  4 +-
 .../python-modules/corner/default.nix         |  4 +-
 .../cyclonedx-python-lib/default.nix          |  4 +-
 .../dask-gateway-server/default.nix           |  2 +-
 .../python-modules/databases/default.nix      |  2 +-
 .../dataclass-wizard/default.nix              |  4 +-
 .../python-modules/dataproperty/default.nix   |  2 +-
 .../python-modules/dateparser/default.nix     |  4 +-
 .../python-modules/debuglater/default.nix     |  4 +-
 .../python-modules/deepdiff/default.nix       |  4 +-
 .../python-modules/defcon/default.nix         |  2 +-
 .../python-modules/demoji/default.nix         |  2 +-
 .../dependency-injector/default.nix           | 10 +-
 .../python-modules/detectron2/default.nix     |  2 +-
 .../python-modules/diffusers/default.nix      |  4 +-
 .../python-modules/diofant/default.nix        |  2 +-
 .../python-modules/discum/default.nix         |  2 +-
 .../python-modules/dissect-btrfs/default.nix  |  2 +-
 .../dissect-cobaltstrike/default.nix          |  4 +-
 .../dissect-hypervisor/default.nix            |  2 +-
 .../dissect-squashfs/default.nix              |  2 +-
 .../python-modules/dissect-target/default.nix | 10 +-
 .../python-modules/dj-rest-auth/default.nix   |  4 +-
 .../python-modules/django-allauth/default.nix |  4 +-
 .../django-import-export/default.nix          |  4 +-
 .../python-modules/django-markup/default.nix  |  4 +-
 .../django-modelcluster/default.nix           |  4 +-
 .../python-modules/django-redis/default.nix   |  4 +-
 .../django-storages/default.nix               |  4 +-
 .../python-modules/django-stubs/default.nix   |  4 +-
 .../python-modules/django-tables2/default.nix |  4 +-
 .../django-two-factor-auth/default.nix        |  2 +-
 pkgs/development/python-modules/django/4.nix  |  4 +-
 .../djangorestframework-simplejwt/default.nix |  2 +-
 .../djangorestframework-stubs/default.nix     |  4 +-
 .../python-modules/dm-sonnet/default.nix      |  2 +-
 .../python-modules/dns-lexicon/default.nix    |  4 +-
 .../python-modules/dnspython/default.nix      |  4 +-
 .../python-modules/dparse/default.nix         |  4 +-
 .../draftjs-exporter/default.nix              |  4 +-
 .../python-modules/dramatiq/default.nix       |  2 +-
 .../python-modules/drawsvg/default.nix        |  2 +-
 .../python-modules/dsnap/default.nix          |  4 +-
 .../python-modules/dvc-render/default.nix     |  4 +-
 .../python-modules/dvc/default.nix            | 10 +-
 .../python-modules/dvclive/default.nix        |  2 +-
 .../python-modules/edalize/default.nix        |  4 +-
 .../python-modules/elasticsearch/default.nix  |  2 +-
 .../python-modules/elasticsearch8/default.nix |  2 +-
 .../python-modules/esig/default.nix           |  2 +-
 .../essentials-openapi/default.nix            |  2 +-
 .../python-modules/eth-hash/default.nix       |  6 +-
 .../python-modules/eth-keys/default.nix       |  4 +-
 .../python-modules/etils/default.nix          |  4 +-
 .../python-modules/exchangelib/default.nix    |  2 +-
 .../python-modules/explorerscript/default.nix |  4 +-
 .../python-modules/fakeredis/default.nix      |  2 +-
 .../python-modules/fastparquet/default.nix    |  2 +-
 .../python-modules/fido2/default.nix          |  2 +-
 .../firebase-messaging/default.nix            |  4 +-
 .../python-modules/fixtures/default.nix       |  4 +-
 .../flask-jwt-extended/default.nix            |  4 +-
 .../flask-marshmallow/default.nix             |  4 +-
 .../flask-mongoengine/default.nix             |  2 +-
 .../python-modules/flask-wtf/default.nix      |  2 +-
 .../python-modules/flask/default.nix          |  4 +-
 .../python-modules/flax/default.nix           |  2 +-
 .../python-modules/flow-record/default.nix    |  4 +-
 .../python-modules/foolscap/default.nix       |  4 +-
 .../fritzconnection/default.nix               |  2 +-
 .../python-modules/fschat/default.nix         |  2 +-
 .../python-modules/fsspec/default.nix         |  2 +-
 .../python-modules/fugashi/default.nix        |  4 +-
 .../python-modules/fvcore/default.nix         |  2 +-
 .../gardena-bluetooth/default.nix             |  2 +-
 .../python-modules/githubkit/default.nix      |  4 +-
 .../google-api-core/default.nix               |  2 +-
 .../python-modules/google-auth/default.nix    |  8 +-
 .../google-cloud-bigquery-storage/default.nix |  2 +-
 .../google-cloud-bigquery/default.nix         |  4 +-
 .../google-cloud-bigtable/default.nix         |  2 +-
 .../google-cloud-core/default.nix             |  4 +-
 .../google-cloud-pubsub/default.nix           |  2 +-
 .../google-cloud-spanner/default.nix          |  2 +-
 .../google-cloud-storage/default.nix          |  2 +-
 .../google-resumable-media/default.nix        |  4 +-
 .../python-modules/gotailwind/default.nix     |  2 +-
 .../python-modules/gradio/default.nix         |  4 +-
 .../python-modules/griffe/default.nix         |  2 +-
 .../python-modules/hap-python/default.nix     |  4 +-
 .../python-modules/haystack-ai/default.nix    |  2 +-
 .../python-modules/highdicom/default.nix      |  4 +-
 .../hikari-lightbulb/default.nix              |  2 +-
 .../python-modules/hikari/default.nix         |  2 +-
 .../python-modules/hishel/default.nix         |  4 +-
 .../python-modules/htmldate/default.nix       |  2 +-
 .../python-modules/httpbin/default.nix        |  2 +-
 .../python-modules/httpcore/default.nix       |  4 +-
 .../python-modules/httpx-socks/default.nix    |  2 +-
 .../python-modules/httpx/default.nix          |  4 +-
 .../python-modules/ibis-framework/default.nix | 96 +++++++++----------
 .../python-modules/igraph/default.nix         |  4 +-
 .../imbalanced-learn/default.nix              |  2 +-
 .../influxdb-client/default.nix               |  2 +-
 .../python-modules/intake/default.nix         |  4 +-
 .../python-modules/iopath/default.nix         |  2 +-
 .../python-modules/jinja2/default.nix         |  4 +-
 .../python-modules/jira/default.nix           |  2 +-
 .../python-modules/jsonargparse/default.nix   |  2 +-
 .../python-modules/jsonschema/default.nix     |  2 +-
 .../python-modules/jupyter-events/default.nix |  4 +-
 .../kafka-python-ng/default.nix               |  4 +-
 .../python-modules/layoutparser/default.nix   |  2 +-
 .../python-modules/librosa/default.nix        |  4 +-
 .../python-modules/lightgbm/default.nix       |  2 +-
 .../python-modules/line-profiler/default.nix  |  4 +-
 .../python-modules/litellm/default.nix        |  2 +-
 .../python-modules/llmx/default.nix           |  2 +-
 .../python-modules/logbook/default.nix        |  4 +-
 .../python-modules/magic-wormhole/default.nix |  4 +-
 .../python-modules/mako/default.nix           |  4 +-
 .../python-modules/mandown/default.nix        |  2 +-
 .../python-modules/manifest-ml/default.nix    |  4 +-
 .../python-modules/markdown-it-py/default.nix |  4 +-
 .../python-modules/markdown2/default.nix      |  6 +-
 .../python-modules/mashumaro/default.nix      |  4 +-
 .../python-modules/mastodon-py/default.nix    |  4 +-
 .../python-modules/matplotx/default.nix       |  4 +-
 .../python-modules/mayim/default.nix          |  4 +-
 .../python-modules/meshtastic/default.nix     |  4 +-
 .../python-modules/mip/default.nix            |  2 +-
 .../mkdocs-material/default.nix               |  2 +-
 .../python-modules/mkdocs/default.nix         |  4 +-
 .../python-modules/mne-python/default.nix     |  4 +-
 .../python-modules/mocket/default.nix         |  4 +-
 .../moderngl-window/default.nix               |  2 +-
 .../python-modules/molecule/plugins.nix       |  2 +-
 .../python-modules/moviepy/default.nix        |  4 +-
 .../python-modules/mpd2/default.nix           |  4 +-
 .../python-modules/mpmath/default.nix         |  2 +-
 .../python-modules/mrjob/default.nix          |  4 +-
 .../python-modules/nats-py/default.nix        |  2 +-
 .../python-modules/ndindex/default.nix        |  4 +-
 .../python-modules/neo4j/default.nix          |  2 +-
 .../python-modules/netutils/default.nix       |  2 +-
 .../python-modules/networkx/default.nix       |  2 +-
 .../python-modules/nibabel/default.nix        |  4 +-
 .../python-modules/nibe/default.nix           |  2 +-
 .../python-modules/norfair/default.nix        |  2 +-
 .../python-modules/nose2/default.nix          |  4 +-
 .../python-modules/numcodecs/default.nix      |  2 +-
 .../python-modules/oauthenticator/default.nix |  4 +-
 .../python-modules/oauthlib/default.nix       |  4 +-
 .../python-modules/objgraph/default.nix       |  2 +-
 .../python-modules/ome-zarr/default.nix       |  2 +-
 .../python-modules/openai/default.nix         |  2 +-
 .../python-modules/openant/default.nix        |  2 +-
 .../python-modules/opencontainers/default.nix |  4 +-
 .../python-modules/opensearch-py/default.nix  |  4 +-
 .../default.nix                               |  4 +-
 .../default.nix                               |  2 +-
 .../python-modules/optuna/default.nix         |  4 +-
 .../python-modules/ormar/default.nix          |  4 +-
 .../python-modules/pandas/default.nix         |  4 +-
 .../python-modules/papermill/default.nix      | 18 ++--
 .../python-modules/paramiko/default.nix       |  6 +-
 .../python-modules/partd/default.nix          |  2 +-
 .../python-modules/passlib/default.nix        | 14 +--
 .../python-modules/pettingzoo/default.nix     |  2 +-
 .../python-modules/photutils/default.nix      |  2 +-
 .../python-modules/pins/default.nix           |  4 +-
 .../python-modules/pipdeptree/default.nix     |  4 +-
 .../playwrightcapture/default.nix             |  2 +-
 .../python-modules/podman/default.nix         |  2 +-
 .../python-modules/prance/default.nix         |  4 +-
 .../prometheus-async/default.nix              |  2 +-
 .../python-modules/prophet/default.nix        |  2 +-
 .../python-modules/psycopg/default.nix        |  6 +-
 .../pure-python-adb/default.nix               |  4 +-
 .../pyTelegramBotAPI/default.nix              |  4 +-
 .../python-modules/pycyphal/default.nix       |  4 +-
 .../development/python-modules/pydantic/1.nix |  4 +-
 .../python-modules/pydeck/default.nix         |  4 +-
 .../python-modules/pydocstyle/default.nix     |  4 +-
 .../python-modules/pydrive2/default.nix       |  2 +-
 .../python-modules/pydruid/default.nix        | 14 ++-
 .../python-modules/pyftpdlib/default.nix      |  2 +-
 .../python-modules/pygal/default.nix          |  4 +-
 .../python-modules/pygls/default.nix          |  2 +-
 .../python-modules/pykoplenti/default.nix     |  2 +-
 .../python-modules/pylint-django/default.nix  |  2 +-
 .../pylutron-caseta/default.nix               |  2 +-
 .../python-modules/pymatgen/default.nix       |  4 +-
 .../python-modules/pymodbus/default.nix       |  4 +-
 .../python-modules/pymysensors/default.nix    |  2 +-
 .../python-modules/pypsrp/default.nix         |  2 +-
 .../pyreqwest-impersonate/default.nix         |  2 +-
 .../python-modules/pysaml2/default.nix        |  2 +-
 .../python-modules/pyscaffold/default.nix     |  2 +-
 .../pyscaffoldext-cookiecutter/default.nix    |  2 +-
 .../default.nix                               |  2 +-
 .../pyscaffoldext-django/default.nix          |  2 +-
 .../pyscaffoldext-dsproject/default.nix       |  2 +-
 .../pyscaffoldext-markdown/default.nix        |  2 +-
 .../pyscaffoldext-travis/default.nix          |  2 +-
 .../python-modules/pyspark/default.nix        |  2 +-
 .../python-modules/pyspnego/default.nix       |  2 +-
 .../python-modules/pytablewriter/default.nix  |  4 +-
 .../pytest-benchmark/default.nix              |  4 +-
 .../python-modules/pytest-jupyter/default.nix |  4 +-
 .../pytest-regressions/default.nix            |  2 +-
 pkgs/development/python-modules/pytest/7.nix  |  2 +-
 .../python-modules/pytest/default.nix         |  2 +-
 .../python-modules/python-barcode/default.nix |  4 +-
 .../python-benedict/default.nix               |  4 +-
 .../python-modules/python-box/default.nix     |  4 +-
 .../python-modules/python-can/default.nix     |  4 +-
 .../python-engineio/default.nix               |  2 +-
 .../python-modules/python-jose/default.nix    |  4 +-
 .../python-modules/python-kasa/default.nix    |  2 +-
 .../python-modules/python-libnmap/default.nix |  2 +-
 .../python-openstackclient/default.nix        | 37 +++----
 .../python-modules/python-slugify/default.nix |  2 +-
 .../python-socketio/default.nix               |  4 +-
 .../python-modules/python-stdnum/default.nix  |  2 +-
 .../python-u2flib-server/default.nix          |  4 +-
 .../python-modules/pythonfinder/default.nix   |  4 +-
 .../python-modules/pytoolconfig/default.nix   |  6 +-
 .../python-modules/pytradfri/default.nix      |  4 +-
 .../python-modules/pyutil/default.nix         |  4 +-
 .../python-modules/pyvisa-py/default.nix      |  2 +-
 .../python-modules/pyvmomi/default.nix        |  2 +-
 .../python-modules/pywavefront/default.nix    |  2 +-
 .../python-modules/qdrant-client/default.nix  |  2 +-
 .../python-modules/qpsolvers/default.nix      |  6 +-
 .../python-modules/qrcode/default.nix         |  4 +-
 .../python-modules/qutip/default.nix          |  4 +-
 .../python-modules/radon/default.nix          |  2 +-
 .../python-modules/rapidfuzz/default.nix      |  2 +-
 .../python-modules/rasterio/default.nix       |  2 +-
 .../python-modules/raven/default.nix          |  2 +-
 .../python-modules/rdflib/default.nix         |  4 +-
 .../python-modules/reconplogger/default.nix   |  2 +-
 .../python-modules/redis/default.nix          |  2 +-
 .../python-modules/relatorio/default.nix      |  4 +-
 .../reportlab-qrcode/default.nix              |  2 +-
 .../python-modules/reptor/default.nix         |  4 +-
 .../python-modules/requests-cache/default.nix |  4 +-
 .../requests-credssp/default.nix              |  2 +-
 .../python-modules/rich/default.nix           |  2 +-
 .../ripe-atlas-sagan/default.nix              |  2 +-
 .../python-modules/s3transfer/default.nix     |  2 +-
 .../python-modules/sagemaker/default.nix      |  2 +-
 .../python-modules/samsungctl/default.nix     |  2 +-
 .../python-modules/samsungtvws/default.nix    |  4 +-
 .../python-modules/sanic/default.nix          |  4 +-
 .../python-modules/schema-salad/default.nix   |  4 +-
 .../python-modules/scikit-image/default.nix   |  2 +-
 .../scim2-filter-parser/default.nix           |  4 +-
 .../python-modules/seaborn/default.nix        |  2 +-
 .../python-modules/seabreeze/default.nix      |  4 +-
 .../python-modules/seasonal/default.nix       |  4 +-
 .../securesystemslib/default.nix              |  4 +-
 .../python-modules/sentry-sdk/1.nix           |  2 +-
 .../python-modules/sfrbox-api/default.nix     |  4 +-
 .../python-modules/shap/default.nix           |  2 +-
 .../python-modules/simpful/default.nix        |  4 +-
 .../skytemple-files/default.nix               |  4 +-
 .../python-modules/slack-bolt/default.nix     |  4 +-
 .../social-auth-core/default.nix              |  4 +-
 .../spatialmath-python/default.nix            |  2 +-
 .../sphinxext-opengraph/default.nix           |  4 +-
 .../python-modules/splinter/default.nix       |  4 +-
 .../sqlalchemy-utils/default.nix              |  4 +-
 .../python-modules/sqlalchemy/1_4.nix         |  2 +-
 .../python-modules/sqlalchemy/default.nix     |  2 +-
 .../python-modules/static3/default.nix        |  4 +-
 .../python-modules/stm32loader/default.nix    |  4 +-
 .../strawberry-graphql/default.nix            |  4 +-
 .../python-modules/sunpy/default.nix          | 12 +--
 .../python-modules/superqt/default.nix        |  2 +-
 .../python-modules/tablib/default.nix         |  2 +-
 .../python-modules/tabulate/default.nix       |  4 +-
 .../python-modules/telegraph/default.nix      |  2 +-
 .../default.nix                               |  2 +-
 .../tree-sitter-html/default.nix              |  2 +-
 .../tree-sitter-javascript/default.nix        |  2 +-
 .../tree-sitter-json/default.nix              |  2 +-
 .../tree-sitter-python/default.nix            |  2 +-
 .../tree-sitter-rust/default.nix              |  2 +-
 .../trino-python-client/default.nix           |  4 +-
 .../python-modules/troposphere/default.nix    |  2 +-
 .../python-modules/twisted/default.nix        | 46 ++++-----
 .../python-modules/txtai/default.nix          |  2 +-
 .../python-modules/typed-settings/default.nix |  4 +-
 .../python-modules/typepy/default.nix         |  4 +-
 .../types-aiobotocore/default.nix             |  2 +-
 .../python-modules/ubelt/default.nix          |  2 +-
 .../python-modules/ufmt/default.nix           |  4 +-
 .../python-modules/ufolib2/default.nix        |  4 +-
 .../python-modules/umap-learn/default.nix     |  2 +-
 .../python-modules/unrpa/default.nix          |  2 +-
 .../python-modules/unstructured/default.nix   |  2 +-
 .../python-modules/urllib3/default.nix        |  4 +-
 .../python-modules/urwid/default.nix          |  4 +-
 .../python-modules/uvicorn/default.nix        |  2 +-
 .../python-modules/vega/default.nix           |  2 +-
 .../python-modules/versioneer/default.nix     |  2 +-
 .../python-modules/visions/default.nix        |  4 +-
 .../python-modules/vivisect/default.nix       |  4 +-
 .../python-modules/volvooncall/default.nix    |  4 +-
 .../python-modules/w1thermsensor/default.nix  |  4 +-
 .../python-modules/watchdog/default.nix       |  4 +-
 .../python-modules/watermark/default.nix      |  4 +-
 .../python-modules/web3/default.nix           |  2 +-
 .../python-modules/webdav4/default.nix        |  4 +-
 .../python-modules/weconnect/default.nix      |  2 +-
 .../python-modules/werkzeug/default.nix       |  4 +-
 .../python-modules/willow/default.nix         |  4 +-
 .../python-modules/wktutils/default.nix       |  2 +-
 .../python-modules/wled/default.nix           |  2 +-
 .../python-modules/wtforms/default.nix        |  4 +-
 .../python-modules/wyoming/default.nix        |  2 +-
 .../python-modules/xsdata/default.nix         | 10 +-
 .../python-modules/yfinance/default.nix       |  2 +-
 .../python-modules/zeep/default.nix           |  4 +-
 pkgs/servers/matrix-synapse/default.nix       |  4 +-
 pkgs/servers/mautrix-googlechat/default.nix   |  8 +-
 pkgs/tools/audio/shaq/default.nix             |  2 +-
 pkgs/tools/backup/borgmatic/default.nix       |  4 +-
 pkgs/tools/security/amoco/default.nix         |  2 +-
 pkgs/top-level/all-packages.nix               |  2 +-
 405 files changed, 751 insertions(+), 769 deletions(-)

diff --git a/pkgs/applications/file-managers/browsr/default.nix b/pkgs/applications/file-managers/browsr/default.nix
index d007bb5792af..435577aa567b 100644
--- a/pkgs/applications/file-managers/browsr/default.nix
+++ b/pkgs/applications/file-managers/browsr/default.nix
@@ -32,9 +32,9 @@ python3.pkgs.buildPythonApplication rec {
     rich-pixels
     textual
     textual-universal-directorytree
-  ] ++ lib.attrVals extras passthru.optional-dependencies;
+  ] ++ lib.attrVals extras optional-dependencies;
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     all = [
       pyarrow
       textual-universal-directorytree.optional-dependencies.remote
diff --git a/pkgs/applications/misc/dbx/default.nix b/pkgs/applications/misc/dbx/default.nix
index 294bc33a0ba7..f3f340943441 100644
--- a/pkgs/applications/misc/dbx/default.nix
+++ b/pkgs/applications/misc/dbx/default.nix
@@ -52,7 +52,7 @@ python.pkgs.buildPythonApplication rec {
       watchdog
     ];
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     aws = [ boto3 ];
     azure = [
       azure-storage-blob
diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix
index e0a3921824de..18b4b0b9d2b2 100644
--- a/pkgs/applications/misc/meerk40t/default.nix
+++ b/pkgs/applications/misc/meerk40t/default.nix
@@ -36,9 +36,9 @@ python3Packages.buildPythonApplication rec {
     setuptools
     wxpython
   ]
-  ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ++ lib.flatten (lib.attrValues optional-dependencies);
 
-  passthru.optional-dependencies = with python3Packages; {
+  optional-dependencies = with python3Packages; {
     cam = [
       opencv4
     ];
diff --git a/pkgs/by-name/as/asciinema-automation/package.nix b/pkgs/by-name/as/asciinema-automation/package.nix
index 339ec370a96f..975659da7cdc 100644
--- a/pkgs/by-name/as/asciinema-automation/package.nix
+++ b/pkgs/by-name/as/asciinema-automation/package.nix
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     pexpect
   ];
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     dev = [
       mypy
       pytest
diff --git a/pkgs/by-name/co/comic-mandown/package.nix b/pkgs/by-name/co/comic-mandown/package.nix
index 15b81cc5e83e..90f2ef215500 100644
--- a/pkgs/by-name/co/comic-mandown/package.nix
+++ b/pkgs/by-name/co/comic-mandown/package.nix
@@ -4,8 +4,8 @@
 , withGUI ? true
 }:
 let
-  mandown' = python3Packages.mandown.overrideAttrs (prev: {
-    propagatedBuildInputs = prev.propagatedBuildInputs ++ lib.optionals withGUI prev.passthru.optional-dependencies.gui;
+  mandown' = python3Packages.mandown.overridePythonAttrs (prev: {
+    propagatedBuildInputs = prev.propagatedBuildInputs ++ lib.optionals withGUI prev.optional-dependencies.gui;
   });
   mandownApp = python3Packages.toPythonApplication mandown';
 in
diff --git a/pkgs/by-name/ho/homeassistant-satellite/package.nix b/pkgs/by-name/ho/homeassistant-satellite/package.nix
index cf69238d8af5..40a489aa68de 100644
--- a/pkgs/by-name/ho/homeassistant-satellite/package.nix
+++ b/pkgs/by-name/ho/homeassistant-satellite/package.nix
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     aiohttp
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pulseaudio = with python3.pkgs; [
       pasimple
       pulsectl
diff --git a/pkgs/by-name/ji/jinja2-cli/package.nix b/pkgs/by-name/ji/jinja2-cli/package.nix
index 921d668952cd..fb322d161e00 100644
--- a/pkgs/by-name/ji/jinja2-cli/package.nix
+++ b/pkgs/by-name/ji/jinja2-cli/package.nix
@@ -27,11 +27,11 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     jinja2
-  ] ++ lib.attrVals extras passthru.optional-dependencies;
+  ] ++ lib.attrVals extras optional-dependencies;
 
   pythonImportsCheck = [ "jinja2cli" ];
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     hjson = [ hjson ];
     json5 = [ json5 ];
     toml = [ toml ];
diff --git a/pkgs/by-name/of/offat/package.nix b/pkgs/by-name/of/offat/package.nix
index 7fafe3d817ae..46bbba00f771 100644
--- a/pkgs/by-name/of/offat/package.nix
+++ b/pkgs/by-name/of/offat/package.nix
@@ -33,7 +33,7 @@ python3.pkgs.buildPythonApplication rec {
     tenacity
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     api = with python3.pkgs; [
       fastapi
       uvicorn
diff --git a/pkgs/by-name/po/poethepoet/package.nix b/pkgs/by-name/po/poethepoet/package.nix
index 7760d53e9312..8179b9c7e7d0 100644
--- a/pkgs/by-name/po/poethepoet/package.nix
+++ b/pkgs/by-name/po/poethepoet/package.nix
@@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
     tomli
   ];
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     poetry_plugin = [
       poetry
     ];
diff --git a/pkgs/by-name/st/strictdoc/package.nix b/pkgs/by-name/st/strictdoc/package.nix
index e543f6ed5017..49475a7f46a8 100644
--- a/pkgs/by-name/st/strictdoc/package.nix
+++ b/pkgs/by-name/st/strictdoc/package.nix
@@ -45,7 +45,7 @@ python3.pkgs.buildPythonApplication rec {
     xlsxwriter
   ];
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     development = [
       invoke
       tox
diff --git a/pkgs/by-name/wy/wyoming-satellite/package.nix b/pkgs/by-name/wy/wyoming-satellite/package.nix
index f23a5864b452..bfd0e49f6f71 100644
--- a/pkgs/by-name/wy/wyoming-satellite/package.nix
+++ b/pkgs/by-name/wy/wyoming-satellite/package.nix
@@ -30,7 +30,7 @@ python3Packages.buildPythonApplication rec {
     zeroconf
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     silerovad = with python3Packages; [
       pysilero-vad
     ];
diff --git a/pkgs/development/python-modules/acquire/default.nix b/pkgs/development/python-modules/acquire/default.nix
index ca5f1c39a608..2157e0fc7b20 100644
--- a/pkgs/development/python-modules/acquire/default.nix
+++ b/pkgs/development/python-modules/acquire/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     dissect-target
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       dissect-target
       minio
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     ] ++ dissect-target.optional-dependencies.full;
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.full;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.full;
 
   pythonImportsCheck = [ "acquire" ];
 
diff --git a/pkgs/development/python-modules/adb-shell/default.nix b/pkgs/development/python-modules/adb-shell/default.nix
index a7347c080d78..b37440c51c8b 100644
--- a/pkgs/development/python-modules/adb-shell/default.nix
+++ b/pkgs/development/python-modules/adb-shell/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     rsa
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [
       aiofiles
       async-timeout
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     mock
     pycryptodome
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "adb_shell" ];
 
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index 75fa1cc5b5dc..40a5adfd3c23 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     wrapt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     awscli = [ awscli ];
     boto3 = [ boto3 ];
   };
diff --git a/pkgs/development/python-modules/aiocoap/default.nix b/pkgs/development/python-modules/aiocoap/default.nix
index 51a73cc4ecbf..00592ed89516 100644
--- a/pkgs/development/python-modules/aiocoap/default.nix
+++ b/pkgs/development/python-modules/aiocoap/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     oscore = [
       cbor2
       cryptography
diff --git a/pkgs/development/python-modules/aioftp/default.nix b/pkgs/development/python-modules/aioftp/default.nix
index ee0429bacb46..a926f96b8d12 100644
--- a/pkgs/development/python-modules/aioftp/default.nix
+++ b/pkgs/development/python-modules/aioftp/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ siosocks ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     socks = [ siosocks ];
   };
 
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytestCheckHook
     trustme
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
     # uses 127.0.0.2, which macos doesn't like
diff --git a/pkgs/development/python-modules/aiojobs/default.nix b/pkgs/development/python-modules/aiojobs/default.nix
index 437e5a3ce0ce..8ee952feb39f 100644
--- a/pkgs/development/python-modules/aiojobs/default.nix
+++ b/pkgs/development/python-modules/aiojobs/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [ async-timeout ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [ aiohttp ];
   };
 
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-aiohttp
     pytest-cov-stub
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "aiojobs" ];
 
diff --git a/pkgs/development/python-modules/aiomisc/default.nix b/pkgs/development/python-modules/aiomisc/default.nix
index 59412173e977..a9dabfd3ee2a 100644
--- a/pkgs/development/python-modules/aiomisc/default.nix
+++ b/pkgs/development/python-modules/aiomisc/default.nix
@@ -45,9 +45,9 @@ buildPythonPackage rec {
     fastapi
     pytestCheckHook
     setproctitle
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [ aiohttp ];
     #asgi = [ aiohttp-asgi ];
     cron = [ croniter ];
diff --git a/pkgs/development/python-modules/aioprometheus/default.nix b/pkgs/development/python-modules/aioprometheus/default.nix
index 0c74e4a6ac25..2dc49ae5b1f8 100644
--- a/pkgs/development/python-modules/aioprometheus/default.nix
+++ b/pkgs/development/python-modules/aioprometheus/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     quantile-python
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [ aiohttp ];
     starlette = [ starlette ];
     quart = [ quart ];
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     httpx
     fastapi
     uvicorn
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "aioprometheus" ];
 
diff --git a/pkgs/development/python-modules/alpha-vantage/default.nix b/pkgs/development/python-modules/alpha-vantage/default.nix
index 3e39efa7d384..7830701eabee 100644
--- a/pkgs/development/python-modules/alpha-vantage/default.nix
+++ b/pkgs/development/python-modules/alpha-vantage/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pandas = [
       pandas
     ];
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     aioresponses
     requests-mock
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # Starting with 3.0.0 most tests require an API key
   doCheck = false;
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index 799306fa30f0..c277a6e28993 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     pure-python-adb
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [ aiofiles ];
     inherit (adb-shell.optional-dependencies) usb;
   };
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.async ++ passthru.optional-dependencies.usb;
+  ] ++ optional-dependencies.async ++ optional-dependencies.usb;
 
   disabledTests = [
     # Requires git but fails anyway
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 15663d0e790f..d382cc49c987 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -91,7 +91,7 @@ buildPythonPackage rec {
     unique-log-filter
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     AngrDB = [ sqlalchemy ];
   };
 
diff --git a/pkgs/development/python-modules/anthropic/default.nix b/pkgs/development/python-modules/anthropic/default.nix
index 014b1feaa0f6..3ae9c38314c4 100644
--- a/pkgs/development/python-modules/anthropic/default.nix
+++ b/pkgs/development/python-modules/anthropic/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     vertex = [ google-auth ];
   };
 
diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix
index 23f249bfcad2..d2655fa2a1e1 100644
--- a/pkgs/development/python-modules/anyio/default.nix
+++ b/pkgs/development/python-modules/anyio/default.nix
@@ -56,7 +56,7 @@ buildPythonPackage rec {
       typing-extensions
     ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     trio = [ trio ];
   };
 
@@ -69,7 +69,7 @@ buildPythonPackage rec {
     pytestCheckHook
     trustme
     uvloop
-  ] ++ passthru.optional-dependencies.trio;
+  ] ++ optional-dependencies.trio;
 
   pytestFlagsArray = [
     "-W"
diff --git a/pkgs/development/python-modules/apischema/default.nix b/pkgs/development/python-modules/apischema/default.nix
index 1034d1d02160..632489d7cce9 100644
--- a/pkgs/development/python-modules/apischema/default.nix
+++ b/pkgs/development/python-modules/apischema/default.nix
@@ -22,14 +22,14 @@ buildPythonPackage rec {
     hash = "sha256-omw6znk09r2SigPfaVrtA6dd8KeSfjaPgGfK12ty23g=";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     graphql = [ graphql-core ];
   };
 
   nativeCheckInputs = [
     pytest-asyncio
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "apischema" ];
 
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index 2ca9be416c8f..9c487d1dd6f3 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ packaging ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     marshmallow = [ marshmallow ];
     yaml = [ pyyaml ];
     validation = [
@@ -41,7 +41,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "apispec" ];
 
diff --git a/pkgs/development/python-modules/arabic-reshaper/default.nix b/pkgs/development/python-modules/arabic-reshaper/default.nix
index 36c9aaf01395..6e1610e6f0cd 100644
--- a/pkgs/development/python-modules/arabic-reshaper/default.nix
+++ b/pkgs/development/python-modules/arabic-reshaper/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     hash = "sha256-ucSC5aTvpnlAVQcT0afVecnoN3hIZKtzUhEQ6Qg0jQM=";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     with-fonttools = [ fonttools ];
   };
 
diff --git a/pkgs/development/python-modules/argilla/default.nix b/pkgs/development/python-modules/argilla/default.nix
index 50ea4cbb74f8..c767e7ca3eed 100644
--- a/pkgs/development/python-modules/argilla/default.nix
+++ b/pkgs/development/python-modules/argilla/default.nix
@@ -106,7 +106,7 @@ buildPythonPackage rec {
     typer
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     server =
       [
         aiofiles
@@ -178,7 +178,7 @@ buildPythonPackage rec {
     pytest-mock
     pytest-asyncio
     factory-boy
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTestPaths = [ "tests/server/datasets/test_dao.py" ];
 
diff --git a/pkgs/development/python-modules/argparse-manpage/default.nix b/pkgs/development/python-modules/argparse-manpage/default.nix
index 77bd37acd6f6..e3423a8c56e3 100644
--- a/pkgs/development/python-modules/argparse-manpage/default.nix
+++ b/pkgs/development/python-modules/argparse-manpage/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "argparse_manpage" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     setuptools = [ setuptools ];
   };
 
diff --git a/pkgs/development/python-modules/aria2p/default.nix b/pkgs/development/python-modules/aria2p/default.nix
index 132f467e0499..b2ac4e967398 100644
--- a/pkgs/development/python-modules/aria2p/default.nix
+++ b/pkgs/development/python-modules/aria2p/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     websocket-client
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     tui = [
       asciimatics
       pyperclip
@@ -64,7 +64,7 @@ buildPythonPackage rec {
     responses
     psutil
     uvicorn
-  ] ++ passthru.optional-dependencies.tui;
+  ] ++ optional-dependencies.tui;
 
   disabledTests = [
     # require a running display server
diff --git a/pkgs/development/python-modules/avwx-engine/default.nix b/pkgs/development/python-modules/avwx-engine/default.nix
index af6162dc9263..808530221781 100644
--- a/pkgs/development/python-modules/avwx-engine/default.nix
+++ b/pkgs/development/python-modules/avwx-engine/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     xmltodict
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       numpy
       rapidfuzz
@@ -61,7 +61,7 @@ buildPythonPackage rec {
     pytest-cov-stub
     pytestCheckHook
     time-machine
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "avwx" ];
 
diff --git a/pkgs/development/python-modules/awswrangler/default.nix b/pkgs/development/python-modules/awswrangler/default.nix
index 3f770c272c55..5ef6e53e6743 100644
--- a/pkgs/development/python-modules/awswrangler/default.nix
+++ b/pkgs/development/python-modules/awswrangler/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     requests-aws4auth
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     sqlserver = [ pyodbc ];
     sparql = [ sparqlwrapper ];
   };
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index a9cdf1ac4e99..14fa56f4958d 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aio = [ aiohttp ];
   };
 
@@ -54,7 +54,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytestCheckHook
     trio
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # test server needs to be available
   preCheck = ''
diff --git a/pkgs/development/python-modules/azure-storage-file-share/default.nix b/pkgs/development/python-modules/azure-storage-file-share/default.nix
index 377b77975b84..5169b9a73366 100644
--- a/pkgs/development/python-modules/azure-storage-file-share/default.nix
+++ b/pkgs/development/python-modules/azure-storage-file-share/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aio = [ azure-core ] ++ azure-core.optional-dependencies.aio;
   };
 
diff --git a/pkgs/development/python-modules/azure-storage-queue/default.nix b/pkgs/development/python-modules/azure-storage-queue/default.nix
index 86f757e0ab44..dbeb4286bbfe 100644
--- a/pkgs/development/python-modules/azure-storage-queue/default.nix
+++ b/pkgs/development/python-modules/azure-storage-queue/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aio = [ azure-core ] ++ azure-core.optional-dependencies.aio;
   };
 
diff --git a/pkgs/development/python-modules/base2048/default.nix b/pkgs/development/python-modules/base2048/default.nix
index 4a760c5b6f19..9deaf973f793 100644
--- a/pkgs/development/python-modules/base2048/default.nix
+++ b/pkgs/development/python-modules/base2048/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     fuzz = [ frelatage ];
   };
 
diff --git a/pkgs/development/python-modules/bc-detect-secrets/default.nix b/pkgs/development/python-modules/bc-detect-secrets/default.nix
index f392cdfbbc7a..3a0884103c7b 100644
--- a/pkgs/development/python-modules/bc-detect-secrets/default.nix
+++ b/pkgs/development/python-modules/bc-detect-secrets/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     unidiff
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     word_list = [ pyahocorasick ];
     gibberish = [ gibberish-detector ];
   };
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     pkgs.gitMinimal
     pytestCheckHook
     responses
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME=$(mktemp -d);
diff --git a/pkgs/development/python-modules/beautifulsoup4/default.nix b/pkgs/development/python-modules/beautifulsoup4/default.nix
index 4ebcfd4128df..764f91ec409e 100644
--- a/pkgs/development/python-modules/beautifulsoup4/default.nix
+++ b/pkgs/development/python-modules/beautifulsoup4/default.nix
@@ -47,14 +47,14 @@ buildPythonPackage rec {
     soupsieve
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     html5lib = [ html5lib ];
     lxml = [ lxml ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "bs4" ];
 
diff --git a/pkgs/development/python-modules/betterproto/default.nix b/pkgs/development/python-modules/betterproto/default.nix
index 5f42d46b1e58..ab36e1dda562 100644
--- a/pkgs/development/python-modules/betterproto/default.nix
+++ b/pkgs/development/python-modules/betterproto/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies.compiler = [
+  optional-dependencies.compiler = [
     black
     jinja2
     isort
@@ -54,7 +54,7 @@ buildPythonPackage rec {
     pytest-mock
     pytest7CheckHook
     tomlkit
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "betterproto" ];
 
diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix
index ef3ecbd638d4..da526eeba18d 100644
--- a/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     pyjwt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     china = [ pillow ];
   };
 
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     pytestCheckHook
     respx
     time-machine
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [
     # presumably regressed in pytest-asyncio 0.23.0
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index de9a6d9d48b6..f2648124c05c 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -54,7 +54,7 @@ buildPythonPackage rec {
       typing-extensions
     ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     colorama = [ colorama ];
     d = [ aiohttp ];
     uvloop = [ uvloop ];
@@ -71,7 +71,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     parameterized
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pytestFlagsArray = [
     "-W"
diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix
index 00fcd0bf9125..5adbde446d95 100644
--- a/pkgs/development/python-modules/bleach/default.nix
+++ b/pkgs/development/python-modules/bleach/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     webencodings
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     css = [ tinycss2 ];
   };
 
diff --git a/pkgs/development/python-modules/bonsai/default.nix b/pkgs/development/python-modules/bonsai/default.nix
index 0f2c5f180f05..ad14127686ce 100644
--- a/pkgs/development/python-modules/bonsai/default.nix
+++ b/pkgs/development/python-modules/bonsai/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     openldap
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gevent = [ gevent ];
     tornado = [ tornado ];
     trio = [ trio ];
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index d5c4c1f37efc..fae0b5ff4fd3 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -378,7 +378,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     accessanalyzer = [ mypy-boto3-accessanalyzer ];
     account = [ mypy-boto3-account ];
     acm = [ mypy-boto3-acm ];
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index f6998d6400a2..f1d9105c5f76 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     "tests/integration"
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     crt = [ botocore.optional-dependencies.crt ];
   };
 
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index 68a1ae7c68dc..dd08f7215a11 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "botocore" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     crt = [ awscrt ];
   };
 
diff --git a/pkgs/development/python-modules/breezy/default.nix b/pkgs/development/python-modules/breezy/default.nix
index b6316ad036e7..759af9e47b87 100644
--- a/pkgs/development/python-modules/breezy/default.nix
+++ b/pkgs/development/python-modules/breezy/default.nix
@@ -71,9 +71,15 @@ buildPythonPackage rec {
       tzlocal
       urllib3
     ]
-    ++ passthru.optional-dependencies.launchpad
-    ++ passthru.optional-dependencies.fastimport
-    ++ passthru.optional-dependencies.github;
+    ++ optional-dependencies.launchpad
+    ++ optional-dependencies.fastimport
+    ++ optional-dependencies.github;
+
+  optional-dependencies = {
+    launchpad = [ launchpadlib ];
+    fastimport = [ fastimport ];
+    github = [ pygithub ];
+  };
 
   nativeCheckInputs = [ testtools ];
 
@@ -107,11 +113,6 @@ buildPythonPackage rec {
       package = breezy;
       command = "HOME=$TMPDIR brz --version";
     };
-    optional-dependencies = {
-      launchpad = [ launchpadlib ];
-      fastimport = [ fastimport ];
-      github = [ pygithub ];
-    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/btchip-python/default.nix b/pkgs/development/python-modules/btchip-python/default.nix
index 66c22bafac3e..a15708b79394 100644
--- a/pkgs/development/python-modules/btchip-python/default.nix
+++ b/pkgs/development/python-modules/btchip-python/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     ecdsa
   ];
 
-  passthru.optional-dependencies.smartcard = [ pyscard ];
+  optional-dependencies.smartcard = [ pyscard ];
 
   # tests requires hardware
   doCheck = false;
diff --git a/pkgs/development/python-modules/bugsnag/default.nix b/pkgs/development/python-modules/bugsnag/default.nix
index bfb6f582dd3a..dd609be90c49 100644
--- a/pkgs/development/python-modules/bugsnag/default.nix
+++ b/pkgs/development/python-modules/bugsnag/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ webob ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     flask = [
       blinker
       flask
diff --git a/pkgs/development/python-modules/bytewax/default.nix b/pkgs/development/python-modules/bytewax/default.nix
index 36c1efc4266c..d7fe5f9a00ec 100644
--- a/pkgs/development/python-modules/bytewax/default.nix
+++ b/pkgs/development/python-modules/bytewax/default.nix
@@ -74,7 +74,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ jsonpickle ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     kafka = [ confluent-kafka ];
   };
 
@@ -85,7 +85,7 @@ buildPythonPackage rec {
   checkInputs = [
     myst-docutils
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTestPaths = [
     # dependens on an old myst-docutils version
diff --git a/pkgs/development/python-modules/cachecontrol/default.nix b/pkgs/development/python-modules/cachecontrol/default.nix
index fe81e6742449..1f749cfb3132 100644
--- a/pkgs/development/python-modules/cachecontrol/default.nix
+++ b/pkgs/development/python-modules/cachecontrol/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     filecache = [ filelock ];
     redis = [ redis ];
   };
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     mock
     pytestCheckHook
     requests
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "cachecontrol" ];
 
diff --git a/pkgs/development/python-modules/camel-converter/default.nix b/pkgs/development/python-modules/camel-converter/default.nix
index 5837ef4d0c7c..79ab007d2245 100644
--- a/pkgs/development/python-modules/camel-converter/default.nix
+++ b/pkgs/development/python-modules/camel-converter/default.nix
@@ -25,14 +25,14 @@ buildPythonPackage rec {
 
   build-system = [ hatchling ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pydantic = [ pydantic ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
     pytest-cov-stub
-  ] ++ passthru.optional-dependencies.pydantic;
+  ] ++ optional-dependencies.pydantic;
 
   pythonImportsCheck = [ "camel_converter" ];
 
diff --git a/pkgs/development/python-modules/canals/default.nix b/pkgs/development/python-modules/canals/default.nix
index 938a6279e002..a57300a77b84 100644
--- a/pkgs/development/python-modules/canals/default.nix
+++ b/pkgs/development/python-modules/canals/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     docs = [
       mkdocs-material
       mkdocs-mermaid2-plugin
@@ -45,7 +45,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTestPaths = [
     # Test requires internet connection to mermaid.ink
diff --git a/pkgs/development/python-modules/canmatrix/default.nix b/pkgs/development/python-modules/canmatrix/default.nix
index 634eec1da39d..42f9c1757a93 100644
--- a/pkgs/development/python-modules/canmatrix/default.nix
+++ b/pkgs/development/python-modules/canmatrix/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     six
   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     arxml = [ lxml ];
     fibex = [ lxml ];
     kcd = [ lxml ];
@@ -65,7 +65,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pytestFlagsArray = [
     # long_envvar_name_imports requires stable key value pair ordering
diff --git a/pkgs/development/python-modules/cantools/default.nix b/pkgs/development/python-modules/cantools/default.nix
index a2a65df02e91..4e4dff898424 100644
--- a/pkgs/development/python-modules/cantools/default.nix
+++ b/pkgs/development/python-modules/cantools/default.nix
@@ -42,12 +42,12 @@ buildPythonPackage rec {
     textparser
   ];
 
-  passthru.optional-dependencies.plot = [ matplotlib ];
+  optional-dependencies.plot = [ matplotlib ];
 
   nativeCheckInputs = [
     parameterized
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.plot;
+  ] ++ optional-dependencies.plot;
 
   pythonImportsCheck = [ "cantools" ];
 
diff --git a/pkgs/development/python-modules/cartopy/default.nix b/pkgs/development/python-modules/cartopy/default.nix
index dbd7659ab81e..5f7659b61346 100644
--- a/pkgs/development/python-modules/cartopy/default.nix
+++ b/pkgs/development/python-modules/cartopy/default.nix
@@ -65,7 +65,7 @@ buildPythonPackage rec {
     shapely
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ows = [
       owslib
       pillow
@@ -80,7 +80,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-mpl
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   preCheck = ''
     export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
diff --git a/pkgs/development/python-modules/cashews/default.nix b/pkgs/development/python-modules/cashews/default.nix
index d5f0801c358f..af6f0a3d0cef 100644
--- a/pkgs/development/python-modules/cashews/default.nix
+++ b/pkgs/development/python-modules/cashews/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dill = [ dill ];
     diskcache = [ diskcache ];
     redis = [ redis ];
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
index 0f03b20e196d..b72fd7d8a525 100644
--- a/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -78,7 +78,7 @@ buildPythonPackage rec {
     pytz
     pyyaml
     sure
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   # This is used to determine the version of cython that can be used
   CASS_DRIVER_ALLOWED_CYTHON_VERSION = cython.version;
@@ -127,7 +127,7 @@ buildPythonPackage rec {
     "test_nts_token_performance"
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cle = [ cryptography ];
     eventlet = [ eventlet ];
     gevent = [ gevent ];
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 99854b9d772e..1ab0ee43a711 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     vine
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gcs = [ google-cloud-storage ];
     mongodb = [ pymongo ];
     msgpack = [ msgpack ];
@@ -71,7 +71,7 @@ buildPythonPackage rec {
     pytest-timeout
     pytest-xdist
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTestPaths = [
     # test_eventlet touches network
diff --git a/pkgs/development/python-modules/certomancer/default.nix b/pkgs/development/python-modules/certomancer/default.nix
index e9311df36e82..b04866a54607 100644
--- a/pkgs/development/python-modules/certomancer/default.nix
+++ b/pkgs/development/python-modules/certomancer/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     tzlocal
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     requests-mocker = [ requests-mock ];
     web-api = [
       jinja2
@@ -73,7 +73,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytz
     requests
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = [
     # pyhanko_certvalidator.errors.DisallowedAlgorithmError
diff --git a/pkgs/development/python-modules/channels-redis/default.nix b/pkgs/development/python-modules/channels-redis/default.nix
index 73538fcdce4c..e6743a93bf68 100644
--- a/pkgs/development/python-modules/channels-redis/default.nix
+++ b/pkgs/development/python-modules/channels-redis/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     msgpack
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cryptography = [ cryptography ];
   };
 
diff --git a/pkgs/development/python-modules/cherrypy/default.nix b/pkgs/development/python-modules/cherrypy/default.nix
index c9a63cc21505..7f3bd134f29f 100644
--- a/pkgs/development/python-modules/cherrypy/default.nix
+++ b/pkgs/development/python-modules/cherrypy/default.nix
@@ -111,7 +111,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "cherrypy" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     json = [ simplejson ];
     memcached_session = [ python-memcached ];
     routes_dispatcher = [ routes ];
diff --git a/pkgs/development/python-modules/clarifai/default.nix b/pkgs/development/python-modules/clarifai/default.nix
index 6b39d48513d6..68dfea58f94f 100644
--- a/pkgs/development/python-modules/clarifai/default.nix
+++ b/pkgs/development/python-modules/clarifai/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     tritonclient
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [ pycocotools ];
   };
 
diff --git a/pkgs/development/python-modules/clevercsv/default.nix b/pkgs/development/python-modules/clevercsv/default.nix
index eb9c003c913f..91372bca1be7 100644
--- a/pkgs/development/python-modules/clevercsv/default.nix
+++ b/pkgs/development/python-modules/clevercsv/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     packaging
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       faust-cchardet
       pandas
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     ];
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.full;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.full;
 
   pythonImportsCheck = [
     "clevercsv"
diff --git a/pkgs/development/python-modules/cli-helpers/default.nix b/pkgs/development/python-modules/cli-helpers/default.nix
index 1d1e2c741b6c..e043ff31da29 100644
--- a/pkgs/development/python-modules/cli-helpers/default.nix
+++ b/pkgs/development/python-modules/cli-helpers/default.nix
@@ -28,14 +28,14 @@ buildPythonPackage rec {
     tabulate
   ] ++ tabulate.optional-dependencies.widechars;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     styles = [ pygments ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
     mock
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   meta = with lib; {
     description = "Python helpers for common CLI tasks";
diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix
index d5300b5499a8..4640b71cee04 100644
--- a/pkgs/development/python-modules/clickhouse-connect/default.nix
+++ b/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -53,7 +53,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-dotenv
-  ] ++ passthru.optional-dependencies.sqlalchemy ++ passthru.optional-dependencies.numpy;
+  ] ++ optional-dependencies.sqlalchemy ++ optional-dependencies.numpy;
 
   # these tests require a running clickhouse instance
   disabledTestPaths = [
@@ -68,14 +68,12 @@ buildPythonPackage rec {
     "clickhouse_connect.driverc.npconv"
   ];
 
-  passthru = {
-    optional-dependencies = {
-      sqlalchemy = [ sqlalchemy ];
-      numpy = [ numpy ];
-      pandas = [ pandas ];
-      arrow = [ pyarrow ];
-      orjson = [ orjson ];
-    };
+  optional-dependencies = {
+    sqlalchemy = [ sqlalchemy ];
+    numpy = [ numpy ];
+    pandas = [ pandas ];
+    arrow = [ pyarrow ];
+    orjson = [ orjson ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/cloudpathlib/default.nix b/pkgs/development/python-modules/cloudpathlib/default.nix
index 3689a9d0dab4..8c642edda242 100644
--- a/pkgs/development/python-modules/cloudpathlib/default.nix
+++ b/pkgs/development/python-modules/cloudpathlib/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [ cloudpathlib ];
     azure = [ azure-storage-blob ];
     gs = [ google-cloud-storage ];
diff --git a/pkgs/development/python-modules/cmdstanpy/default.nix b/pkgs/development/python-modules/cmdstanpy/default.nix
index ead29ecbb939..6fcf618bafef 100644
--- a/pkgs/development/python-modules/cmdstanpy/default.nix
+++ b/pkgs/development/python-modules/cmdstanpy/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     stanio
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [ xarray ];
   };
 
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.all;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.all;
 
   disabledTestPaths = [
     # No need to test these when using Nix
diff --git a/pkgs/development/python-modules/coinmetrics-api-client/default.nix b/pkgs/development/python-modules/coinmetrics-api-client/default.nix
index 26272d385cb7..81294e45b9fb 100644
--- a/pkgs/development/python-modules/coinmetrics-api-client/default.nix
+++ b/pkgs/development/python-modules/coinmetrics-api-client/default.nix
@@ -48,14 +48,12 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-mock
-  ] ++ passthru.optional-dependencies.pandas;
+  ] ++ optional-dependencies.pandas;
 
   pythonImportsCheck = [ "coinmetrics.api_client" ];
 
-  passthru = {
-    optional-dependencies = {
-      pandas = [ pandas ];
-    };
+  optional-dependencies = {
+    pandas = [ pandas ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/compressai/default.nix b/pkgs/development/python-modules/compressai/default.nix
index 4848df28167f..517a33d8aa66 100644
--- a/pkgs/development/python-modules/compressai/default.nix
+++ b/pkgs/development/python-modules/compressai/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     torchvision
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     tutorials = [
       ipywidgets
       jupyter
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
index 59f89df05231..9a1cdb8798d4 100644
--- a/pkgs/development/python-modules/configargparse/default.nix
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -22,14 +22,14 @@ buildPythonPackage rec {
     hash = "sha256-m77MY0IZ1AJkd4/Y7ltApvdF9y17Lgn92WZPYTCU9tA=";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     yaml = [ pyyaml ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
     mock
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "configargparse" ];
 
diff --git a/pkgs/development/python-modules/confluent-kafka/default.nix b/pkgs/development/python-modules/confluent-kafka/default.nix
index 95cf2c7bf0b6..b0098ded880c 100644
--- a/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ requests ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     avro = [
       avro
       fastavro
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     pyflakes
     pytestCheckHook
     requests-mock
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "confluent_kafka" ];
 
diff --git a/pkgs/development/python-modules/connexion/default.nix b/pkgs/development/python-modules/connexion/default.nix
index 0e599c2945c3..a43fccb0170e 100644
--- a/pkgs/development/python-modules/connexion/default.nix
+++ b/pkgs/development/python-modules/connexion/default.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     werkzeug
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     flask = [
       a2wsgi
       flask
@@ -75,7 +75,7 @@ buildPythonPackage rec {
     pytest-aiohttp
     pytestCheckHook
     testfixtures
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "connexion" ];
 
diff --git a/pkgs/development/python-modules/construct/default.nix b/pkgs/development/python-modules/construct/default.nix
index daad048634b3..b0fdf8d7c326 100644
--- a/pkgs/development/python-modules/construct/default.nix
+++ b/pkgs/development/python-modules/construct/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     lz4
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     extras = [
       arrow
       cloudpickle
@@ -47,7 +47,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "construct" ];
 
diff --git a/pkgs/development/python-modules/corner/default.nix b/pkgs/development/python-modules/corner/default.nix
index 68446453e200..dd37d140240d 100644
--- a/pkgs/development/python-modules/corner/default.nix
+++ b/pkgs/development/python-modules/corner/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
 
   dependencies = [ matplotlib ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     arviz = [ arviz ];
     docs = [
       arviz
@@ -66,7 +66,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "corner" ];
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ corner.passthru.optional-dependencies.test;
+  nativeCheckInputs = [ pytestCheckHook ] ++ corner.optional-dependencies.test;
 
   # matplotlib.testing.exceptions.ImageComparisonFailure: images not close
   disabledTests = [
diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index 09689a844751..f895557a32b3 100644
--- a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     types-toml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     validation = [
       jsonschema
       lxml
@@ -69,7 +69,7 @@ buildPythonPackage rec {
     ddt
     pytestCheckHook
     xmldiff
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "cyclonedx" ];
 
diff --git a/pkgs/development/python-modules/dask-gateway-server/default.nix b/pkgs/development/python-modules/dask-gateway-server/default.nix
index 8935e536996a..f1aa0dbc6fb3 100644
--- a/pkgs/development/python-modules/dask-gateway-server/default.nix
+++ b/pkgs/development/python-modules/dask-gateway-server/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     traitlets
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     kerberos = [ pykerberos ];
     jobqueue = [ sqlalchemy ];
     local = [ sqlalchemy ];
diff --git a/pkgs/development/python-modules/databases/default.nix b/pkgs/development/python-modules/databases/default.nix
index 33fd15cded4b..55f3489a0144 100644
--- a/pkgs/development/python-modules/databases/default.nix
+++ b/pkgs/development/python-modules/databases/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ sqlalchemy ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     postgresql = [ asyncpg ];
     asyncpg = [ asyncpg ];
     aiopg = [ aiopg ];
diff --git a/pkgs/development/python-modules/dataclass-wizard/default.nix b/pkgs/development/python-modules/dataclass-wizard/default.nix
index 39f0f0aa39fa..2a063482fe17 100644
--- a/pkgs/development/python-modules/dataclass-wizard/default.nix
+++ b/pkgs/development/python-modules/dataclass-wizard/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ ] ++ lib.optionals (pythonOlder "3.9") [ typing-extensions ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     timedelta = [ pytimeparse ];
     yaml = [ pyyaml ];
   };
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-mock
-  ] ++ passthru.optional-dependencies.timedelta ++ passthru.optional-dependencies.yaml;
+  ] ++ optional-dependencies.timedelta ++ optional-dependencies.yaml;
 
   disabledTests =
     [ ]
diff --git a/pkgs/development/python-modules/dataproperty/default.nix b/pkgs/development/python-modules/dataproperty/default.nix
index b82fa0900fbb..f988112c533f 100644
--- a/pkgs/development/python-modules/dataproperty/default.nix
+++ b/pkgs/development/python-modules/dataproperty/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     tcolorpy
   ] ++ typepy.optional-dependencies.datetime;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     logging = [ loguru ];
   };
 
diff --git a/pkgs/development/python-modules/dateparser/default.nix b/pkgs/development/python-modules/dateparser/default.nix
index 3f1fec78aeb3..e87f6d2a72c6 100644
--- a/pkgs/development/python-modules/dateparser/default.nix
+++ b/pkgs/development/python-modules/dateparser/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     tzlocal
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     calendars = [
       hijri-converter
       convertdate
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     parsel
     requests
     ruamel-yaml
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME="$TEMPDIR"
diff --git a/pkgs/development/python-modules/debuglater/default.nix b/pkgs/development/python-modules/debuglater/default.nix
index 503dc862497b..fcb0b4f1f945 100644
--- a/pkgs/development/python-modules/debuglater/default.nix
+++ b/pkgs/development/python-modules/debuglater/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ colorama ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [ dill ];
   };
 
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     numpy
     pandas
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.all;
+  ] ++ optional-dependencies.all;
 
   pythonImportsCheck = [ "debuglater" ];
 
diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix
index af4500ffd580..ff583a572018 100644
--- a/pkgs/development/python-modules/deepdiff/default.nix
+++ b/pkgs/development/python-modules/deepdiff/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     orjson
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [
       clevercsv
       click
@@ -56,7 +56,7 @@ buildPythonPackage rec {
     pytestCheckHook
     python-dateutil
     tomli-w
-  ] ++ passthru.optional-dependencies.cli;
+  ] ++ optional-dependencies.cli;
 
   disabledTests = [
     # not compatible with pydantic 2.x
diff --git a/pkgs/development/python-modules/defcon/default.nix b/pkgs/development/python-modules/defcon/default.nix
index 309b02d14fa1..4e2c4d9b75e2 100644
--- a/pkgs/development/python-modules/defcon/default.nix
+++ b/pkgs/development/python-modules/defcon/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "defcon" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pens = [ fontpens ];
     lxml = [ fonttools ] ++ fonttools.optional-dependencies.lxml;
   };
diff --git a/pkgs/development/python-modules/demoji/default.nix b/pkgs/development/python-modules/demoji/default.nix
index 4538f6c9c8be..b63b2c12a1c0 100644
--- a/pkgs/development/python-modules/demoji/default.nix
+++ b/pkgs/development/python-modules/demoji/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ujson = [ ujson ];
   };
 
diff --git a/pkgs/development/python-modules/dependency-injector/default.nix b/pkgs/development/python-modules/dependency-injector/default.nix
index be655a971dd4..5980eaff54db 100644
--- a/pkgs/development/python-modules/dependency-injector/default.nix
+++ b/pkgs/development/python-modules/dependency-injector/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [ aiohttp ];
     pydantic = [ pydantic ];
     flask = [ flask ];
@@ -50,10 +50,10 @@ buildPythonPackage rec {
       pytestCheckHook
       scipy
     ]
-    ++ passthru.optional-dependencies.aiohttp
-    ++ passthru.optional-dependencies.pydantic
-    ++ passthru.optional-dependencies.yaml
-    ++ passthru.optional-dependencies.flask;
+    ++ optional-dependencies.aiohttp
+    ++ optional-dependencies.pydantic
+    ++ optional-dependencies.yaml
+    ++ optional-dependencies.flask;
 
   pythonImportsCheck = [ "dependency_injector" ];
 
diff --git a/pkgs/development/python-modules/detectron2/default.nix b/pkgs/development/python-modules/detectron2/default.nix
index 95506510e214..42b8f0a6f43c 100644
--- a/pkgs/development/python-modules/detectron2/default.nix
+++ b/pkgs/development/python-modules/detectron2/default.nix
@@ -99,7 +99,7 @@ buildPythonPackage {
     pydot # no idea why this is not in their setup.py
   ];
 
-  passthru.optional-dependencies = optional-dependencies;
+  optional-dependencies = optional-dependencies;
 
   nativeCheckInputs = [
     av
diff --git a/pkgs/development/python-modules/diffusers/default.nix b/pkgs/development/python-modules/diffusers/default.nix
index ee540ee7e9c8..e7e736927ea0 100644
--- a/pkgs/development/python-modules/diffusers/default.nix
+++ b/pkgs/development/python-modules/diffusers/default.nix
@@ -65,7 +65,7 @@ buildPythonPackage rec {
     safetensors
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     flax = [
       flax
       jax
@@ -102,7 +102,7 @@ buildPythonPackage rec {
     sentencepiece
     torchsde
     transformers
-  ] ++ passthru.optional-dependencies.torch;
+  ] ++ optional-dependencies.torch;
 
   preCheck =
     let
diff --git a/pkgs/development/python-modules/diofant/default.nix b/pkgs/development/python-modules/diofant/default.nix
index 9fa09e0df070..03566cf27dc1 100644
--- a/pkgs/development/python-modules/diofant/default.nix
+++ b/pkgs/development/python-modules/diofant/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ mpmath ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     exports = [
       cython
       numpy
diff --git a/pkgs/development/python-modules/discum/default.nix b/pkgs/development/python-modules/discum/default.nix
index ffa8b9957993..50254162ff06 100644
--- a/pkgs/development/python-modules/discum/default.nix
+++ b/pkgs/development/python-modules/discum/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     websocket-client
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ra = [
       pycryptodome
       pypng
diff --git a/pkgs/development/python-modules/dissect-btrfs/default.nix b/pkgs/development/python-modules/dissect-btrfs/default.nix
index ef7f8fdd9f4a..e854feb88a2f 100644
--- a/pkgs/development/python-modules/dissect-btrfs/default.nix
+++ b/pkgs/development/python-modules/dissect-btrfs/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     dissect-util
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       python-lzo
       zstandard
diff --git a/pkgs/development/python-modules/dissect-cobaltstrike/default.nix b/pkgs/development/python-modules/dissect-cobaltstrike/default.nix
index 973cd01a7aa4..0795b7aaee8e 100644
--- a/pkgs/development/python-modules/dissect-cobaltstrike/default.nix
+++ b/pkgs/development/python-modules/dissect-cobaltstrike/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     lark
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     c2 = [
       flow-record
       httpx
@@ -68,7 +68,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-httpserver
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "dissect.cobaltstrike" ];
 
diff --git a/pkgs/development/python-modules/dissect-hypervisor/default.nix b/pkgs/development/python-modules/dissect-hypervisor/default.nix
index 26cf663c5ae2..4a1cb39782d3 100644
--- a/pkgs/development/python-modules/dissect-hypervisor/default.nix
+++ b/pkgs/development/python-modules/dissect-hypervisor/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     dissect-util
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       pycryptodome
       rich
diff --git a/pkgs/development/python-modules/dissect-squashfs/default.nix b/pkgs/development/python-modules/dissect-squashfs/default.nix
index 88f7f3ab8467..a85b51abcf19 100644
--- a/pkgs/development/python-modules/dissect-squashfs/default.nix
+++ b/pkgs/development/python-modules/dissect-squashfs/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     dissect-util
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       lz4
       python-lzo
diff --git a/pkgs/development/python-modules/dissect-target/default.nix b/pkgs/development/python-modules/dissect-target/default.nix
index d2c632a1f564..409f8444c33d 100644
--- a/pkgs/development/python-modules/dissect-target/default.nix
+++ b/pkgs/development/python-modules/dissect-target/default.nix
@@ -80,7 +80,7 @@ buildPythonPackage rec {
     structlog
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       asn1crypto
       dissect-btrfs
@@ -102,12 +102,12 @@ buildPythonPackage rec {
       yara-python
       zstandard
     ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
-    yara = [ yara-python ] ++ passthru.optional-dependencies.full;
-    smb = [ impacket ] ++ passthru.optional-dependencies.full;
-    mqtt = [ paho-mqtt ] ++ passthru.optional-dependencies.full;
+    yara = [ yara-python ] ++ optional-dependencies.full;
+    smb = [ impacket ] ++ optional-dependencies.full;
+    mqtt = [ paho-mqtt ] ++ optional-dependencies.full;
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.full;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.full;
 
   pythonImportsCheck = [ "dissect.target" ];
 
diff --git a/pkgs/development/python-modules/dj-rest-auth/default.nix b/pkgs/development/python-modules/dj-rest-auth/default.nix
index 1f0ac3747c87..9dddc459a3cc 100644
--- a/pkgs/development/python-modules/dj-rest-auth/default.nix
+++ b/pkgs/development/python-modules/dj-rest-auth/default.nix
@@ -40,13 +40,13 @@ buildPythonPackage rec {
 
   dependencies = [ djangorestframework ];
 
-  passthru.optional-dependencies.with_social = [ django-allauth ];
+  optional-dependencies.with_social = [ django-allauth ];
 
   nativeCheckInputs = [
     djangorestframework-simplejwt
     responses
     unittest-xml-reporting
-  ] ++ passthru.optional-dependencies.with_social;
+  ] ++ optional-dependencies.with_social;
 
   preCheck = ''
     # Test connects to graph.facebook.com
diff --git a/pkgs/development/python-modules/django-allauth/default.nix b/pkgs/development/python-modules/django-allauth/default.nix
index fb7eb5ffac84..4b75865cf326 100644
--- a/pkgs/development/python-modules/django-allauth/default.nix
+++ b/pkgs/development/python-modules/django-allauth/default.nix
@@ -60,7 +60,7 @@ buildPythonPackage rec {
 
   preBuild = "${python.interpreter} -m django compilemessages";
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     saml = [ python3-saml ];
     mfa = [ qrcode ];
   };
@@ -71,7 +71,7 @@ buildPythonPackage rec {
     pillow
     pytestCheckHook
     pytest-django
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = [
     # Tests require network access
diff --git a/pkgs/development/python-modules/django-import-export/default.nix b/pkgs/development/python-modules/django-import-export/default.nix
index 52f1ff4d5b4c..d2d65daa6689 100644
--- a/pkgs/development/python-modules/django-import-export/default.nix
+++ b/pkgs/development/python-modules/django-import-export/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     tablib
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [ tablib ] ++ tablib.optional-dependencies.all;
     cli = [ tablib ] ++ tablib.optional-dependencies.cli;
     ods = [ tablib ] ++ tablib.optional-dependencies.ods;
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     chardet
     psycopg2
     pytz
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/development/python-modules/django-markup/default.nix b/pkgs/development/python-modules/django-markup/default.nix
index dce53f40ad93..61ce9fd91cec 100644
--- a/pkgs/development/python-modules/django-markup/default.nix
+++ b/pkgs/development/python-modules/django-markup/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
 
   dependencies = [ django ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all_filter_dependencies = [
       bleach
       docutils
@@ -63,7 +63,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-django
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.all_filter_dependencies;
+  ] ++ optional-dependencies.all_filter_dependencies;
 
   preCheck = ''
     export DJANGO_SETTINGS_MODULE=django_markup.tests
diff --git a/pkgs/development/python-modules/django-modelcluster/default.nix b/pkgs/development/python-modules/django-modelcluster/default.nix
index a7efa70261fb..acb7fd370429 100644
--- a/pkgs/development/python-modules/django-modelcluster/default.nix
+++ b/pkgs/development/python-modules/django-modelcluster/default.nix
@@ -35,14 +35,14 @@ buildPythonPackage rec {
     pytz
   ];
 
-  passthru.optional-dependencies.taggit = [ django-taggit ];
+  optional-dependencies.taggit = [ django-taggit ];
 
   env.DJANGO_SETTINGS_MODULE = "tests.settings";
 
   nativeCheckInputs = [
     pytest-django
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.taggit;
+  ] ++ optional-dependencies.taggit;
 
   # https://github.com/wagtail/django-modelcluster/issues/173
   disabledTests = lib.optionals (lib.versionAtLeast django.version "4.2") [
diff --git a/pkgs/development/python-modules/django-redis/default.nix b/pkgs/development/python-modules/django-redis/default.nix
index eefb715e1708..94249cebd94c 100644
--- a/pkgs/development/python-modules/django-redis/default.nix
+++ b/pkgs/development/python-modules/django-redis/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     redis
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     hiredis = [ redis ] ++ redis.optional-dependencies.hiredis;
   };
 
@@ -67,7 +67,7 @@ buildPythonPackage rec {
     pytest-django
     pytest-mock
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pytestFlagsArray = [
     "-W"
diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix
index 84378ee311a8..1014efc09e65 100644
--- a/pkgs/development/python-modules/django-storages/default.nix
+++ b/pkgs/development/python-modules/django-storages/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ django ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     azure = [ azure-storage-blob ];
     boto3 = [ boto3 ];
     dropbox = [ dropbox ];
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     moto
     pytestCheckHook
     rsa
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "storages" ];
 
diff --git a/pkgs/development/python-modules/django-stubs/default.nix b/pkgs/development/python-modules/django-stubs/default.nix
index 0bdd73e77488..198e782fde3e 100644
--- a/pkgs/development/python-modules/django-stubs/default.nix
+++ b/pkgs/development/python-modules/django-stubs/default.nix
@@ -37,13 +37,13 @@ buildPythonPackage rec {
     typing-extensions
   ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     compatible-mypy = [ mypy ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "django-stubs" ];
 
diff --git a/pkgs/development/python-modules/django-tables2/default.nix b/pkgs/development/python-modules/django-tables2/default.nix
index cb1f2307d527..b5692c1d0f6d 100644
--- a/pkgs/development/python-modules/django-tables2/default.nix
+++ b/pkgs/development/python-modules/django-tables2/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ django ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     tablib = [ tablib ] ++ tablib.optional-dependencies.xls ++ tablib.optional-dependencies.yaml;
   };
 
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     pyyaml
     pytest-django
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTestPaths = [
     # requires django-filters
diff --git a/pkgs/development/python-modules/django-two-factor-auth/default.nix b/pkgs/development/python-modules/django-two-factor-auth/default.nix
index 718d2206700b..1a35580d19e5 100644
--- a/pkgs/development/python-modules/django-two-factor-auth/default.nix
+++ b/pkgs/development/python-modules/django-two-factor-auth/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     qrcode
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     call = [ twilio ];
     sms = [ twilio ];
     webauthn = [
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index 2d7bb6ce9dde..3e79caf80134 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -94,7 +94,7 @@ buildPythonPackage rec {
     sqlparse
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     argon2 = [ argon2-cffi ];
     bcrypt = [ bcrypt ];
   };
@@ -116,7 +116,7 @@ buildPythonPackage rec {
     selenium
     tblib
     tzdata
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   doCheck = !stdenv.hostPlatform.isDarwin;
 
diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
index abf6c29ed81b..dc91ad35fa03 100644
--- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     pyjwt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     python-jose = [ python-jose ];
     crypto = [ cryptography ];
   };
diff --git a/pkgs/development/python-modules/djangorestframework-stubs/default.nix b/pkgs/development/python-modules/djangorestframework-stubs/default.nix
index 19e771ebbeec..826bb862248c 100644
--- a/pkgs/development/python-modules/djangorestframework-stubs/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-stubs/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     compatible-mypy = [ mypy ] ++ django-stubs.optional-dependencies.compatible-mypy;
     coreapi = [ coreapi ];
     markdown = [ types-markdown ];
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     py
     pytest-mypy-plugins
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # Upstream recommends mypy > 1.7 which we don't have yet, thus all testsare failing with 3.14.5 and below
   doCheck = false;
diff --git a/pkgs/development/python-modules/dm-sonnet/default.nix b/pkgs/development/python-modules/dm-sonnet/default.nix
index 7290b31b7f37..06b01a447843 100644
--- a/pkgs/development/python-modules/dm-sonnet/default.nix
+++ b/pkgs/development/python-modules/dm-sonnet/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     wrapt
   ] ++ etils.optional-dependencies.epath;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     tensorflow = [ tensorflow ];
   };
 
diff --git a/pkgs/development/python-modules/dns-lexicon/default.nix b/pkgs/development/python-modules/dns-lexicon/default.nix
index 225a04ee5342..89f98539f7a4 100644
--- a/pkgs/development/python-modules/dns-lexicon/default.nix
+++ b/pkgs/development/python-modules/dns-lexicon/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     tldextract
   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     route53 = [ boto3 ];
     localzone = [ localzone ];
     softlayer = [ softlayer ];
@@ -66,7 +66,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-vcr
-  ] ++ passthru.optional-dependencies.full;
+  ] ++ optional-dependencies.full;
 
   pytestFlagsArray = [ "tests/" ];
 
diff --git a/pkgs/development/python-modules/dnspython/default.nix b/pkgs/development/python-modules/dnspython/default.nix
index 56098c6250c5..d1d0d61398de 100644
--- a/pkgs/development/python-modules/dnspython/default.nix
+++ b/pkgs/development/python-modules/dnspython/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ hatchling ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     DOH = [
       httpx
       h2
@@ -53,7 +53,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
-  checkInputs = [ cacert ] ++ passthru.optional-dependencies.DNSSEC;
+  checkInputs = [ cacert ] ++ optional-dependencies.DNSSEC;
 
   disabledTests = [
     # dns.exception.SyntaxError: protocol not found
diff --git a/pkgs/development/python-modules/dparse/default.nix b/pkgs/development/python-modules/dparse/default.nix
index 59a19b30caeb..cbe4b8518763 100644
--- a/pkgs/development/python-modules/dparse/default.nix
+++ b/pkgs/development/python-modules/dparse/default.nix
@@ -35,14 +35,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ packaging ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     # FIXME pipenv = [ pipenv ];
     conda = [ pyyaml ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "dparse" ];
 
diff --git a/pkgs/development/python-modules/draftjs-exporter/default.nix b/pkgs/development/python-modules/draftjs-exporter/default.nix
index 29205e3d5dd4..0573af0c60a3 100644
--- a/pkgs/development/python-modules/draftjs-exporter/default.nix
+++ b/pkgs/development/python-modules/draftjs-exporter/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     sha256 = "sha256-4MmCVRx350p6N9XqTZSo8ROI/OJ0s4aKSYH9+Oxgvf4=";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     lxml = [ lxml ];
     html5lib = [
       beautifulsoup4
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     ];
   };
 
-  checkInputs = passthru.optional-dependencies.lxml ++ passthru.optional-dependencies.html5lib;
+  checkInputs = optional-dependencies.lxml ++ optional-dependencies.html5lib;
 
   checkPhase = ''
     # 2 tests in this file randomly fail because they depend on the order of
diff --git a/pkgs/development/python-modules/dramatiq/default.nix b/pkgs/development/python-modules/dramatiq/default.nix
index 9eec4bba08fb..b02da84182f7 100644
--- a/pkgs/development/python-modules/dramatiq/default.nix
+++ b/pkgs/development/python-modules/dramatiq/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ prometheus-client ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       gevent
       pika
diff --git a/pkgs/development/python-modules/drawsvg/default.nix b/pkgs/development/python-modules/drawsvg/default.nix
index 8feb1a1151ea..d6df1c87a2dc 100644
--- a/pkgs/development/python-modules/drawsvg/default.nix
+++ b/pkgs/development/python-modules/drawsvg/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       numpy
       imageio
diff --git a/pkgs/development/python-modules/dsnap/default.nix b/pkgs/development/python-modules/dsnap/default.nix
index f14636df0654..1908de7692e8 100644
--- a/pkgs/development/python-modules/dsnap/default.nix
+++ b/pkgs/development/python-modules/dsnap/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [ typer ];
     scannerd = [
       aws-sam-cli
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     moto
     mypy-boto3-ebs
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # https://github.com/RhinoSecurityLabs/dsnap/issues/26
   # ImportError: cannot import name 'mock_iam' from 'moto'
diff --git a/pkgs/development/python-modules/dvc-render/default.nix b/pkgs/development/python-modules/dvc-render/default.nix
index f4df5623013d..749abe71e0bc 100644
--- a/pkgs/development/python-modules/dvc-render/default.nix
+++ b/pkgs/development/python-modules/dvc-render/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools-scm ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     table = [
       flatten-dict
       tabulate
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-mock
     pytest-test-utils
-  ] ++ passthru.optional-dependencies.table ++ passthru.optional-dependencies.markdown;
+  ] ++ optional-dependencies.table ++ optional-dependencies.markdown;
 
   disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_vega.py" ];
 
diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix
index 284de4ad026b..ee197c22044c 100644
--- a/pkgs/development/python-modules/dvc/default.nix
+++ b/pkgs/development/python-modules/dvc/default.nix
@@ -124,14 +124,14 @@ buildPythonPackage rec {
       voluptuous
       zc-lockfile
     ]
-    ++ lib.optionals enableGoogle passthru.optional-dependencies.gs
-    ++ lib.optionals enableAWS passthru.optional-dependencies.s3
-    ++ lib.optionals enableAzure passthru.optional-dependencies.azure
-    ++ lib.optionals enableSSH passthru.optional-dependencies.ssh
+    ++ lib.optionals enableGoogle optional-dependencies.gs
+    ++ lib.optionals enableAWS optional-dependencies.s3
+    ++ lib.optionals enableAzure optional-dependencies.azure
+    ++ lib.optionals enableSSH optional-dependencies.ssh
     ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]
     ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     azure = [ dvc-azure ];
     gdrive = [ dvc-gdrive ];
     gs = [ dvc-gs ];
diff --git a/pkgs/development/python-modules/dvclive/default.nix b/pkgs/development/python-modules/dvclive/default.nix
index 7973a0e76967..6124823fce59 100644
--- a/pkgs/development/python-modules/dvclive/default.nix
+++ b/pkgs/development/python-modules/dvclive/default.nix
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     pynvml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       jsonargparse
       lightgbm
diff --git a/pkgs/development/python-modules/edalize/default.nix b/pkgs/development/python-modules/edalize/default.nix
index e710689aaa26..25af1e1e6ded 100644
--- a/pkgs/development/python-modules/edalize/default.nix
+++ b/pkgs/development/python-modules/edalize/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ jinja2 ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     reporting = [
       pandas
       pyparsing
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     pytestCheckHook
     which
     yosys
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "edalize" ];
 
diff --git a/pkgs/development/python-modules/elasticsearch/default.nix b/pkgs/development/python-modules/elasticsearch/default.nix
index 562d66e9bc2a..68621f96c151 100644
--- a/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/pkgs/development/python-modules/elasticsearch/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     certifi
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     requests = [ requests ];
     async = [ aiohttp ];
   };
diff --git a/pkgs/development/python-modules/elasticsearch8/default.nix b/pkgs/development/python-modules/elasticsearch8/default.nix
index 3d3594ae4b34..3428dfbff8b6 100644
--- a/pkgs/development/python-modules/elasticsearch8/default.nix
+++ b/pkgs/development/python-modules/elasticsearch8/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   dependencies = [ elastic-transport ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [ aiohttp ];
     requests = [ requests ];
     orjson = [ orjson ];
diff --git a/pkgs/development/python-modules/esig/default.nix b/pkgs/development/python-modules/esig/default.nix
index 68af34c82e3a..ba89418c0b69 100644
--- a/pkgs/development/python-modules/esig/default.nix
+++ b/pkgs/development/python-modules/esig/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ numpy ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     iisignature = [ iisignature ];
   };
 
diff --git a/pkgs/development/python-modules/essentials-openapi/default.nix b/pkgs/development/python-modules/essentials-openapi/default.nix
index 7438c2ef6e98..b6cc24262073 100644
--- a/pkgs/development/python-modules/essentials-openapi/default.nix
+++ b/pkgs/development/python-modules/essentials-openapi/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     markupsafe
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [
       click
       jinja2
diff --git a/pkgs/development/python-modules/eth-hash/default.nix b/pkgs/development/python-modules/eth-hash/default.nix
index c53e052b76fc..241a4260e43a 100644
--- a/pkgs/development/python-modules/eth-hash/default.nix
+++ b/pkgs/development/python-modules/eth-hash/default.nix
@@ -24,11 +24,11 @@ buildPythonPackage rec {
 
   nativeCheckInputs =
     [ pytest ]
-    ++ passthru.optional-dependencies.pycryptodome
+    ++ optional-dependencies.pycryptodome
     # eth-hash can use either safe-pysha3 or pycryptodome;
     # safe-pysha3 requires Python 3.9+ while pycryptodome does not.
     # https://github.com/ethereum/eth-hash/issues/46#issuecomment-1314029211
-    ++ lib.optional (pythonAtLeast "3.9") passthru.optional-dependencies.pysha3;
+    ++ lib.optional (pythonAtLeast "3.9") optional-dependencies.pysha3;
 
   checkPhase =
     ''
@@ -38,7 +38,7 @@ buildPythonPackage rec {
       pytest tests/backends/pysha3/
     '';
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pycryptodome = [ pycryptodome ];
     pysha3 = [ safe-pysha3 ];
   };
diff --git a/pkgs/development/python-modules/eth-keys/default.nix b/pkgs/development/python-modules/eth-keys/default.nix
index 964f4f08326d..c64470a2c485 100644
--- a/pkgs/development/python-modules/eth-keys/default.nix
+++ b/pkgs/development/python-modules/eth-keys/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
       pyasn1
       pytestCheckHook
     ]
-    ++ passthru.optional-dependencies.coincurve
+    ++ optional-dependencies.coincurve
     ++ lib.optional (!isPyPy) eth-hash.optional-dependencies.pysha3
     ++ lib.optional isPyPy eth-hash.optional-dependencies.pycryptodome;
 
@@ -63,7 +63,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "eth_keys" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     coincurve = [ coincurve ];
   };
 
diff --git a/pkgs/development/python-modules/etils/default.nix b/pkgs/development/python-modules/etils/default.nix
index a78831b4aedf..0f925eadb23a 100644
--- a/pkgs/development/python-modules/etils/default.nix
+++ b/pkgs/development/python-modules/etils/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ flit-core ];
 
-  passthru.optional-dependencies = rec {
+  optional-dependencies = rec {
     array-types = enp;
     eapp = [
       absl-py # FIXME package simple-parsing
@@ -91,7 +91,7 @@ buildPythonPackage rec {
     pytest-xdist
     pytestCheckHook
     yapf
-  ] ++ passthru.optional-dependencies.all;
+  ] ++ optional-dependencies.all;
 
   disabledTests = [
     "test_public_access" # requires network access
diff --git a/pkgs/development/python-modules/exchangelib/default.nix b/pkgs/development/python-modules/exchangelib/default.nix
index 5be910888a8e..0f6e58d0cb2c 100644
--- a/pkgs/development/python-modules/exchangelib/default.nix
+++ b/pkgs/development/python-modules/exchangelib/default.nix
@@ -61,7 +61,7 @@ buildPythonPackage rec {
     tzlocal
   ] ++ lib.optionals (pythonOlder "3.9") [ backports-zoneinfo ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     complete = [
       requests-gssapi
       # requests-negotiate-sspi
diff --git a/pkgs/development/python-modules/explorerscript/default.nix b/pkgs/development/python-modules/explorerscript/default.nix
index 391881204e29..0d4a31376f32 100644
--- a/pkgs/development/python-modules/explorerscript/default.nix
+++ b/pkgs/development/python-modules/explorerscript/default.nix
@@ -47,9 +47,9 @@ buildPythonPackage rec {
     igraph
   ];
 
-  passthru.optional-dependencies.pygments = [ pygments ];
+  optional-dependencies.pygments = [ pygments ];
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.pygments;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.pygments;
 
   pythonImportsCheck = [ "explorerscript" ];
 
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index fa62b1754893..4aa0af9aa8db 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     lua = [ lupa ];
     json = [ jsonpath-ng ];
     bf = [ pyprobables ];
diff --git a/pkgs/development/python-modules/fastparquet/default.nix b/pkgs/development/python-modules/fastparquet/default.nix
index 4add91da0926..5beafcea7a1c 100644
--- a/pkgs/development/python-modules/fastparquet/default.nix
+++ b/pkgs/development/python-modules/fastparquet/default.nix
@@ -58,7 +58,7 @@ buildPythonPackage rec {
     pandas
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     lzo = [ python-lzo ];
   };
 
diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix
index 8b5a06c4a1fc..0dd47d31ed70 100644
--- a/pkgs/development/python-modules/fido2/default.nix
+++ b/pkgs/development/python-modules/fido2/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   dependencies = [ cryptography ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pcsc = [ pyscard ];
   };
 
diff --git a/pkgs/development/python-modules/firebase-messaging/default.nix b/pkgs/development/python-modules/firebase-messaging/default.nix
index 0d6118e44c4e..15c39a634980 100644
--- a/pkgs/development/python-modules/firebase-messaging/default.nix
+++ b/pkgs/development/python-modules/firebase-messaging/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     poetry-core
     sphinxHook
-  ] ++ passthru.optional-dependencies.docs;
+  ] ++ optional-dependencies.docs;
 
   propagatedBuildInputs = [
     aiohttp
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     protobuf
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     docs = [
       sphinx
       sphinx-autodoc-typehints
diff --git a/pkgs/development/python-modules/fixtures/default.nix b/pkgs/development/python-modules/fixtures/default.nix
index a14f24cb8e5f..ca122ad9c7db 100644
--- a/pkgs/development/python-modules/fixtures/default.nix
+++ b/pkgs/development/python-modules/fixtures/default.nix
@@ -26,14 +26,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pbr ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     streams = [ testtools ];
   };
 
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.streams;
+  ] ++ optional-dependencies.streams;
 
   meta = {
     description = "Reusable state for writing clean tests and more";
diff --git a/pkgs/development/python-modules/flask-jwt-extended/default.nix b/pkgs/development/python-modules/flask-jwt-extended/default.nix
index d05524e905fb..00c986235587 100644
--- a/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -31,11 +31,11 @@ buildPythonPackage rec {
     werkzeug
   ];
 
-  passthru.optional-dependencies.asymmetric_crypto = [ cryptography ];
+  optional-dependencies.asymmetric_crypto = [ cryptography ];
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "flask_jwt_extended" ];
 
diff --git a/pkgs/development/python-modules/flask-marshmallow/default.nix b/pkgs/development/python-modules/flask-marshmallow/default.nix
index 69ad443789ed..6c256c496835 100644
--- a/pkgs/development/python-modules/flask-marshmallow/default.nix
+++ b/pkgs/development/python-modules/flask-marshmallow/default.nix
@@ -32,14 +32,14 @@ buildPythonPackage rec {
     marshmallow
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     sqlalchemy = [
       flask-sqlalchemy
       marshmallow-sqlalchemy
     ];
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.sqlalchemy;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.sqlalchemy;
 
   pythonImportsCheck = [ "flask_marshmallow" ];
 
diff --git a/pkgs/development/python-modules/flask-mongoengine/default.nix b/pkgs/development/python-modules/flask-mongoengine/default.nix
index 65ba830e9103..8fa9a2333561 100644
--- a/pkgs/development/python-modules/flask-mongoengine/default.nix
+++ b/pkgs/development/python-modules/flask-mongoengine/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     mongoengine
   ] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     wtf = [
       flask-wtf
       wtforms
diff --git a/pkgs/development/python-modules/flask-wtf/default.nix b/pkgs/development/python-modules/flask-wtf/default.nix
index 487c2c997b8e..09fa23575fa4 100644
--- a/pkgs/development/python-modules/flask-wtf/default.nix
+++ b/pkgs/development/python-modules/flask-wtf/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     wtforms
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     email = [ email-validator ];
   };
 
diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix
index d8effec2045e..850dba14f28e 100644
--- a/pkgs/development/python-modules/flask/default.nix
+++ b/pkgs/development/python-modules/flask/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     werkzeug
   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [ asgiref ];
     dotenv = [ python-dotenv ];
   };
@@ -58,7 +58,7 @@ buildPythonPackage rec {
   nativeCheckInputs =
     [ pytestCheckHook ]
     ++ lib.optionals (pythonOlder "3.11") [ greenlet ]
-    ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+    ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   passthru.tests = {
     inherit
diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix
index 098e6cf28e6b..4f93bd4f8ea5 100644
--- a/pkgs/development/python-modules/flax/default.nix
+++ b/pkgs/development/python-modules/flax/default.nix
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [ matplotlib ];
   };
 
diff --git a/pkgs/development/python-modules/flow-record/default.nix b/pkgs/development/python-modules/flow-record/default.nix
index d9c61a791615..b92660587549 100644
--- a/pkgs/development/python-modules/flow-record/default.nix
+++ b/pkgs/development/python-modules/flow-record/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
 
   dependencies = [ msgpack ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     compression = [
       lz4
       zstandard
@@ -45,7 +45,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest7CheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "flow.record" ];
 
diff --git a/pkgs/development/python-modules/foolscap/default.nix b/pkgs/development/python-modules/foolscap/default.nix
index a5f3eb9c60b1..3cf3b2beb1b8 100644
--- a/pkgs/development/python-modules/foolscap/default.nix
+++ b/pkgs/development/python-modules/foolscap/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     pyopenssl
   ] ++ twisted.optional-dependencies.tls;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     i2p = [ txi2p-tahoe ];
     tor = [ txtorcon ];
   };
@@ -50,7 +50,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "foolscap" ];
 
diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix
index 4ed60bd8a704..9e49e8c420c8 100644
--- a/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/pkgs/development/python-modules/fritzconnection/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ requests ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     qr = [ segno ];
   };
 
diff --git a/pkgs/development/python-modules/fschat/default.nix b/pkgs/development/python-modules/fschat/default.nix
index d086073f1a4d..d86fd4d91062 100644
--- a/pkgs/development/python-modules/fschat/default.nix
+++ b/pkgs/development/python-modules/fschat/default.nix
@@ -63,7 +63,7 @@ buildPythonPackage {
     # ] ++ markdown2.optional-dependencies.all;
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     llm_judge = [
       anthropic
       openai
diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix
index 832920986a39..741755247223 100644
--- a/pkgs/development/python-modules/fsspec/default.nix
+++ b/pkgs/development/python-modules/fsspec/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     entrypoints = [ ];
     abfs = [ adlfs ];
     adl = [ adlfs ];
diff --git a/pkgs/development/python-modules/fugashi/default.nix b/pkgs/development/python-modules/fugashi/default.nix
index 99c0853b461c..ab617d626473 100644
--- a/pkgs/development/python-modules/fugashi/default.nix
+++ b/pkgs/development/python-modules/fugashi/default.nix
@@ -34,9 +34,9 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     ipadic
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.unidic-lite;
+  ] ++ optional-dependencies.unidic-lite;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     unidic-lite = [ unidic-lite ];
     unidic = [ unidic ];
   };
diff --git a/pkgs/development/python-modules/fvcore/default.nix b/pkgs/development/python-modules/fvcore/default.nix
index 6d00d662b055..a3f359bad457 100644
--- a/pkgs/development/python-modules/fvcore/default.nix
+++ b/pkgs/development/python-modules/fvcore/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "fvcore" ];
 
-  passthru.optional-dependencies = optional-dependencies;
+  optional-dependencies = optional-dependencies;
 
   meta = with lib; {
     description = "Collection of common code that's shared among different research projects in FAIR computer vision team";
diff --git a/pkgs/development/python-modules/gardena-bluetooth/default.nix b/pkgs/development/python-modules/gardena-bluetooth/default.nix
index 38ad47244f22..45cbdea0d546 100644
--- a/pkgs/development/python-modules/gardena-bluetooth/default.nix
+++ b/pkgs/development/python-modules/gardena-bluetooth/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     tzlocal
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [ asyncclick ];
   };
 
diff --git a/pkgs/development/python-modules/githubkit/default.nix b/pkgs/development/python-modules/githubkit/default.nix
index d27a9e672da2..b09f27514727 100644
--- a/pkgs/development/python-modules/githubkit/default.nix
+++ b/pkgs/development/python-modules/githubkit/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       anyio
       pyjwt
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-cov-stub
     pytest-xdist
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "githubkit" ];
 
diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix
index ccfeaa3debac..8d9083115fd5 100644
--- a/pkgs/development/python-modules/google-api-core/default.nix
+++ b/pkgs/development/python-modules/google-api-core/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     grpc = [
       grpcio
       grpcio-status
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index 30ea8208ff8e..ea25b7f2a6b6 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     rsa
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [
       aiohttp
       requests
@@ -75,9 +75,9 @@ buildPythonPackage rec {
       pytestCheckHook
       responses
     ]
-    ++ passthru.optional-dependencies.aiohttp
-    ++ passthru.optional-dependencies.enterprise_cert
-    ++ passthru.optional-dependencies.reauth;
+    ++ optional-dependencies.aiohttp
+    ++ optional-dependencies.enterprise_cert
+    ++ optional-dependencies.reauth;
 
   pythonImportsCheck = [
     "google.auth"
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
index 4eae86bbbf46..22389251e06c 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     protobuf
   ] ++ google-api-core.optional-dependencies.grpc;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     fastavro = [ fastavro ];
     pandas = [ pandas ];
     pyarrow = [ pyarrow ];
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index d9ea0eba51ba..5451d1857a65 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -54,7 +54,7 @@ buildPythonPackage rec {
     python-dateutil
   ] ++ google-api-core.optional-dependencies.grpc;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     bqstorage = [
       google-cloud-bigquery-storage
       grpcio
@@ -78,7 +78,7 @@ buildPythonPackage rec {
     google-cloud-storage
     pytestCheckHook
     pytest-xdist
-  ] ++ passthru.optional-dependencies.pandas ++ passthru.optional-dependencies.ipython;
+  ] ++ optional-dependencies.pandas ++ optional-dependencies.ipython;
 
   # prevent google directory from shadowing google imports
   preCheck = ''
diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 91896114390e..fe8e5f496360 100644
--- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     protobuf
   ] ++ google-api-core.optional-dependencies.grpc;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     libcst = [ libcst ];
   };
 
diff --git a/pkgs/development/python-modules/google-cloud-core/default.nix b/pkgs/development/python-modules/google-cloud-core/default.nix
index bd5fbf7ee044..e0b052ba2fb0 100644
--- a/pkgs/development/python-modules/google-cloud-core/default.nix
+++ b/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -27,14 +27,14 @@ buildPythonPackage rec {
     google-api-core
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     grpc = [ grpcio ];
   };
 
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.grpc;
+  ] ++ optional-dependencies.grpc;
 
   # prevent google directory from shadowing google imports
   preCheck = ''
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index a564a85d45d6..dae730accaa8 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     protobuf
   ] ++ google-api-core.optional-dependencies.grpc;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     libcst = [ libcst ];
   };
 
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 14527a19a43a..da4dbf120eb1 100644
--- a/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     sqlparse
   ] ++ google-api-core.optional-dependencies.grpc;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     libcst = [ libcst ];
   };
 
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
index 4a5081468f9c..d5a4d97cf7ce 100644
--- a/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     protobuf = [ protobuf ];
   };
 
diff --git a/pkgs/development/python-modules/google-resumable-media/default.nix b/pkgs/development/python-modules/google-resumable-media/default.nix
index 504987669e7e..bf55a48543a2 100644
--- a/pkgs/development/python-modules/google-resumable-media/default.nix
+++ b/pkgs/development/python-modules/google-resumable-media/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     google-crc32c
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     requests = [ requests ];
     aiohttp = [ aiohttp ];
   };
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     mock
     pytest-asyncio
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.requests;
+  ] ++ optional-dependencies.requests;
 
   preCheck = ''
     # prevent shadowing imports
diff --git a/pkgs/development/python-modules/gotailwind/default.nix b/pkgs/development/python-modules/gotailwind/default.nix
index 8593c49ddc11..a3a640841d4a 100644
--- a/pkgs/development/python-modules/gotailwind/default.nix
+++ b/pkgs/development/python-modules/gotailwind/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     zeroconf
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [ typer ];
   };
 
diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix
index 68d0da3d5660..2e59cce67546 100644
--- a/pkgs/development/python-modules/gradio/default.nix
+++ b/pkgs/development/python-modules/gradio/default.nix
@@ -127,7 +127,7 @@ buildPythonPackage rec {
     tomlkit
   ];
 
-  passthru.optional-dependencies.oauth = [
+  optional-dependencies.oauth = [
     authlib
     itsdangerous
   ];
@@ -151,7 +151,7 @@ buildPythonPackage rec {
 
     # mock calls to `shutil.which(...)`
     (writeShellScriptBin "npm" "false")
-  ] ++ passthru.optional-dependencies.oauth ++ pydantic.optional-dependencies.email;
+  ] ++ optional-dependencies.oauth ++ pydantic.optional-dependencies.email;
 
   # Add a pytest hook skipping tests that access network, marking them as "Expected fail" (xfail).
   # We additionally xfail FileNotFoundError, since the gradio devs often fail to upload test assets to pypi.
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index ddb9195df7f8..79708b5673c0 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [ aiofiles ];
   };
 
diff --git a/pkgs/development/python-modules/hap-python/default.nix b/pkgs/development/python-modules/hap-python/default.nix
index 97b5c1f480e3..8c7ae2b3bc2c 100644
--- a/pkgs/development/python-modules/hap-python/default.nix
+++ b/pkgs/development/python-modules/hap-python/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     zeroconf
   ];
 
-  passthru.optional-dependencies.QRCode = [
+  optional-dependencies.QRCode = [
     base36
     pyqrcode
   ];
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytest-timeout
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.QRCode;
+  ] ++ optional-dependencies.QRCode;
 
   disabledTestPaths = [
     # Disable tests requiring network access
diff --git a/pkgs/development/python-modules/haystack-ai/default.nix b/pkgs/development/python-modules/haystack-ai/default.nix
index 65227f54d5ab..0d8aaa732636 100644
--- a/pkgs/development/python-modules/haystack-ai/default.nix
+++ b/pkgs/development/python-modules/haystack-ai/default.nix
@@ -138,7 +138,7 @@ buildPythonPackage rec {
 
   env.HOME = "$(mktemp -d)";
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     # all = [
     #   farm-haystack
     # ];
diff --git a/pkgs/development/python-modules/highdicom/default.nix b/pkgs/development/python-modules/highdicom/default.nix
index 25148892a0b4..646ba22abda5 100644
--- a/pkgs/development/python-modules/highdicom/default.nix
+++ b/pkgs/development/python-modules/highdicom/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     pydicom
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     libjpeg = [
       pylibjpeg
       pylibjpeg-libjpeg
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     ];
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.libjpeg;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.libjpeg;
   preCheck = ''
     export HOME=$TMP/test-home
     mkdir -p $HOME/.pydicom/
diff --git a/pkgs/development/python-modules/hikari-lightbulb/default.nix b/pkgs/development/python-modules/hikari-lightbulb/default.nix
index 9fb3952ce0a7..a87c5fb7c2d4 100644
--- a/pkgs/development/python-modules/hikari-lightbulb/default.nix
+++ b/pkgs/development/python-modules/hikari-lightbulb/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ hikari ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     crontrigger = [ croniter ];
   };
 
diff --git a/pkgs/development/python-modules/hikari/default.nix b/pkgs/development/python-modules/hikari/default.nix
index dbc853b926aa..709b9cde7f49 100644
--- a/pkgs/development/python-modules/hikari/default.nix
+++ b/pkgs/development/python-modules/hikari/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
 
   pythonRelaxDeps = true;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     server = [ pynacl ];
   };
 
diff --git a/pkgs/development/python-modules/hishel/default.nix b/pkgs/development/python-modules/hishel/default.nix
index e86b6382a83f..200719f880dd 100644
--- a/pkgs/development/python-modules/hishel/default.nix
+++ b/pkgs/development/python-modules/hishel/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
 
   dependencies = [ httpx ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     redis = [ redis ];
     s3 = [ boto3 ];
     sqlite = [ anysqlite ];
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytestCheckHook
     trio
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "hishel" ];
 
diff --git a/pkgs/development/python-modules/htmldate/default.nix b/pkgs/development/python-modules/htmldate/default.nix
index 3f504f7729b6..adfeb0b7949e 100644
--- a/pkgs/development/python-modules/htmldate/default.nix
+++ b/pkgs/development/python-modules/htmldate/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     speed =
       [
         faust-cchardet
diff --git a/pkgs/development/python-modules/httpbin/default.nix b/pkgs/development/python-modules/httpbin/default.nix
index 4b670b4c17bd..ef9fe211f55c 100644
--- a/pkgs/development/python-modules/httpbin/default.nix
+++ b/pkgs/development/python-modules/httpbin/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     werkzeug
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     mainapp = [
       gunicorn
       gevent
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index b1d64e6526be..979fe3b3ef51 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     h11
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     asyncio = [ anyio ];
     http2 = [ h2 ];
     socks = [ socksio ];
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     pytest-httpbin
     pytest-trio
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "httpcore" ];
 
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index 64049235003a..97d65fafa3f2 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     python-socks
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     asyncio = [ async-timeout ];
     trio = [ trio ];
   };
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index eb91fa3fce1e..0a32af68bab9 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -56,7 +56,7 @@ buildPythonPackage rec {
     sniffio
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     http2 = [ h2 ];
     socks = [ socksio ];
     brotli = if isPyPy then [ brotlicffi ] else [ brotli ];
@@ -78,7 +78,7 @@ buildPythonPackage rec {
     pytest-trio
     trustme
     uvicorn
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # testsuite wants to find installed packages for testing entrypoint
   preCheck = ''
diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix
index abaabb11f1bb..7631a36d3785 100644
--- a/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/pkgs/development/python-modules/ibis-framework/default.nix
@@ -125,7 +125,7 @@ buildPythonPackage rec {
     pytest-snapshot
     pytest-timeout
     pytest-xdist
-  ] ++ lib.concatMap (name: passthru.optional-dependencies.${name}) testBackends;
+  ] ++ lib.concatMap (name: optional-dependencies.${name}) testBackends;
 
   pytestFlagsArray = [
     "--dist=loadgroup"
@@ -167,54 +167,52 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "ibis" ] ++ map (backend: "ibis.backends.${backend}") testBackends;
 
-  passthru = {
-    optional-dependencies = {
-      bigquery = [
-        db-dtypes
-        google-cloud-bigquery
-        google-cloud-bigquery-storage
-        pydata-google-auth
-      ];
-      clickhouse = [ clickhouse-connect ];
-      dask = [
-        dask
-        regex
-        packaging
-      ];
-      datafusion = [ datafusion ];
-      druid = [ pydruid ];
-      duckdb = [ duckdb ];
-      flink = [ ];
-      geospatial = [
-        geopandas
-        shapely
-      ];
-      mssql = [ pyodbc ];
-      mysql = [ pymysql ];
-      oracle = [
-        oracledb
-        packaging
-      ];
-      pandas = [
-        regex
-        packaging
-      ];
-      polars = [
-        polars
-        packaging
-      ];
-      postgres = [ psycopg2 ];
-      pyspark = [
-        pyspark
-        packaging
-      ];
-      snowflake = [ snowflake-connector-python ];
-      sqlite = [ regex ];
-      trino = [ trino-python-client ];
-      visualization = [ graphviz ];
-      decompiler = [ black ];
-      examples = [ pins ] ++ pins.optional-dependencies.gcs;
-    };
+  optional-dependencies = {
+    bigquery = [
+      db-dtypes
+      google-cloud-bigquery
+      google-cloud-bigquery-storage
+      pydata-google-auth
+    ];
+    clickhouse = [ clickhouse-connect ];
+    dask = [
+      dask
+      regex
+      packaging
+    ];
+    datafusion = [ datafusion ];
+    druid = [ pydruid ];
+    duckdb = [ duckdb ];
+    flink = [ ];
+    geospatial = [
+      geopandas
+      shapely
+    ];
+    mssql = [ pyodbc ];
+    mysql = [ pymysql ];
+    oracle = [
+      oracledb
+      packaging
+    ];
+    pandas = [
+      regex
+      packaging
+    ];
+    polars = [
+      polars
+      packaging
+    ];
+    postgres = [ psycopg2 ];
+    pyspark = [
+      pyspark
+      packaging
+    ];
+    snowflake = [ snowflake-connector-python ];
+    sqlite = [ regex ];
+    trino = [ trino-python-client ];
+    visualization = [ graphviz ];
+    decompiler = [ black ];
+    examples = [ pins ] ++ pins.optional-dependencies.gcs;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/igraph/default.nix b/pkgs/development/python-modules/igraph/default.nix
index 3f13cf77b729..48983a575805 100644
--- a/pkgs/development/python-modules/igraph/default.nix
+++ b/pkgs/development/python-modules/igraph/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   dependencies = [ texttable ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cairo = [ cairocffi ];
     matplotlib = [ matplotlib ];
     plotly = [ plotly ];
@@ -58,7 +58,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [
     "testAuthorityScore"
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
index e3bdcc2a059e..f3ba05708749 100644
--- a/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     threadpoolctl
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     optional = [
       keras
       pandas
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index 0bf65299a561..9360f6d78010 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [
       aiocsv
       aiohttp
diff --git a/pkgs/development/python-modules/intake/default.nix b/pkgs/development/python-modules/intake/default.nix
index ba078d1f90c3..7ee914aca70f 100644
--- a/pkgs/development/python-modules/intake/default.nix
+++ b/pkgs/development/python-modules/intake/default.nix
@@ -59,9 +59,9 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     intake-parquet
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     server = [
       msgpack
       python-snappy
diff --git a/pkgs/development/python-modules/iopath/default.nix b/pkgs/development/python-modules/iopath/default.nix
index 53159f5a8457..66ea7ae87f2e 100644
--- a/pkgs/development/python-modules/iopath/default.nix
+++ b/pkgs/development/python-modules/iopath/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "iopath" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aws = [ boto3 ];
   };
 
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index ee1d27671b5d..995f436a8242 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ markupsafe ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     i18n = [ babel ];
   };
 
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   # See https://github.com/pallets/jinja/issues/1158
   doCheck = !stdenv.hostPlatform.is32bit;
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.i18n;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.i18n;
 
   disabledTests = lib.optionals (pythonAtLeast "3.13") [
     # https://github.com/pallets/jinja/issues/1900
diff --git a/pkgs/development/python-modules/jira/default.nix b/pkgs/development/python-modules/jira/default.nix
index 2e2ff91c8b0a..dae3210280e3 100644
--- a/pkgs/development/python-modules/jira/default.nix
+++ b/pkgs/development/python-modules/jira/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [
       ipython
       keyring
diff --git a/pkgs/development/python-modules/jsonargparse/default.nix b/pkgs/development/python-modules/jsonargparse/default.nix
index 4ee82d9af57b..762e7f892b0a 100644
--- a/pkgs/development/python-modules/jsonargparse/default.nix
+++ b/pkgs/development/python-modules/jsonargparse/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   dependencies = [ pyyaml ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       argcomplete
       fsspec
diff --git a/pkgs/development/python-modules/jsonschema/default.nix b/pkgs/development/python-modules/jsonschema/default.nix
index b0db522f61e9..cc0adcaffc16 100644
--- a/pkgs/development/python-modules/jsonschema/default.nix
+++ b/pkgs/development/python-modules/jsonschema/default.nix
@@ -61,7 +61,7 @@ buildPythonPackage rec {
       pkgutil-resolve-name
     ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     format = [
       fqdn
       idna
diff --git a/pkgs/development/python-modules/jupyter-events/default.nix b/pkgs/development/python-modules/jupyter-events/default.nix
index 66de5a91ff5f..6a5431fd1abf 100644
--- a/pkgs/development/python-modules/jupyter-events/default.nix
+++ b/pkgs/development/python-modules/jupyter-events/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     traitlets
   ] ++ jsonschema.optional-dependencies.format-nongpl;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [
       click
       rich
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytest-console-scripts
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export PATH="$out/bin:$PATH"
diff --git a/pkgs/development/python-modules/kafka-python-ng/default.nix b/pkgs/development/python-modules/kafka-python-ng/default.nix
index 4e3997d5ed1f..79d253cacc8e 100644
--- a/pkgs/development/python-modules/kafka-python-ng/default.nix
+++ b/pkgs/development/python-modules/kafka-python-ng/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools-scm ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     crc32c =  [ crc32c ];
     lz4 = [ lz4 ];
     snappy = [ python-snappy ];
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     pytest-mock
     pytestCheckHook
     xxhash
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   meta = {
     changelog = "https://github.com/wbarnha/kafka-python-ng/releases/tag/v${version}";
diff --git a/pkgs/development/python-modules/layoutparser/default.nix b/pkgs/development/python-modules/layoutparser/default.nix
index 3b6b8165aea2..6e3e795de0ab 100644
--- a/pkgs/development/python-modules/layoutparser/default.nix
+++ b/pkgs/development/python-modules/layoutparser/default.nix
@@ -96,7 +96,7 @@ buildPythonPackage {
     "tests_deps/test_only_paddledetection.py" # requires paddlepaddle not yet packaged
   ];
 
-  passthru.optional-dependencies = optional-dependencies;
+  optional-dependencies = optional-dependencies;
 
   meta = with lib; {
     description = "Unified toolkit for Deep Learning Based Document Image Analysis";
diff --git a/pkgs/development/python-modules/librosa/default.nix b/pkgs/development/python-modules/librosa/default.nix
index fa0c17487d33..2c9e2447e33c 100644
--- a/pkgs/development/python-modules/librosa/default.nix
+++ b/pkgs/development/python-modules/librosa/default.nix
@@ -78,7 +78,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies.matplotlib = [ matplotlib ];
+  optional-dependencies.matplotlib = [ matplotlib ];
 
   # check that import works, this allows to capture errors like https://github.com/librosa/librosa/issues/1160
   pythonImportsCheck = [ "librosa" ];
@@ -90,7 +90,7 @@ buildPythonPackage rec {
     pytestCheckHook
     resampy
     samplerate
-  ] ++ passthru.optional-dependencies.matplotlib;
+  ] ++ optional-dependencies.matplotlib;
 
   preCheck = ''
     export HOME=$TMPDIR
diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix
index 5c52a7350741..231b9e5c258c 100644
--- a/pkgs/development/python-modules/lightgbm/default.nix
+++ b/pkgs/development/python-modules/lightgbm/default.nix
@@ -84,7 +84,7 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     arrow = [
       cffi
       pyarrow
diff --git a/pkgs/development/python-modules/line-profiler/default.nix b/pkgs/development/python-modules/line-profiler/default.nix
index 0873eff17d0f..dce3a93374e0 100644
--- a/pkgs/development/python-modules/line-profiler/default.nix
+++ b/pkgs/development/python-modules/line-profiler/default.nix
@@ -31,14 +31,14 @@ buildPythonPackage rec {
     scikit-build
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ipython = [ ipython ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
     ubelt
-  ] ++ passthru.optional-dependencies.ipython;
+  ] ++ optional-dependencies.ipython;
 
   dontUseCmakeConfigure = true;
 
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index decda0e7425b..8b19dd4915a0 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -65,7 +65,7 @@ buildPythonPackage rec {
     tokenizers
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     proxy = [
       apscheduler
       backoff
diff --git a/pkgs/development/python-modules/llmx/default.nix b/pkgs/development/python-modules/llmx/default.nix
index d5ddcfdaec42..aa1b526782da 100644
--- a/pkgs/development/python-modules/llmx/default.nix
+++ b/pkgs/development/python-modules/llmx/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     web = [
       fastapi
       uvicorn
diff --git a/pkgs/development/python-modules/logbook/default.nix b/pkgs/development/python-modules/logbook/default.nix
index 62a00fa1c8fa..5750985977a3 100644
--- a/pkgs/development/python-modules/logbook/default.nix
+++ b/pkgs/development/python-modules/logbook/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     execnet = [ execnet ];
     sqlalchemy = [ sqlalchemy ];
     redis = [ redis ];
@@ -52,7 +52,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index 0e6b95276c93..81cd8589605b 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -78,7 +78,7 @@ buildPythonPackage rec {
     zipstream-ng
   ] ++ autobahn.optional-dependencies.twisted ++ twisted.optional-dependencies.tls;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dilation = [ noiseprotocol ];
   };
 
@@ -91,7 +91,7 @@ buildPythonPackage rec {
       mock
       pytestCheckHook
     ]
-    ++ passthru.optional-dependencies.dilation
+    ++ optional-dependencies.dilation
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ unixtools.locale ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/mako/default.nix b/pkgs/development/python-modules/mako/default.nix
index 5e58f90b58d8..0735cf8f2c9e 100644
--- a/pkgs/development/python-modules/mako/default.nix
+++ b/pkgs/development/python-modules/mako/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ markupsafe ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     babel = [ babel ];
     lingua = [ lingua ];
   };
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     chameleon
     mock
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests =
     lib.optionals isPyPy [
diff --git a/pkgs/development/python-modules/mandown/default.nix b/pkgs/development/python-modules/mandown/default.nix
index 942643cc457c..17c8b691b4a8 100644
--- a/pkgs/development/python-modules/mandown/default.nix
+++ b/pkgs/development/python-modules/mandown/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     typer
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gui = [ pyside6 ];
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/development/python-modules/manifest-ml/default.nix b/pkgs/development/python-modules/manifest-ml/default.nix
index 7eeec2a60fee..80d80d51f934 100644
--- a/pkgs/development/python-modules/manifest-ml/default.nix
+++ b/pkgs/development/python-modules/manifest-ml/default.nix
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     xxhash
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     api = [
       accelerate
       # deepspeed
@@ -84,7 +84,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME=$TMPDIR
diff --git a/pkgs/development/python-modules/markdown-it-py/default.nix b/pkgs/development/python-modules/markdown-it-py/default.nix
index f50f6e8e308c..3f0af08d192a 100644
--- a/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-regressions
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.linkify;
+  ] ++ optional-dependencies.linkify;
 
   # disable and remove benchmark tests
   preCheck = ''
@@ -60,7 +60,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "markdown_it" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     compare = [
       commonmark
       markdown
diff --git a/pkgs/development/python-modules/markdown2/default.nix b/pkgs/development/python-modules/markdown2/default.nix
index 77f5fe0fc656..25412d4c0009 100644
--- a/pkgs/development/python-modules/markdown2/default.nix
+++ b/pkgs/development/python-modules/markdown2/default.nix
@@ -35,12 +35,10 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     code_syntax_highlighting = [ pygments ];
     wavedrom = [ wavedrom ];
-    all = lib.flatten (
-      lib.attrValues (lib.filterAttrs (n: v: n != "all") passthru.optional-dependencies)
-    );
+    all = lib.flatten (lib.attrValues (lib.filterAttrs (n: v: n != "all") optional-dependencies));
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mashumaro/default.nix b/pkgs/development/python-modules/mashumaro/default.nix
index 153eb0298fce..0cab2ca8dd70 100644
--- a/pkgs/development/python-modules/mashumaro/default.nix
+++ b/pkgs/development/python-modules/mashumaro/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ typing-extensions ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     orjson = [ orjson ];
     msgpack = [ msgpack ];
     yaml = [ pyyaml ];
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     pendulum
     pytest-mock
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "mashumaro" ];
 
diff --git a/pkgs/development/python-modules/mastodon-py/default.nix b/pkgs/development/python-modules/mastodon-py/default.nix
index b8b93bc84eaa..e8c80177cbf5 100644
--- a/pkgs/development/python-modules/mastodon-py/default.nix
+++ b/pkgs/development/python-modules/mastodon-py/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     six
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     blurhash = [ blurhash ];
     webpush = [
       http-ece
@@ -58,7 +58,7 @@ buildPythonPackage rec {
     pytest-vcr
     requests-mock
     setuptools
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = [
     "test_notifications_dismiss_pre_2_9_2"
diff --git a/pkgs/development/python-modules/matplotx/default.nix b/pkgs/development/python-modules/matplotx/default.nix
index 8baa52efcf4d..17bf869e874a 100644
--- a/pkgs/development/python-modules/matplotx/default.nix
+++ b/pkgs/development/python-modules/matplotx/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     numpy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       networkx
       pypng
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   # Not sure of the details, but we can avoid it by changing the matplotlib backend during testing.
   env.MPLBACKEND = lib.optionalString stdenv.hostPlatform.isDarwin "Agg";
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.all;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.all;
 
   disabledTestPaths = [
     "tests/test_spy.py" # Requires meshzoo (non-free) and pytest-codeblocks (not packaged)
diff --git a/pkgs/development/python-modules/mayim/default.nix b/pkgs/development/python-modules/mayim/default.nix
index 49d4a23c80e1..44630b5121e4 100644
--- a/pkgs/development/python-modules/mayim/default.nix
+++ b/pkgs/development/python-modules/mayim/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     wheel
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     postgres = [ psycopg ] ++ psycopg.optional-dependencies.pool;
     mysql = [ asyncmy ];
     sqlite = [ aiosqlite ];
@@ -45,7 +45,7 @@ buildPythonPackage rec {
       pytest-asyncio
       pytest-cov-stub
     ]
-    ++ (with passthru.optional-dependencies; [
+    ++ (with optional-dependencies; [
       postgres
       mysql
       sqlite
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index eb83f1c17165..66b054d86b0c 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -75,7 +75,7 @@ buildPythonPackage rec {
     webencodings
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     tunnel = [ pytap2 ];
   };
 
@@ -84,7 +84,7 @@ buildPythonPackage rec {
     hypothesis
     pytestCheckHook
     riden
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export PATH="$PATH:$out/bin";
diff --git a/pkgs/development/python-modules/mip/default.nix b/pkgs/development/python-modules/mip/default.nix
index 63f2eeb59d72..a2c6e80e3f16 100644
--- a/pkgs/development/python-modules/mip/default.nix
+++ b/pkgs/development/python-modules/mip/default.nix
@@ -79,7 +79,7 @@ buildPythonPackage rec {
   # Tests that rely on Gurobi are activated only when Gurobi support is enabled
   disabledTests = lib.optional (!gurobiSupport) "gurobi";
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     inherit gurobipy numpy;
   };
 
diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix
index 45b009ad9293..5c263b0c5e2c 100644
--- a/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -61,7 +61,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     recommended = [
       mkdocs-minify-plugin
       mkdocs-redirects
diff --git a/pkgs/development/python-modules/mkdocs/default.nix b/pkgs/development/python-modules/mkdocs/default.nix
index 654991775885..da196135439b 100644
--- a/pkgs/development/python-modules/mkdocs/default.nix
+++ b/pkgs/development/python-modules/mkdocs/default.nix
@@ -66,14 +66,14 @@ buildPythonPackage rec {
     watchdog
   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     i18n = [ babel ] ++ lib.optionals (pythonAtLeast "3.12") [ setuptools ];
   };
 
   nativeCheckInputs = [
     unittestCheckHook
     mock
-  ] ++ passthru.optional-dependencies.i18n;
+  ] ++ optional-dependencies.i18n;
 
   unittestFlagsArray = [
     "-v"
diff --git a/pkgs/development/python-modules/mne-python/default.nix b/pkgs/development/python-modules/mne-python/default.nix
index 460d128f5a9e..8b4b66ce4fca 100644
--- a/pkgs/development/python-modules/mne-python/default.nix
+++ b/pkgs/development/python-modules/mne-python/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     lazy-loader
   ];
 
-  passthru.optional-dependencies.hdf5 = [
+  optional-dependencies.hdf5 = [
     h5io
     pymatreader
   ];
@@ -65,7 +65,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-timeout
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index 1df4cc1eef21..eef43dc79fd8 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pook = [ pook ];
     speedups = [ xxhash ];
   };
@@ -72,7 +72,7 @@ buildPythonPackage rec {
       sure
     ]
     ++ lib.optionals (pythonOlder "3.12") [ aiohttp ]
-    ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+    ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = lib.optionalString stdenv.hostPlatform.isLinux ''
     ${redis-server}/bin/redis-server &
diff --git a/pkgs/development/python-modules/moderngl-window/default.nix b/pkgs/development/python-modules/moderngl-window/default.nix
index 5539d053a065..073c99026b9a 100644
--- a/pkgs/development/python-modules/moderngl-window/default.nix
+++ b/pkgs/development/python-modules/moderngl-window/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     pyrr
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     trimesh = [
       trimesh
       scipy
diff --git a/pkgs/development/python-modules/molecule/plugins.nix b/pkgs/development/python-modules/molecule/plugins.nix
index b87c3b121b54..3d98ecd03980 100644
--- a/pkgs/development/python-modules/molecule/plugins.nix
+++ b/pkgs/development/python-modules/molecule/plugins.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     docker = [ docker ];
     vagrant = [ python-vagrant ];
   };
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
index 1c9e917b60ab..74fadd5d2e49 100644
--- a/pkgs/development/python-modules/moviepy/default.nix
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     optionals = [
       matplotlib
       scikit-image
@@ -62,7 +62,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "moviepy" ];
 
diff --git a/pkgs/development/python-modules/mpd2/default.nix b/pkgs/development/python-modules/mpd2/default.nix
index 3f8b44f5dcf7..7ca19c597c16 100644
--- a/pkgs/development/python-modules/mpd2/default.nix
+++ b/pkgs/development/python-modules/mpd2/default.nix
@@ -22,11 +22,11 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     twisted = [ twisted ];
   };
 
-  nativeCheckInputs = [ unittestCheckHook ] ++ passthru.optional-dependencies.twisted;
+  nativeCheckInputs = [ unittestCheckHook ] ++ optional-dependencies.twisted;
 
   meta = with lib; {
     changelog = "https://github.com/Mic92/python-mpd2/blob/v${version}/doc/changes.rst";
diff --git a/pkgs/development/python-modules/mpmath/default.nix b/pkgs/development/python-modules/mpmath/default.nix
index 6f0f289e853b..308b57376dce 100644
--- a/pkgs/development/python-modules/mpmath/default.nix
+++ b/pkgs/development/python-modules/mpmath/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gmpy = lib.optionals (!isPyPy) [ gmpy2 ];
   };
 
diff --git a/pkgs/development/python-modules/mrjob/default.nix b/pkgs/development/python-modules/mrjob/default.nix
index 669fee8887fb..35af2272ff58 100644
--- a/pkgs/development/python-modules/mrjob/default.nix
+++ b/pkgs/development/python-modules/mrjob/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pyyaml ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aws = [
       boto3
       botocore
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     pyspark
     unittestCheckHook
     warcio
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   unittestFlagsArray = [ "-v" ];
 
diff --git a/pkgs/development/python-modules/nats-py/default.nix b/pkgs/development/python-modules/nats-py/default.nix
index 4a28fc2c57bd..ffd604f6daec 100644
--- a/pkgs/development/python-modules/nats-py/default.nix
+++ b/pkgs/development/python-modules/nats-py/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   dependencies = [ ed25519 ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [ aiohttp ];
     nkeys = [ nkeys ];
     # fast_parse = [
diff --git a/pkgs/development/python-modules/ndindex/default.nix b/pkgs/development/python-modules/ndindex/default.nix
index 5bd31f3042a1..dc03557da251 100644
--- a/pkgs/development/python-modules/ndindex/default.nix
+++ b/pkgs/development/python-modules/ndindex/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
       --replace "--flakes" ""
   '';
 
-  passthru.optional-dependencies.arrays = [ numpy ];
+  optional-dependencies.arrays = [ numpy ];
 
   pythonImportsCheck = [ "ndindex" ];
 
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     hypothesis
     pytest-cov-stub
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.arrays;
+  ] ++ optional-dependencies.arrays;
 
   meta = with lib; {
     description = "";
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index a9ff53af77ff..4e36e2dc37ec 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     tomlkit
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     numpy = [ numpy ];
     pandas = [
       numpy
diff --git a/pkgs/development/python-modules/netutils/default.nix b/pkgs/development/python-modules/netutils/default.nix
index 04ab642d75d6..f1c1a4f383a0 100644
--- a/pkgs/development/python-modules/netutils/default.nix
+++ b/pkgs/development/python-modules/netutils/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   dependencies = [ jsonschema ];
 
-  passthru.optional-dependencies.optionals = [
+  optional-dependencies.optionals = [
     jsonschema
     napalm
   ];
diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix
index eb3051d8e14b..46ba43afb139 100644
--- a/pkgs/development/python-modules/networkx/default.nix
+++ b/pkgs/development/python-modules/networkx/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     default = [
       numpy
       scipy
diff --git a/pkgs/development/python-modules/nibabel/default.nix b/pkgs/development/python-modules/nibabel/default.nix
index 1fb80ed06f34..c0a51cd1dd39 100644
--- a/pkgs/development/python-modules/nibabel/default.nix
+++ b/pkgs/development/python-modules/nibabel/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     packaging
   ] ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
 
-  passthru.optional-dependencies = rec {
+  optional-dependencies = rec {
     all = dicom ++ dicomfs ++ minc2 ++ spm ++ zstd;
     dicom = [ pydicom ];
     dicomfs = [ pillow ] ++ dicom;
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     pytest-httpserver
     pytest-xdist
     pytest7CheckHook
-  ] ++ passthru.optional-dependencies.all;
+  ] ++ optional-dependencies.all;
 
   preCheck = ''
     export PATH=$out/bin:$PATH
diff --git a/pkgs/development/python-modules/nibe/default.nix b/pkgs/development/python-modules/nibe/default.nix
index c08da4abe517..cba7bfe4b69a 100644
--- a/pkgs/development/python-modules/nibe/default.nix
+++ b/pkgs/development/python-modules/nibe/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     tenacity
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     convert = [
       pandas
       python-slugify
diff --git a/pkgs/development/python-modules/norfair/default.nix b/pkgs/development/python-modules/norfair/default.nix
index c3c50cd13334..24376e28863f 100644
--- a/pkgs/development/python-modules/norfair/default.nix
+++ b/pkgs/development/python-modules/norfair/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     scipy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     metrics = [ motmetrics ];
     video = [ opencv4 ];
   };
diff --git a/pkgs/development/python-modules/nose2/default.nix b/pkgs/development/python-modules/nose2/default.nix
index b2a65a5648ef..cbf66277951b 100644
--- a/pkgs/development/python-modules/nose2/default.nix
+++ b/pkgs/development/python-modules/nose2/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     coverage = [ coverage ];
   };
 
@@ -38,7 +38,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     unittestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   meta = with lib; {
     changelog = "https://github.com/nose-devs/nose2/blob/${version}/docs/changelog.rst";
diff --git a/pkgs/development/python-modules/numcodecs/default.nix b/pkgs/development/python-modules/numcodecs/default.nix
index 23f49c77ad43..7f04ae4bf414 100644
--- a/pkgs/development/python-modules/numcodecs/default.nix
+++ b/pkgs/development/python-modules/numcodecs/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ numpy ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     msgpack = [ msgpack ];
     # zfpy = [ zfpy ];
   };
diff --git a/pkgs/development/python-modules/oauthenticator/default.nix b/pkgs/development/python-modules/oauthenticator/default.nix
index e87edd391028..c971467d17a1 100644
--- a/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/pkgs/development/python-modules/oauthenticator/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     traitlets
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     googlegroups = [
       google-api-python-client
       google-auth-oauthlib
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     pytest-cov-stub
     pytestCheckHook
     requests-mock
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = [
     # Tests are outdated, https://github.com/jupyterhub/oauthenticator/issues/432
diff --git a/pkgs/development/python-modules/oauthlib/default.nix b/pkgs/development/python-modules/oauthlib/default.nix
index 84fc4a2627b8..fbbc8a6a1ad9 100644
--- a/pkgs/development/python-modules/oauthlib/default.nix
+++ b/pkgs/development/python-modules/oauthlib/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     rsa = [ cryptography ];
     signedtoken = [
       cryptography
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [
     # https://github.com/oauthlib/oauthlib/issues/877
diff --git a/pkgs/development/python-modules/objgraph/default.nix b/pkgs/development/python-modules/objgraph/default.nix
index 231c14e4ceff..bdd104518852 100644
--- a/pkgs/development/python-modules/objgraph/default.nix
+++ b/pkgs/development/python-modules/objgraph/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ipython = [ graphviz ];
   };
 
diff --git a/pkgs/development/python-modules/ome-zarr/default.nix b/pkgs/development/python-modules/ome-zarr/default.nix
index 297d35fb0deb..ae082ec7d857 100644
--- a/pkgs/development/python-modules/ome-zarr/default.nix
+++ b/pkgs/development/python-modules/ome-zarr/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     requests
     scikit-image
     toolz
-  ] ++ fsspec.passthru.optional-dependencies.s3;
+  ] ++ fsspec.optional-dependencies.s3;
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index e879bec83842..c75fb5f416c9 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     typing-extensions
   ] ++ lib.optionals (pythonOlder "3.8") [ cached-property ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     datalib = [
       numpy
       pandas
diff --git a/pkgs/development/python-modules/openant/default.nix b/pkgs/development/python-modules/openant/default.nix
index a4a54e9a879d..34ccb51cd7d0 100644
--- a/pkgs/development/python-modules/openant/default.nix
+++ b/pkgs/development/python-modules/openant/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pyusb ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     serial = [ pyserial ];
     influx = [ influxdb-client ];
   };
diff --git a/pkgs/development/python-modules/opencontainers/default.nix b/pkgs/development/python-modules/opencontainers/default.nix
index b5672a5590f2..c3dbd0e1bfde 100644
--- a/pkgs/development/python-modules/opencontainers/default.nix
+++ b/pkgs/development/python-modules/opencontainers/default.nix
@@ -20,11 +20,11 @@ buildPythonPackage rec {
     sed -i "/pytest-runner/d" setup.py
   '';
 
-  passthru.optional-dependencies.reggie = [ requests ];
+  optional-dependencies.reggie = [ requests ];
 
   pythonImportsCheck = [ "opencontainers" ];
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.reggie;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.reggie;
 
   __darwinAllowLocalNetworking = true;
 
diff --git a/pkgs/development/python-modules/opensearch-py/default.nix b/pkgs/development/python-modules/opensearch-py/default.nix
index c20daff074c8..0914a8ca6701 100644
--- a/pkgs/development/python-modules/opensearch-py/default.nix
+++ b/pkgs/development/python-modules/opensearch-py/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     events
   ];
 
-  passthru.optional-dependencies.async = [ aiohttp ];
+  optional-dependencies.async = [ aiohttp ];
 
   nativeCheckInputs = [
     botocore
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pyyaml
     pytz
-  ] ++ passthru.optional-dependencies.async;
+  ] ++ optional-dependencies.async;
 
   disabledTestPaths = [
     # require network
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
index 5a85e42a04d3..a8b14f1cfd2c 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
@@ -33,14 +33,14 @@ buildPythonPackage rec {
     opentelemetry-util-http
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     asgi = [ opentelemetry-instrumentation-asgi ];
   };
 
   nativeCheckInputs = [
     opentelemetry-test-utils
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.asgi;
+  ] ++ optional-dependencies.asgi;
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.django" ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
index 26bde1eaae5e..9716dbc767c2 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage {
     wrapt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     instruments = [ grpcio ];
   };
 
diff --git a/pkgs/development/python-modules/optuna/default.nix b/pkgs/development/python-modules/optuna/default.nix
index dfdca6fe6d94..9109242d7f27 100644
--- a/pkgs/development/python-modules/optuna/default.nix
+++ b/pkgs/development/python-modules/optuna/default.nix
@@ -71,7 +71,7 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     integration = [
       botorch
       catboost
@@ -115,7 +115,7 @@ buildPythonPackage rec {
     pytest-xdist
     pytestCheckHook
     scipy
-  ] ++ fakeredis.optional-dependencies.lua ++ passthru.optional-dependencies.optional;
+  ] ++ fakeredis.optional-dependencies.lua ++ optional-dependencies.optional;
 
   pytestFlagsArray = [ "-m 'not integration'" ];
 
diff --git a/pkgs/development/python-modules/ormar/default.nix b/pkgs/development/python-modules/ormar/default.nix
index a2ef75c52bb1..bb65573eee64 100644
--- a/pkgs/development/python-modules/ormar/default.nix
+++ b/pkgs/development/python-modules/ormar/default.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
       importlib-metadata
     ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     postgresql = [ asyncpg ];
     postgres = [ asyncpg ];
     aiopg = [ aiopg ];
@@ -89,7 +89,7 @@ buildPythonPackage rec {
     httpx
     nest-asyncio
     pytest-asyncio
-  ] ++ passthru.optional-dependencies.all;
+  ] ++ optional-dependencies.all;
 
   disabledTestPaths = [ "benchmarks/test_benchmark_*.py" ];
 
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 83103314bd83..abf91dc56aae 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -108,7 +108,7 @@ let
       tzdata
     ];
 
-    passthru.optional-dependencies =
+    optional-dependencies =
       let
         extras = {
           aws = [ s3fs ];
@@ -183,7 +183,7 @@ let
         pytest-xdist
         pytestCheckHook
       ]
-      ++ lib.flatten (lib.attrValues passthru.optional-dependencies)
+      ++ lib.flatten (lib.attrValues optional-dependencies)
       ++ lib.optionals (stdenv.hostPlatform.isLinux) [
         # for locale executable
         glibc
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
index 3c310b72b28b..bf81409491ce 100644
--- a/pkgs/development/python-modules/papermill/default.nix
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     ansicolors
   ] ++ lib.optionals (pythonAtLeast "3.12") [ aiohttp ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     azure = [
       azure-datalake-store
       azure-identity
@@ -69,16 +69,12 @@ buildPythonPackage rec {
     s3 = [ boto3 ];
   };
 
-  nativeCheckInputs =
-    [
-      ipykernel
-      moto
-      pytest-mock
-      pytestCheckHook
-    ]
-    ++ passthru.optional-dependencies.azure
-    ++ passthru.optional-dependencies.s3
-    ++ passthru.optional-dependencies.gcs;
+  nativeCheckInputs = [
+    ipykernel
+    moto
+    pytest-mock
+    pytestCheckHook
+  ] ++ optional-dependencies.azure ++ optional-dependencies.s3 ++ optional-dependencies.gcs;
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index 248dc1f51318..8903d65550e7 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -44,9 +44,9 @@ buildPythonPackage rec {
     cryptography
     pyasn1
     six
-  ] ++ passthru.optional-dependencies.ed25519; # remove on 3.0 update
+  ] ++ optional-dependencies.ed25519; # remove on 3.0 update
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gssapi = [
       pyasn1
       gssapi
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     icecream
     mock
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTestPaths = [
     # disable tests that require pytest-relaxed, which is broken
diff --git a/pkgs/development/python-modules/partd/default.nix b/pkgs/development/python-modules/partd/default.nix
index 0dd614644d2d..ac75974739b2 100644
--- a/pkgs/development/python-modules/partd/default.nix
+++ b/pkgs/development/python-modules/partd/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     toolz
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     complete = [
       blosc2
       numpy
diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix
index 29d1b111e921..ee1eaa064505 100644
--- a/pkgs/development/python-modules/passlib/default.nix
+++ b/pkgs/development/python-modules/passlib/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     hash = "sha256-3v1Q9ytlxUAqssVzgwppeOXyAq0NmEeTyN3ixBUuvgQ";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     argon2 = [ argon2-cffi ];
     bcrypt = [ bcrypt ];
     totp = [ cryptography ];
@@ -35,14 +35,10 @@ buildPythonPackage rec {
       "version = getattr(getattr(_bcrypt, '__about__', _bcrypt), '__version__', '<unknown>')"
   '';
 
-  nativeCheckInputs =
-    [
-      pytestCheckHook
-      pytest-xdist
-    ]
-    ++ passthru.optional-dependencies.argon2
-    ++ passthru.optional-dependencies.bcrypt
-    ++ passthru.optional-dependencies.totp;
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-xdist
+  ] ++ optional-dependencies.argon2 ++ optional-dependencies.bcrypt ++ optional-dependencies.totp;
 
   pythonImportsCheck = [ "passlib" ];
 
diff --git a/pkgs/development/python-modules/pettingzoo/default.nix b/pkgs/development/python-modules/pettingzoo/default.nix
index 9bb487e85630..e2e562f0d0f1 100644
--- a/pkgs/development/python-modules/pettingzoo/default.nix
+++ b/pkgs/development/python-modules/pettingzoo/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     numpy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       chess
       # multi-agent-ale-py
diff --git a/pkgs/development/python-modules/photutils/default.nix b/pkgs/development/python-modules/photutils/default.nix
index 68c5148f7eb4..9f736b9ca2e1 100644
--- a/pkgs/development/python-modules/photutils/default.nix
+++ b/pkgs/development/python-modules/photutils/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     numpy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       bottleneck
       gwcs
diff --git a/pkgs/development/python-modules/pins/default.nix b/pkgs/development/python-modules/pins/default.nix
index 30f9c503c34b..34d224669b3c 100644
--- a/pkgs/development/python-modules/pins/default.nix
+++ b/pkgs/development/python-modules/pins/default.nix
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     xxhash
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aws = [ s3fs ];
     azure = [ adlfs ];
     gcs = [ gcsfs ];
@@ -71,7 +71,7 @@ buildPythonPackage rec {
     pytest-cases
     pytest-parallel
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "pins" ];
 
diff --git a/pkgs/development/python-modules/pipdeptree/default.nix b/pkgs/development/python-modules/pipdeptree/default.nix
index 2ba2d47cae9e..5b7e66f6916c 100644
--- a/pkgs/development/python-modules/pipdeptree/default.nix
+++ b/pkgs/development/python-modules/pipdeptree/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     packaging
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     graphviz = [ graphviz ];
   };
 
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     pytest-mock
     pytestCheckHook
     virtualenv
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "pipdeptree" ];
 
diff --git a/pkgs/development/python-modules/playwrightcapture/default.nix b/pkgs/development/python-modules/playwrightcapture/default.nix
index 8717bfa11759..e35e94376e31 100644
--- a/pkgs/development/python-modules/playwrightcapture/default.nix
+++ b/pkgs/development/python-modules/playwrightcapture/default.nix
@@ -61,7 +61,7 @@ buildPythonPackage rec {
     w3lib
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     recaptcha = [
       speechrecognition
       pydub
diff --git a/pkgs/development/python-modules/podman/default.nix b/pkgs/development/python-modules/podman/default.nix
index 11f3a62535b4..14525a16d8d8 100644
--- a/pkgs/development/python-modules/podman/default.nix
+++ b/pkgs/development/python-modules/podman/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     urllib3
   ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     progress_bar = [ rich ];
   };
 
diff --git a/pkgs/development/python-modules/prance/default.nix b/pkgs/development/python-modules/prance/default.nix
index 0017582e25cc..131928baba25 100644
--- a/pkgs/development/python-modules/prance/default.nix
+++ b/pkgs/development/python-modules/prance/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     six
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [ click ];
     flex = [ flex ];
     icu = [ pyicu ];
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-cov-stub
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   # Disable tests that require network
   disabledTestPaths = [ "tests/test_convert.py" ];
diff --git a/pkgs/development/python-modules/prometheus-async/default.nix b/pkgs/development/python-modules/prometheus-async/default.nix
index 95d2277697d6..22627f161fa2 100644
--- a/pkgs/development/python-modules/prometheus-async/default.nix
+++ b/pkgs/development/python-modules/prometheus-async/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     wrapt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [
       aiohttp
     ];
diff --git a/pkgs/development/python-modules/prophet/default.nix b/pkgs/development/python-modules/prophet/default.nix
index 8f33fc7aa808..4ccfdb7fc726 100644
--- a/pkgs/development/python-modules/prophet/default.nix
+++ b/pkgs/development/python-modules/prophet/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     importlib-resources
   ];
 
-  passthru.optional-dependencies.parallel = [
+  optional-dependencies.parallel = [
     dask
     distributed
   ] ++ dask.optional-dependencies.dataframe;
diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix
index aaaf362eab3a..bc55c2d697bc 100644
--- a/pkgs/development/python-modules/psycopg/default.nix
+++ b/pkgs/development/python-modules/psycopg/default.nix
@@ -161,7 +161,7 @@ buildPythonPackage rec {
     "psycopg_pool"
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     c = [ psycopg-c ];
     pool = [ psycopg-pool ];
   };
@@ -175,8 +175,8 @@ buildPythonPackage rec {
       postgresql
     ]
     ++ lib.optional (stdenv.hostPlatform.isLinux) postgresqlTestHook
-    ++ passthru.optional-dependencies.c
-    ++ passthru.optional-dependencies.pool;
+    ++ optional-dependencies.c
+    ++ optional-dependencies.pool;
 
   env = {
     postgresqlEnableTCP = 1;
diff --git a/pkgs/development/python-modules/pure-python-adb/default.nix b/pkgs/development/python-modules/pure-python-adb/default.nix
index 39ca6addf008..9b861f821a4a 100644
--- a/pkgs/development/python-modules/pure-python-adb/default.nix
+++ b/pkgs/development/python-modules/pure-python-adb/default.nix
@@ -19,13 +19,13 @@ buildPythonPackage rec {
     sha256 = "0kdr7w2fhgjpcf1k3l6an9im583iqkr6v8hb4q1zw30nh3bqkk0f";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [ aiofiles ];
   };
 
   doCheck = pythonOlder "3.10"; # all tests result in RuntimeError on 3.10
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.async;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.async;
 
   pythonImportsCheck = [ "ppadb.client" ] ++ lib.optionals doCheck [ "ppadb.client_async" ];
 
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index efbd9d96f429..77d33a7d9b79 100644
--- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
 
   build-system = [ hatchling ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     json = [ ujson ];
     PIL = [ pillow ];
     redis = [ redis ];
@@ -50,7 +50,7 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
     requests
-  ] ++ passthru.optional-dependencies.watchdog ++ passthru.optional-dependencies.aiohttp;
+  ] ++ optional-dependencies.watchdog ++ optional-dependencies.aiohttp;
 
   pythonImportsCheck = [ "telebot" ];
 
diff --git a/pkgs/development/python-modules/pycyphal/default.nix b/pkgs/development/python-modules/pycyphal/default.nix
index 698a9e20595a..5dc9dec21247 100644
--- a/pkgs/development/python-modules/pycyphal/default.nix
+++ b/pkgs/development/python-modules/pycyphal/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     nunavut
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     transport-can-pythoncan = [ python-can ] ++ python-can.optional-dependencies.serial;
     transport-serial = [
       cobs
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-asyncio
-  ] ++ builtins.foldl' (x: y: x ++ y) [ ] (builtins.attrValues passthru.optional-dependencies);
+  ] ++ builtins.foldl' (x: y: x ++ y) [ ] (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME=$TMPDIR
diff --git a/pkgs/development/python-modules/pydantic/1.nix b/pkgs/development/python-modules/pydantic/1.nix
index 2b268d2bf543..cfd0df8c7603 100644
--- a/pkgs/development/python-modules/pydantic/1.nix
+++ b/pkgs/development/python-modules/pydantic/1.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ typing-extensions ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dotenv = [ python-dotenv ];
     email = [ email-validator ];
   };
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-mock
     pytest7CheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pytestFlagsArray = [
     # https://github.com/pydantic/pydantic/issues/4817
diff --git a/pkgs/development/python-modules/pydeck/default.nix b/pkgs/development/python-modules/pydeck/default.nix
index e0c77c5a2ce1..51cb247a5179 100644
--- a/pkgs/development/python-modules/pydeck/default.nix
+++ b/pkgs/development/python-modules/pydeck/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     numpy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     carto = [
       # pydeck-carto
     ];
@@ -61,7 +61,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pandas
-  ] ++ passthru.optional-dependencies.jupyter;
+  ] ++ optional-dependencies.jupyter;
 
   # tries to start a jupyter server
   disabledTests = [ "test_nbconvert" ];
diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix
index 8e53cf086501..47abe284a867 100644
--- a/pkgs/development/python-modules/pydocstyle/default.nix
+++ b/pkgs/development/python-modules/pydocstyle/default.nix
@@ -42,9 +42,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ snowballstemmer ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies.toml = [ tomli ];
+  optional-dependencies.toml = [ tomli ];
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.toml;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.toml;
 
   disabledTestPaths = [
     "src/tests/test_integration.py" # runs pip install
diff --git a/pkgs/development/python-modules/pydrive2/default.nix b/pkgs/development/python-modules/pydrive2/default.nix
index f96380877ecc..a360b48083ea 100644
--- a/pkgs/development/python-modules/pydrive2/default.nix
+++ b/pkgs/development/python-modules/pydrive2/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     fsspec = [
       appdirs
       fsspec
diff --git a/pkgs/development/python-modules/pydruid/default.nix b/pkgs/development/python-modules/pydruid/default.nix
index 69ba702507b0..37838c6fed9d 100644
--- a/pkgs/development/python-modules/pydruid/default.nix
+++ b/pkgs/development/python-modules/pydruid/default.nix
@@ -41,17 +41,15 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pycurl
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "pydruid" ];
 
-  passthru = {
-    optional-dependencies = {
-      pandas = [ pandas ];
-      async = [ tornado ];
-      sqlalchemy = [ sqlalchemy ];
-      # druid has a `cli` extra, but it doesn't work with nixpkgs pygments
-    };
+  optional-dependencies = {
+    pandas = [ pandas ];
+    async = [ tornado ];
+    sqlalchemy = [ sqlalchemy ];
+    # druid has a `cli` extra, but it doesn't work with nixpkgs pygments
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pyftpdlib/default.nix b/pkgs/development/python-modules/pyftpdlib/default.nix
index efe1c179777b..24ec863842f2 100644
--- a/pkgs/development/python-modules/pyftpdlib/default.nix
+++ b/pkgs/development/python-modules/pyftpdlib/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   dependencies = [ pysendfile ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ssl = [ pyopenssl ];
   };
 
diff --git a/pkgs/development/python-modules/pygal/default.nix b/pkgs/development/python-modules/pygal/default.nix
index c16eae5e8e51..7f7c72eb518d 100644
--- a/pkgs/development/python-modules/pygal/default.nix
+++ b/pkgs/development/python-modules/pygal/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     lxml = [ lxml ];
     png = [ cairosvg ];
   };
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pyquery
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.png;
+  ] ++ optional-dependencies.png;
 
   preCheck = ''
     # necessary on darwin to pass the testsuite
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 8128de3769b9..48791db6a275 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     typeguard
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ws = [ websockets ];
   };
 
diff --git a/pkgs/development/python-modules/pykoplenti/default.nix b/pkgs/development/python-modules/pykoplenti/default.nix
index a4f605692c5f..cbca76c7467d 100644
--- a/pkgs/development/python-modules/pykoplenti/default.nix
+++ b/pkgs/development/python-modules/pykoplenti/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     pydantic
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     CLI = [
       click
       prompt-toolkit
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index cac67ca5051a..5cf7838dea18 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pylint-plugin-utils ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     with_django = [ django ];
   };
 
diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix
index 2bd1368ffb02..94bae7f24eb5 100644
--- a/pkgs/development/python-modules/pylutron-caseta/default.nix
+++ b/pkgs/development/python-modules/pylutron-caseta/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ cryptography ] ++ lib.optionals (pythonOlder "3.11") [ async-timeout ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [
       click
       xdg
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index 005a65b63169..303d7680e8d3 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -69,7 +69,7 @@ buildPythonPackage rec {
     uncertainties
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ase = [ ase ];
     joblib = [ joblib ];
     seekpath = [ seekpath ];
@@ -78,7 +78,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-xdist
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     # ensure tests can find these
diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix
index 38411beca94b..bb0fb022d2ef 100644
--- a/pkgs/development/python-modules/pymodbus/default.nix
+++ b/pkgs/development/python-modules/pymodbus/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   build-system = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     repl = [
       aiohttp
       typer
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     redis
     sqlalchemy
     twisted
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     pushd test
diff --git a/pkgs/development/python-modules/pymysensors/default.nix b/pkgs/development/python-modules/pymysensors/default.nix
index df42f2a4cc37..9178399610b3 100644
--- a/pkgs/development/python-modules/pymysensors/default.nix
+++ b/pkgs/development/python-modules/pymysensors/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     voluptuous
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     mqtt-client = [ paho-mqtt ];
   };
 
diff --git a/pkgs/development/python-modules/pypsrp/default.nix b/pkgs/development/python-modules/pypsrp/default.nix
index faddf2906f5f..286b8a2ad902 100644
--- a/pkgs/development/python-modules/pypsrp/default.nix
+++ b/pkgs/development/python-modules/pypsrp/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     xmldiff
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     credssp = [ requests-credssp ];
     kerberos = pyspnego.optional-dependencies.kerberos;
     named_pipe = [ psutil ];
diff --git a/pkgs/development/python-modules/pyreqwest-impersonate/default.nix b/pkgs/development/python-modules/pyreqwest-impersonate/default.nix
index 8d9406666fe7..33e5958430d1 100644
--- a/pkgs/development/python-modules/pyreqwest-impersonate/default.nix
+++ b/pkgs/development/python-modules/pyreqwest-impersonate/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
 
   env.BORING_BSSL_PATH = boringssl-wrapper;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dev = [ pytest ];
   };
 
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 51ed8f0cc31f..621f70399296 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -66,7 +66,7 @@ buildPythonPackage rec {
     xmlschema
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     s2repoze = [
       paste
       repoze-who
diff --git a/pkgs/development/python-modules/pyscaffold/default.nix b/pkgs/development/python-modules/pyscaffold/default.nix
index 7b3bc447ef48..6e738b07d3dc 100644
--- a/pkgs/development/python-modules/pyscaffold/default.nix
+++ b/pkgs/development/python-modules/pyscaffold/default.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     tomlkit
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       pre-commit
       pyscaffoldext-cookiecutter
diff --git a/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix b/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix
index bcc4ed68bfdd..a34bf93334e9 100644
--- a/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-cookiecutter/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     pyscaffold
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       configupdater
       pre-commit
diff --git a/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix b/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix
index f487b25c9eea..ee4bc3aa728b 100644
--- a/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-custom-extension/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     pyscaffold
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       configupdater
       pre-commit
diff --git a/pkgs/development/python-modules/pyscaffoldext-django/default.nix b/pkgs/development/python-modules/pyscaffoldext-django/default.nix
index c85e01e09925..e0e9ca4cf69f 100644
--- a/pkgs/development/python-modules/pyscaffoldext-django/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-django/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     pyscaffold
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       configupdater
       pre-commit
diff --git a/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix b/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix
index 5f2cd21069fe..9763ba8ace95 100644
--- a/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-dsproject/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     pyscaffoldext-markdown
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       configupdater
       pre-commit
diff --git a/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix b/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix
index 82b25bac417c..4d6157ed4d99 100644
--- a/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-markdown/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     wheel
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       configupdater
       pre-commit
diff --git a/pkgs/development/python-modules/pyscaffoldext-travis/default.nix b/pkgs/development/python-modules/pyscaffoldext-travis/default.nix
index 46d27e7480b4..6c08f6c23adc 100644
--- a/pkgs/development/python-modules/pyscaffoldext-travis/default.nix
+++ b/pkgs/development/python-modules/pyscaffoldext-travis/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     pyscaffold
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       configupdater
       pre-commit
diff --git a/pkgs/development/python-modules/pyspark/default.nix b/pkgs/development/python-modules/pyspark/default.nix
index 7ffcf52bea8a..93078d91dad9 100644
--- a/pkgs/development/python-modules/pyspark/default.nix
+++ b/pkgs/development/python-modules/pyspark/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ py4j ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ml = [ numpy ];
     mllib = [ numpy ];
     sql = [
diff --git a/pkgs/development/python-modules/pyspnego/default.nix b/pkgs/development/python-modules/pyspnego/default.nix
index 992318ff0667..401ccbe27097 100644
--- a/pkgs/development/python-modules/pyspnego/default.nix
+++ b/pkgs/development/python-modules/pyspnego/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ cryptography ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     kerberos = [
       gssapi
       krb5
diff --git a/pkgs/development/python-modules/pytablewriter/default.nix b/pkgs/development/python-modules/pytablewriter/default.nix
index 1b074f1b8584..d7996053a7b4 100644
--- a/pkgs/development/python-modules/pytablewriter/default.nix
+++ b/pkgs/development/python-modules/pytablewriter/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     typepy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       dominate
       elasticsearch
@@ -84,7 +84,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "pathvalidate" ];
 
diff --git a/pkgs/development/python-modules/pytest-benchmark/default.nix b/pkgs/development/python-modules/pytest-benchmark/default.nix
index 70dc1d0f7fb1..585092787483 100644
--- a/pkgs/development/python-modules/pytest-benchmark/default.nix
+++ b/pkgs/development/python-modules/pytest-benchmark/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ py-cpuinfo ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aspect = [ aspectlib ];
     histogram = [ pygal ];
     elasticsearch = [ elasticsearch ];
@@ -70,7 +70,7 @@ buildPythonPackage rec {
     mercurial
     pytestCheckHook
     pytest-xdist
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pytestFlagsArray = [
     "-W"
diff --git a/pkgs/development/python-modules/pytest-jupyter/default.nix b/pkgs/development/python-modules/pytest-jupyter/default.nix
index 36e45343a308..560f17f02592 100644
--- a/pkgs/development/python-modules/pytest-jupyter/default.nix
+++ b/pkgs/development/python-modules/pytest-jupyter/default.nix
@@ -40,7 +40,7 @@ let
 
     propagatedBuildInputs = [ jupyter-core ];
 
-    passthru.optional-dependencies = {
+    optional-dependencies = {
       client = [
         jupyter-client
         nbformat
@@ -59,7 +59,7 @@ let
     nativeCheckInputs = [
       pytest-timeout
       pytestCheckHook
-    ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+    ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
     passthru.tests = {
       check = self.overridePythonAttrs (_: {
diff --git a/pkgs/development/python-modules/pytest-regressions/default.nix b/pkgs/development/python-modules/pytest-regressions/default.nix
index 5e47e2e1c6d5..bb1584aa162e 100644
--- a/pkgs/development/python-modules/pytest-regressions/default.nix
+++ b/pkgs/development/python-modules/pytest-regressions/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     "pytest_regressions.plugin"
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dataframe = [
       pandas
       numpy
diff --git a/pkgs/development/python-modules/pytest/7.nix b/pkgs/development/python-modules/pytest/7.nix
index 8ca33b158e5c..b00e988d2e97 100644
--- a/pkgs/development/python-modules/pytest/7.nix
+++ b/pkgs/development/python-modules/pytest/7.nix
@@ -60,7 +60,7 @@ let
         tomli
       ];
 
-    passthru.optional-dependencies = {
+    optional-dependencies = {
       testing = [
         argcomplete
         attrs
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index fc5ca9c2a37b..4d1b33f2cbe3 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -58,7 +58,7 @@ buildPythonPackage rec {
       tomli
     ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       argcomplete
       attrs
diff --git a/pkgs/development/python-modules/python-barcode/default.nix b/pkgs/development/python-modules/python-barcode/default.nix
index 214e074ffd7a..432a910b95c6 100644
--- a/pkgs/development/python-modules/python-barcode/default.nix
+++ b/pkgs/development/python-modules/python-barcode/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ setuptools-scm ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     images = [ pillow ];
   };
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
       --replace "--no-cov-on-fail" ""
   '';
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.images;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.images;
 
   pythonImportsCheck = [ "barcode" ];
 
diff --git a/pkgs/development/python-modules/python-benedict/default.nix b/pkgs/development/python-modules/python-benedict/default.nix
index 055a993ca013..3bdb639be493 100644
--- a/pkgs/development/python-modules/python-benedict/default.nix
+++ b/pkgs/development/python-modules/python-benedict/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       beautifulsoup4
       boto3
@@ -95,7 +95,7 @@ buildPythonPackage rec {
     orjson
     pytestCheckHook
     python-decouple
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = [
     # Tests require network access
diff --git a/pkgs/development/python-modules/python-box/default.nix b/pkgs/development/python-modules/python-box/default.nix
index 97885c27a952..2ab21191104c 100644
--- a/pkgs/development/python-modules/python-box/default.nix
+++ b/pkgs/development/python-modules/python-box/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       msgpack
       ruamel-yaml
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     msgpack = [ msgpack ];
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.all;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.all;
 
   pythonImportsCheck = [ "box" ];
 
diff --git a/pkgs/development/python-modules/python-can/default.nix b/pkgs/development/python-modules/python-can/default.nix
index 8224de600ae8..019fd93c4a00 100644
--- a/pkgs/development/python-modules/python-can/default.nix
+++ b/pkgs/development/python-modules/python-can/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     wrapt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     serial = [ pyserial ];
     seeedstudio = [ pyserial ];
     pcan = [ uptime ];
@@ -58,7 +58,7 @@ buildPythonPackage rec {
     parameterized
     pytest-timeout
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.serial;
+  ] ++ optional-dependencies.serial;
 
   disabledTestPaths = [
     # We don't support all interfaces
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index 6a534a249f1f..28bf7840a30b 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   dependencies = [ simple-websocket ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     client = [
       requests
       websocket-client
diff --git a/pkgs/development/python-modules/python-jose/default.nix b/pkgs/development/python-modules/python-jose/default.nix
index 449fec2d7d07..037b352ccc7e 100644
--- a/pkgs/development/python-modules/python-jose/default.nix
+++ b/pkgs/development/python-modules/python-jose/default.nix
@@ -59,7 +59,7 @@ buildPythonPackage rec {
     rsa
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cryptography = [ cryptography ];
     pycrypto = [ pycrypto ];
     pycryptodome = [ pycryptodome ];
@@ -69,7 +69,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [
     # https://github.com/mpdavis/python-jose/issues/348
diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix
index b5d389bced40..dcb2a96f671a 100644
--- a/pkgs/development/python-modules/python-kasa/default.nix
+++ b/pkgs/development/python-modules/python-kasa/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     voluptuous
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     shell = [
       ptpython
       rich
diff --git a/pkgs/development/python-modules/python-libnmap/default.nix b/pkgs/development/python-modules/python-libnmap/default.nix
index 3e3937051aaf..464716040693 100644
--- a/pkgs/development/python-modules/python-libnmap/default.nix
+++ b/pkgs/development/python-modules/python-libnmap/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     hash = "sha256-cI8wdOvTmRy2cxLBkJn7vXRBRvewDMNl/tkIiRGhZJ8=";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     defusedxml = [ defusedxml ];
   };
 
diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix
index c82331304a0f..3fa1de5b4e21 100644
--- a/pkgs/development/python-modules/python-openstackclient/default.nix
+++ b/pkgs/development/python-modules/python-openstackclient/default.nix
@@ -72,25 +72,26 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "openstackclient" ];
 
+  optional-dependencies = {
+    # See https://github.com/openstack/python-openstackclient/blob/master/doc/source/contributor/plugins.rst
+    cli-plugins = [
+      osc-placement
+      python-aodhclient
+      python-barbicanclient
+      python-designateclient
+      python-heatclient
+      python-ironicclient
+      python-magnumclient
+      python-manilaclient
+      python-mistralclient
+      python-neutronclient
+      python-watcherclient
+      python-zaqarclient
+      python-zunclient
+    ];
+  };
+
   passthru = {
-    optional-dependencies = {
-      # See https://github.com/openstack/python-openstackclient/blob/master/doc/source/contributor/plugins.rst
-      cli-plugins = [
-        osc-placement
-        python-aodhclient
-        python-barbicanclient
-        python-designateclient
-        python-heatclient
-        python-ironicclient
-        python-magnumclient
-        python-manilaclient
-        python-mistralclient
-        python-neutronclient
-        python-watcherclient
-        python-zaqarclient
-        python-zunclient
-      ];
-    };
     tests.version = testers.testVersion {
       package = python-openstackclient;
       command = "openstack --version";
diff --git a/pkgs/development/python-modules/python-slugify/default.nix b/pkgs/development/python-modules/python-slugify/default.nix
index c640a7287325..142e5883cf8a 100644
--- a/pkgs/development/python-modules/python-slugify/default.nix
+++ b/pkgs/development/python-modules/python-slugify/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ text-unidecode ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     unidecode = [ unidecode ];
   };
 
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index 9ecfd72e38de..c59201a466cd 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     python-engineio
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     client = [
       requests
       websocket-client
@@ -58,7 +58,7 @@ buildPythonPackage rec {
     pytestCheckHook
     uvicorn
     simple-websocket
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "socketio" ];
 
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index 2a2b5d714dee..15647160b525 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     SOAP = [ zeep ];
   };
 
diff --git a/pkgs/development/python-modules/python-u2flib-server/default.nix b/pkgs/development/python-modules/python-u2flib-server/default.nix
index e1b44777dfee..fa93cb83fce8 100644
--- a/pkgs/development/python-modules/python-u2flib-server/default.nix
+++ b/pkgs/development/python-modules/python-u2flib-server/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     six
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     u2f_server = [ webob ];
   };
 
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     "u2flib_server.u2f"
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.u2f_server;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.u2f_server;
 
   meta = with lib; {
     description = "Python based U2F server library";
diff --git a/pkgs/development/python-modules/pythonfinder/default.nix b/pkgs/development/python-modules/pythonfinder/default.nix
index 1261da097fe0..3af465ba2de1 100644
--- a/pkgs/development/python-modules/pythonfinder/default.nix
+++ b/pkgs/development/python-modules/pythonfinder/default.nix
@@ -34,14 +34,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ packaging ] ++ lib.optionals (pythonOlder "3.8") [ cached-property ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [ click ];
   };
 
   nativeCheckInputs = [
     pytest-timeout
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "pythonfinder" ];
 
diff --git a/pkgs/development/python-modules/pytoolconfig/default.nix b/pkgs/development/python-modules/pytoolconfig/default.nix
index bec278f08e6f..563d1e4d2ecd 100644
--- a/pkgs/development/python-modules/pytoolconfig/default.nix
+++ b/pkgs/development/python-modules/pytoolconfig/default.nix
@@ -46,11 +46,11 @@ buildPythonPackage rec {
     sphinx-autodoc-typehints
     sphinx-rtd-theme
     sphinxHook
-  ] ++ passthru.optional-dependencies.doc;
+  ] ++ optional-dependencies.doc;
 
   propagatedBuildInputs = [ packaging ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     validation = [ pydantic ];
     global = [ platformdirs ];
     doc = [
@@ -63,7 +63,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   meta = with lib; {
     description = "Python tool configuration";
diff --git a/pkgs/development/python-modules/pytradfri/default.nix b/pkgs/development/python-modules/pytradfri/default.nix
index 9e710823127a..8227ac484641 100644
--- a/pkgs/development/python-modules/pytradfri/default.nix
+++ b/pkgs/development/python-modules/pytradfri/default.nix
@@ -25,14 +25,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pydantic ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [
       aiocoap
       dtlssocket
     ];
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.async;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.async;
 
   pythonImportsCheck = [ "pytradfri" ];
 
diff --git a/pkgs/development/python-modules/pyutil/default.nix b/pkgs/development/python-modules/pyutil/default.nix
index a98538cc43ea..6c079b11712f 100644
--- a/pkgs/development/python-modules/pyutil/default.nix
+++ b/pkgs/development/python-modules/pyutil/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     versioneer
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     jsonutil = [ simplejson ];
     # Module not available
     # randcookie = [
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     mock
     twisted
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "pyutil" ];
 
diff --git a/pkgs/development/python-modules/pyvisa-py/default.nix b/pkgs/development/python-modules/pyvisa-py/default.nix
index 4a2b39a87ab2..aec66ed08f4a 100644
--- a/pkgs/development/python-modules/pyvisa-py/default.nix
+++ b/pkgs/development/python-modules/pyvisa-py/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gpib-ctypes = [ gpib-ctypes ];
     serial = [ pyserial ];
     usb = [ pyusb ];
diff --git a/pkgs/development/python-modules/pyvmomi/default.nix b/pkgs/development/python-modules/pyvmomi/default.nix
index 16260ed5de0a..80a8f5832a10 100644
--- a/pkgs/development/python-modules/pyvmomi/default.nix
+++ b/pkgs/development/python-modules/pyvmomi/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     six
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     sso = [
       lxml
       pyopenssl
diff --git a/pkgs/development/python-modules/pywavefront/default.nix b/pkgs/development/python-modules/pywavefront/default.nix
index 534b5647c046..676f2aaab661 100644
--- a/pkgs/development/python-modules/pywavefront/default.nix
+++ b/pkgs/development/python-modules/pywavefront/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies.visualization = [ pyglet ];
+  optional-dependencies.visualization = [ pyglet ];
 
   nativeCheckInputs = [
     pytestCheckHook
diff --git a/pkgs/development/python-modules/qdrant-client/default.nix b/pkgs/development/python-modules/qdrant-client/default.nix
index d54ac47473a5..e9af53b3036b 100644
--- a/pkgs/development/python-modules/qdrant-client/default.nix
+++ b/pkgs/development/python-modules/qdrant-client/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
   # Tests require network access
   doCheck = false;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     fastembed = [ fastembed ];
   };
 
diff --git a/pkgs/development/python-modules/qpsolvers/default.nix b/pkgs/development/python-modules/qpsolvers/default.nix
index 468099e7b59e..8298dab5e623 100644
--- a/pkgs/development/python-modules/qpsolvers/default.nix
+++ b/pkgs/development/python-modules/qpsolvers/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     scipy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     # FIXME commented out solvers have not been packaged yet
     clarabel = [ clarabel ];
     cvxopt = [ cvxopt ];
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     quadprog = [ quadprog ];
     scs = [ scs ];
     open_source_solvers =
-      with passthru.optional-dependencies;
+      with optional-dependencies;
       lib.flatten [
         clarabel
         cvxopt
@@ -68,7 +68,7 @@ buildPythonPackage rec {
       ];
   };
 
-  nativeCheckInputs = [ unittestCheckHook ] ++ passthru.optional-dependencies.open_source_solvers;
+  nativeCheckInputs = [ unittestCheckHook ] ++ optional-dependencies.open_source_solvers;
 
   meta = with lib; {
     changelog = "https://github.com/qpsolvers/qpsolvers/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/development/python-modules/qrcode/default.nix b/pkgs/development/python-modules/qrcode/default.nix
index 2c7df77b33a1..e14d4ab416fc 100644
--- a/pkgs/development/python-modules/qrcode/default.nix
+++ b/pkgs/development/python-modules/qrcode/default.nix
@@ -32,12 +32,12 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies.pil = [ pillow ];
+  optional-dependencies.pil = [ pillow ];
 
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.pil;
+  ] ++ optional-dependencies.pil;
 
   passthru.tests = {
     version = testers.testVersion {
diff --git a/pkgs/development/python-modules/qutip/default.nix b/pkgs/development/python-modules/qutip/default.nix
index 8cc5ccba6c30..12b6c1b9e9d9 100644
--- a/pkgs/development/python-modules/qutip/default.nix
+++ b/pkgs/development/python-modules/qutip/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pytest-rerunfailures
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   # QuTiP tries to access the home directory to create an rc file for us.
   # We need to go to another directory to run the tests from there.
@@ -68,7 +68,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "qutip" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     graphics = [ matplotlib ];
     ipython = [ ipython ];
     semidefinite = [
diff --git a/pkgs/development/python-modules/radon/default.nix b/pkgs/development/python-modules/radon/default.nix
index 5d494b4c2996..007368986c82 100644
--- a/pkgs/development/python-modules/radon/default.nix
+++ b/pkgs/development/python-modules/radon/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     colorama
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     toml = [ tomli ];
   };
 
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 64246e6835ee..36bf7fdfc6af 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -60,7 +60,7 @@ buildPythonPackage rec {
       export CMAKE_ARGS="-DCMAKE_CXX_COMPILER_AR=$AR -DCMAKE_CXX_COMPILER_RANLIB=$RANLIB"
     '';
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     full = [ numpy ];
   };
 
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 3365f12c1bc3..40033924bfda 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -73,7 +73,7 @@ buildPythonPackage rec {
     snuggs
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ipython = [ ipython ];
     plot = [ matplotlib ];
     s3 = [ boto3 ];
diff --git a/pkgs/development/python-modules/raven/default.nix b/pkgs/development/python-modules/raven/default.nix
index 88727591db83..ac4f03faaa78 100644
--- a/pkgs/development/python-modules/raven/default.nix
+++ b/pkgs/development/python-modules/raven/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "raven" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     flask = [
       blinker
       flask
diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix
index 17bf74863a74..f6a5ded15e74 100644
--- a/pkgs/development/python-modules/rdflib/default.nix
+++ b/pkgs/development/python-modules/rdflib/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     pyparsing
   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     html = [ html5lib ];
     networkx = [ networkx ];
   };
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     # Failed: DID NOT WARN. No warnings of type (<class 'UserWarning'>,) were emitted.
     pytest7CheckHook
     setuptools
-  ] ++ passthru.optional-dependencies.networkx ++ passthru.optional-dependencies.html;
+  ] ++ optional-dependencies.networkx ++ optional-dependencies.html;
 
   pytestFlagsArray = [
     # requires network access
diff --git a/pkgs/development/python-modules/reconplogger/default.nix b/pkgs/development/python-modules/reconplogger/default.nix
index 6b1800c7052b..0881bc5c3c05 100644
--- a/pkgs/development/python-modules/reconplogger/default.nix
+++ b/pkgs/development/python-modules/reconplogger/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       flask
       requests
diff --git a/pkgs/development/python-modules/redis/default.nix b/pkgs/development/python-modules/redis/default.nix
index a55e5b293bb4..8cee5fa57311 100644
--- a/pkgs/development/python-modules/redis/default.nix
+++ b/pkgs/development/python-modules/redis/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     typing-extensions
   ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     hiredis = [ hiredis ];
     ocsp = [
       cryptography
diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix
index 458633c1a36a..1a45c719e061 100644
--- a/pkgs/development/python-modules/relatorio/default.nix
+++ b/pkgs/development/python-modules/relatorio/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     lxml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     chart = [
       # pycha
       pyyaml
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     fodt = [ python-magic ];
   };
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.fodt;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.fodt;
 
   pythonImportsCheck = [ "relatorio" ];
 
diff --git a/pkgs/development/python-modules/reportlab-qrcode/default.nix b/pkgs/development/python-modules/reportlab-qrcode/default.nix
index b540fd219caf..67d69ef8cf0f 100644
--- a/pkgs/development/python-modules/reportlab-qrcode/default.nix
+++ b/pkgs/development/python-modules/reportlab-qrcode/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     reportlab
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     testing = [
       pillow
       pytest
diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix
index 09a1c303c520..aad655cc13e7 100644
--- a/pkgs/development/python-modules/reptor/default.nix
+++ b/pkgs/development/python-modules/reptor/default.nix
@@ -69,14 +69,14 @@ buildPythonPackage rec {
     xmltodict
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ghostwriter = [ gql ] ++ gql.optional-dependencies.aiohttp;
     translate = [ deepl ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix
index 3df15dd5ca4e..aa8b918ca8c1 100644
--- a/pkgs/development/python-modules/requests-cache/default.nix
+++ b/pkgs/development/python-modules/requests-cache/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     url-normalize
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dynamodb = [
       boto3
       botocore
@@ -79,7 +79,7 @@ buildPythonPackage rec {
     tenacity
     time-machine
     timeout-decorator
-  ] ++ passthru.optional-dependencies.json ++ passthru.optional-dependencies.security;
+  ] ++ optional-dependencies.json ++ optional-dependencies.security;
 
   preCheck = ''
     export HOME=$(mktemp -d);
diff --git a/pkgs/development/python-modules/requests-credssp/default.nix b/pkgs/development/python-modules/requests-credssp/default.nix
index f6be7b9908f2..428b4ac18777 100644
--- a/pkgs/development/python-modules/requests-credssp/default.nix
+++ b/pkgs/development/python-modules/requests-credssp/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     kerberos = pyspnego.optional-dependencies.kerberos;
   };
 
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index e32427b7b1e4..c9c29a1287be 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     pygments
   ] ++ lib.optionals (pythonOlder "3.9") [ typing-extensions ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     jupyter = [ ipywidgets ];
   };
 
diff --git a/pkgs/development/python-modules/ripe-atlas-sagan/default.nix b/pkgs/development/python-modules/ripe-atlas-sagan/default.nix
index c6d36a7b8849..014f651e18c3 100644
--- a/pkgs/development/python-modules/ripe-atlas-sagan/default.nix
+++ b/pkgs/development/python-modules/ripe-atlas-sagan/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     pytz
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     fast = [ ujson ];
   };
 
diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix
index d245c6b0b964..3ac85beed894 100644
--- a/pkgs/development/python-modules/s3transfer/default.nix
+++ b/pkgs/development/python-modules/s3transfer/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "s3transfer" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     crt = [ botocore.optional-dependencies.crt ];
   };
 
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index 23906dc2d9a3..7dfe98f36a55 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -97,7 +97,7 @@ buildPythonPackage rec {
     "sagemaker.lineage.visualizer"
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     local = [
       urllib3
       docker
diff --git a/pkgs/development/python-modules/samsungctl/default.nix b/pkgs/development/python-modules/samsungctl/default.nix
index c139a1d1a4c6..43ed26ace4e2 100644
--- a/pkgs/development/python-modules/samsungctl/default.nix
+++ b/pkgs/development/python-modules/samsungctl/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "0ipz3fd65rqkxlb02sql0awc3vnslrwb2pfrsnpfnf8bfgxpbh9g";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     websocket = [ websocket-client ];
     # interactive_ui requires curses package
   };
diff --git a/pkgs/development/python-modules/samsungtvws/default.nix b/pkgs/development/python-modules/samsungtvws/default.nix
index 7111961f9224..3a99d9c89165 100644
--- a/pkgs/development/python-modules/samsungtvws/default.nix
+++ b/pkgs/development/python-modules/samsungtvws/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     websocket-client
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [
       aiohttp
       websockets
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     aioresponses
     pytest-asyncio
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.async ++ passthru.optional-dependencies.encrypted;
+  ] ++ optional-dependencies.async ++ optional-dependencies.encrypted;
 
   pythonImportsCheck = [ "samsungtvws" ];
 
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 6979926cd7c9..05cdff616166 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     websockets
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ext = [
       # TODO: sanic-ext
     ];
@@ -69,7 +69,7 @@ buildPythonPackage rec {
     pytestCheckHook
     sanic-testing
     uvicorn
-  ] ++ passthru.optional-dependencies.http3;
+  ] ++ optional-dependencies.http3;
 
   inherit doCheck;
 
diff --git a/pkgs/development/python-modules/schema-salad/default.nix b/pkgs/development/python-modules/schema-salad/default.nix
index 6e3b6e3d5ed6..e90abc94768c 100644
--- a/pkgs/development/python-modules/schema-salad/default.nix
+++ b/pkgs/development/python-modules/schema-salad/default.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     hash = "sha256-fke75FCCn23LAMJ5bDWJpuBR6E9XIpjmzzXSbjqpxn8=";
   } ) ];
 
-  nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.pycodegen;
+  nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.pycodegen;
 
   preCheck = ''
     rm tox.ini
@@ -80,7 +80,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "schema_salad" ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pycodegen = [ black ];
   };
 
diff --git a/pkgs/development/python-modules/scikit-image/default.nix b/pkgs/development/python-modules/scikit-image/default.nix
index 3c0743354787..6eb9bc428949 100644
--- a/pkgs/development/python-modules/scikit-image/default.nix
+++ b/pkgs/development/python-modules/scikit-image/default.nix
@@ -77,7 +77,7 @@ let
       tifffile
     ];
 
-    passthru.optional-dependencies = {
+    optional-dependencies = {
       data = [ pooch ];
       optional = [
         astropy
diff --git a/pkgs/development/python-modules/scim2-filter-parser/default.nix b/pkgs/development/python-modules/scim2-filter-parser/default.nix
index 4ea0d1a6c7d5..2ddf98697185 100644
--- a/pkgs/development/python-modules/scim2-filter-parser/default.nix
+++ b/pkgs/development/python-modules/scim2-filter-parser/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ sly ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     django-query = [ django ];
   };
 
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.django-query;
+  ] ++ optional-dependencies.django-query;
 
   meta = with lib; {
     description = "Customizable parser/transpiler for SCIM2.0 filters";
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index 16e9d1b98078..74987d59dcc4 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     pandas
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     stats = [
       scipy
       statsmodels
diff --git a/pkgs/development/python-modules/seabreeze/default.nix b/pkgs/development/python-modules/seabreeze/default.nix
index 7bb81e8006eb..8ea5a67932fe 100644
--- a/pkgs/development/python-modules/seabreeze/default.nix
+++ b/pkgs/development/python-modules/seabreeze/default.nix
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     libusb-compat-0_1
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     pyseabreeze = [ pyusb ];
   };
 
@@ -77,7 +77,7 @@ buildPythonPackage rec {
     pytestCheckHook
     mock
     zipp
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [ "TestHardware" ];
 
diff --git a/pkgs/development/python-modules/seasonal/default.nix b/pkgs/development/python-modules/seasonal/default.nix
index f6aa8d2e3646..cef289ff5c8e 100644
--- a/pkgs/development/python-modules/seasonal/default.nix
+++ b/pkgs/development/python-modules/seasonal/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     scipy
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     csv = [ pandas ];
     plot = [ matplotlib ];
   };
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   ];
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   meta = with lib; {
     description = "Robustly estimate trend and periodicity in a timeseries";
diff --git a/pkgs/development/python-modules/securesystemslib/default.nix b/pkgs/development/python-modules/securesystemslib/default.nix
index 21cff0dc498e..62fb78f35653 100644
--- a/pkgs/development/python-modules/securesystemslib/default.nix
+++ b/pkgs/development/python-modules/securesystemslib/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ hatchling ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     PySPX = [ pyspx ];
     awskms = [
       boto3
@@ -70,7 +70,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     ed25519
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "securesystemslib" ];
 
diff --git a/pkgs/development/python-modules/sentry-sdk/1.nix b/pkgs/development/python-modules/sentry-sdk/1.nix
index db47e03c017d..c09abf95944c 100644
--- a/pkgs/development/python-modules/sentry-sdk/1.nix
+++ b/pkgs/development/python-modules/sentry-sdk/1.nix
@@ -58,7 +58,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [ aiohttp ];
     beam = [ apache-beam ];
     bottle = [ bottle ];
diff --git a/pkgs/development/python-modules/sfrbox-api/default.nix b/pkgs/development/python-modules/sfrbox-api/default.nix
index 4764b5ff573f..d68d4485a095 100644
--- a/pkgs/development/python-modules/sfrbox-api/default.nix
+++ b/pkgs/development/python-modules/sfrbox-api/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     httpx
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [ click ];
   };
 
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytestCheckHook
     respx
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "sfrbox_api" ];
 
diff --git a/pkgs/development/python-modules/shap/default.nix b/pkgs/development/python-modules/shap/default.nix
index 25246028a514..e2b3deaa9230 100644
--- a/pkgs/development/python-modules/shap/default.nix
+++ b/pkgs/development/python-modules/shap/default.nix
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     plots = [
       matplotlib
       ipython
diff --git a/pkgs/development/python-modules/simpful/default.nix b/pkgs/development/python-modules/simpful/default.nix
index 2759c829246e..731d9299fc2c 100644
--- a/pkgs/development/python-modules/simpful/default.nix
+++ b/pkgs/development/python-modules/simpful/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     plotting = [
       matplotlib
       seaborn
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "simpful" ];
 
diff --git a/pkgs/development/python-modules/skytemple-files/default.nix b/pkgs/development/python-modules/skytemple-files/default.nix
index 240c0a65d805..57551e9e6740 100644
--- a/pkgs/development/python-modules/skytemple-files/default.nix
+++ b/pkgs/development/python-modules/skytemple-files/default.nix
@@ -72,7 +72,7 @@ buildPythonPackage rec {
     range-typed-integers
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     spritecollab = [
       aiohttp
       gql
@@ -85,7 +85,7 @@ buildPythonPackage rec {
     pytestCheckHook
     parameterized
     xmldiff
-  ] ++ passthru.optional-dependencies.spritecollab;
+  ] ++ optional-dependencies.spritecollab;
   pytestFlagsArray = [ "test/" ];
   disabledTestPaths = [
     "test/skytemple_files_test/common/spritecollab/sc_online_test.py"
diff --git a/pkgs/development/python-modules/slack-bolt/default.nix b/pkgs/development/python-modules/slack-bolt/default.nix
index 7eeb546c5d5d..ace86514b22a 100644
--- a/pkgs/development/python-modules/slack-bolt/default.nix
+++ b/pkgs/development/python-modules/slack-bolt/default.nix
@@ -63,7 +63,7 @@ buildPythonPackage rec {
 
   dependencies = [ slack-sdk ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [
       aiohttp
       websockets
@@ -94,7 +94,7 @@ buildPythonPackage rec {
     docker
     pytest-asyncio
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   preCheck = ''
     export HOME="$(mktemp -d)"
diff --git a/pkgs/development/python-modules/social-auth-core/default.nix b/pkgs/development/python-modules/social-auth-core/default.nix
index 7f9091b46f43..b2641bed1e7f 100644
--- a/pkgs/development/python-modules/social-auth-core/default.nix
+++ b/pkgs/development/python-modules/social-auth-core/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     requests-oauthlib
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     openidconnect = [ python-jose ];
     saml = [
       lxml
@@ -56,7 +56,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     httpretty
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   # Disable checking the code coverage
   prePatch = ''
diff --git a/pkgs/development/python-modules/spatialmath-python/default.nix b/pkgs/development/python-modules/spatialmath-python/default.nix
index f889c325ac2e..259383492a25 100644
--- a/pkgs/development/python-modules/spatialmath-python/default.nix
+++ b/pkgs/development/python-modules/spatialmath-python/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     dev = [
       coverage
       flake8
diff --git a/pkgs/development/python-modules/sphinxext-opengraph/default.nix b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
index 2740b83afbb4..7cfc6b174a3a 100644
--- a/pkgs/development/python-modules/sphinxext-opengraph/default.nix
+++ b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools-scm ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     social_cards_generation = [ matplotlib ];
   };
 
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     beautifulsoup4
-  ] ++ passthru.optional-dependencies.social_cards_generation;
+  ] ++ optional-dependencies.social_cards_generation;
 
   pythonImportsCheck = [ "sphinxext.opengraph" ];
 
diff --git a/pkgs/development/python-modules/splinter/default.nix b/pkgs/development/python-modules/splinter/default.nix
index c85096167742..c8ce42bc7351 100644
--- a/pkgs/development/python-modules/splinter/default.nix
+++ b/pkgs/development/python-modules/splinter/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ urllib3 ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     "zope.testbrowser" = [
       zope-testbrowser
       lxml
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   disabledTests = [
     # driver is present and fails with a different error during loading
diff --git a/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index e4865cd091af..1cf2d9418e98 100644
--- a/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ sqlalchemy ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     babel = [ babel ];
     arrow = [ arrow ];
     pendulum = [ pendulum ];
@@ -78,7 +78,7 @@ buildPythonPackage rec {
       pymysql
       pyodbc
     ]
-    ++ lib.flatten (builtins.attrValues passthru.optional-dependencies)
+    ++ lib.flatten (builtins.attrValues optional-dependencies)
     ++ lib.optionals (pythonOlder "3.12") [
       # requires distutils, which were removed in 3.12
       psycopg2cffi
diff --git a/pkgs/development/python-modules/sqlalchemy/1_4.nix b/pkgs/development/python-modules/sqlalchemy/1_4.nix
index b741a7710c56..2384a4f0c056 100644
--- a/pkgs/development/python-modules/sqlalchemy/1_4.nix
+++ b/pkgs/development/python-modules/sqlalchemy/1_4.nix
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ greenlet ];
 
-  passthru.optional-dependencies = lib.fix (self: {
+  optional-dependencies = lib.fix (self: {
     asyncio = [ greenlet ];
     mypy = [ mypy ];
     mssql = [ pyodbc ];
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 426be56eea9d..efd9f7a3af46 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -67,7 +67,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = lib.fix (self: {
+  optional-dependencies = lib.fix (self: {
     asyncio = [ greenlet ];
     mypy = [ mypy ];
     mssql = [ pyodbc ];
diff --git a/pkgs/development/python-modules/static3/default.nix b/pkgs/development/python-modules/static3/default.nix
index 050fb2119dae..13a41618feb3 100644
--- a/pkgs/development/python-modules/static3/default.nix
+++ b/pkgs/development/python-modules/static3/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
       --replace ", 'pytest-cov'" ""
   '';
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     KidMagic = [
       # TODO: kid
     ];
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     webtest
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   meta = with lib; {
     changelog = "https://github.com/rmohr/static3/releases/tag/v${version}";
diff --git a/pkgs/development/python-modules/stm32loader/default.nix b/pkgs/development/python-modules/stm32loader/default.nix
index 4fab0c1b3077..b27d221d75f4 100644
--- a/pkgs/development/python-modules/stm32loader/default.nix
+++ b/pkgs/development/python-modules/stm32loader/default.nix
@@ -44,13 +44,13 @@ buildPythonPackage rec {
     pyserial
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     hex = [ intelhex ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pytestFlagsArray = [ "tests/unit" ];
 
diff --git a/pkgs/development/python-modules/strawberry-graphql/default.nix b/pkgs/development/python-modules/strawberry-graphql/default.nix
index 1e3a816d6572..95fd2c9161b9 100644
--- a/pkgs/development/python-modules/strawberry-graphql/default.nix
+++ b/pkgs/development/python-modules/strawberry-graphql/default.nix
@@ -78,7 +78,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aiohttp = [
       aiohttp
       pytest-aiohttp
@@ -146,7 +146,7 @@ buildPythonPackage rec {
     pytest-snapshot
     pytestCheckHook
     sanic-testing
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "strawberry" ];
 
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 34cec394a104..8c4688807d26 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -54,7 +54,7 @@ buildPythonPackage rec {
     parfive
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     asdf = [
       asdf
       # asdf-astropy
@@ -91,11 +91,11 @@ buildPythonPackage rec {
       pytest-mock
       pytestCheckHook
     ]
-    ++ passthru.optional-dependencies.asdf
-    ++ passthru.optional-dependencies.database
-    ++ passthru.optional-dependencies.image
-    ++ passthru.optional-dependencies.net
-    ++ passthru.optional-dependencies.timeseries;
+    ++ optional-dependencies.asdf
+    ++ optional-dependencies.database
+    ++ optional-dependencies.image
+    ++ optional-dependencies.net
+    ++ optional-dependencies.timeseries;
 
   postPatch = ''
     substituteInPlace setup.cfg \
diff --git a/pkgs/development/python-modules/superqt/default.nix b/pkgs/development/python-modules/superqt/default.nix
index c2fbba840684..713f688a4c17 100644
--- a/pkgs/development/python-modules/superqt/default.nix
+++ b/pkgs/development/python-modules/superqt/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     quantity = [ pint ];
     pyside2 = [ pyside2 ];
     pyside6 = [ pyside6 ];
diff --git a/pkgs/development/python-modules/tablib/default.nix b/pkgs/development/python-modules/tablib/default.nix
index 443b83ce7810..bd1ed07849ed 100644
--- a/pkgs/development/python-modules/tablib/default.nix
+++ b/pkgs/development/python-modules/tablib/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools-scm ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       markuppy
       odfpy
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index c781a453397a..d0c635cc919c 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -26,13 +26,13 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     widechars = [ wcwidth ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   meta = {
     description = "Pretty-print tabular data";
diff --git a/pkgs/development/python-modules/telegraph/default.nix b/pkgs/development/python-modules/telegraph/default.nix
index 387c7034bb82..80a4d12c7b16 100644
--- a/pkgs/development/python-modules/telegraph/default.nix
+++ b/pkgs/development/python-modules/telegraph/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ requests ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     aio = [ httpx ];
   };
 
diff --git a/pkgs/development/python-modules/textual-universal-directorytree/default.nix b/pkgs/development/python-modules/textual-universal-directorytree/default.nix
index 20429de6f810..9da4e1e82ee7 100644
--- a/pkgs/development/python-modules/textual-universal-directorytree/default.nix
+++ b/pkgs/development/python-modules/textual-universal-directorytree/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     universal-pathlib
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     remote = [
       adlfs
       aiohttp
diff --git a/pkgs/development/python-modules/tree-sitter-html/default.nix b/pkgs/development/python-modules/tree-sitter-html/default.nix
index 361f53b29bb6..4c5060294231 100644
--- a/pkgs/development/python-modules/tree-sitter-html/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-html/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     core = [
       tree-sitter
     ];
diff --git a/pkgs/development/python-modules/tree-sitter-javascript/default.nix b/pkgs/development/python-modules/tree-sitter-javascript/default.nix
index f6a8782f1406..39766ce588f7 100644
--- a/pkgs/development/python-modules/tree-sitter-javascript/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-javascript/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     core = [
       tree-sitter
     ];
diff --git a/pkgs/development/python-modules/tree-sitter-json/default.nix b/pkgs/development/python-modules/tree-sitter-json/default.nix
index 45557bd5e2ea..0e6cd37f8b87 100644
--- a/pkgs/development/python-modules/tree-sitter-json/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-json/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     core = [
       tree-sitter
     ];
diff --git a/pkgs/development/python-modules/tree-sitter-python/default.nix b/pkgs/development/python-modules/tree-sitter-python/default.nix
index 399fcb0afc18..4ca4ec1d7b81 100644
--- a/pkgs/development/python-modules/tree-sitter-python/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-python/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     core = [
       tree-sitter
     ];
diff --git a/pkgs/development/python-modules/tree-sitter-rust/default.nix b/pkgs/development/python-modules/tree-sitter-rust/default.nix
index c532127dcd14..526d1907a0a6 100644
--- a/pkgs/development/python-modules/tree-sitter-rust/default.nix
+++ b/pkgs/development/python-modules/tree-sitter-rust/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     core = [
       tree-sitter
     ];
diff --git a/pkgs/development/python-modules/trino-python-client/default.nix b/pkgs/development/python-modules/trino-python-client/default.nix
index a75171f6957f..b76dba2b7692 100644
--- a/pkgs/development/python-modules/trino-python-client/default.nix
+++ b/pkgs/development/python-modules/trino-python-client/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     tzlocal
   ];
 
-  passthru.optional-dependencies = lib.fix (self: {
+  optional-dependencies = lib.fix (self: {
     kerberos = [ requests-kerberos ];
     sqlalchemy = [ sqlalchemy ];
     external-authentication-token-cache = [ keyring ];
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     httpretty
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.all;
+  ] ++ optional-dependencies.all;
 
   pythonImportsCheck = [ "trino" ];
 
diff --git a/pkgs/development/python-modules/troposphere/default.nix b/pkgs/development/python-modules/troposphere/default.nix
index 7cfac7521cf9..ce40ef338b11 100644
--- a/pkgs/development/python-modules/troposphere/default.nix
+++ b/pkgs/development/python-modules/troposphere/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     unittestCheckHook
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     policy = [ awacs ];
   };
 
diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix
index 100a7d42d201..cc72a5e86697 100644
--- a/pkgs/development/python-modules/twisted/default.nix
+++ b/pkgs/development/python-modules/twisted/default.nix
@@ -171,13 +171,13 @@ buildPythonPackage rec {
       hypothesis
       pyhamcrest
     ]
-    ++ passthru.optional-dependencies.conch
-    ++ passthru.optional-dependencies.http2
-    ++ passthru.optional-dependencies.serial
+    ++ optional-dependencies.conch
+    ++ optional-dependencies.http2
+    ++ optional-dependencies.serial
     # not supported on aarch64-darwin: https://github.com/pyca/pyopenssl/issues/873
     ++ lib.optionals (
       !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
-    ) passthru.optional-dependencies.tls;
+    ) optional-dependencies.tls;
 
   checkPhase = ''
     export SOURCE_DATE_EPOCH=315532800
@@ -186,26 +186,26 @@ buildPythonPackage rec {
     ${python.interpreter} -m twisted.trial -j1 twisted
   '';
 
-  passthru = {
-    optional-dependencies = {
-      conch = [
-        appdirs
-        bcrypt
-        cryptography
-        pyasn1
-      ];
-      http2 = [
-        h2
-        priority
-      ];
-      serial = [ pyserial ];
-      tls = [
-        idna
-        pyopenssl
-        service-identity
-      ];
-    };
+  optional-dependencies = {
+    conch = [
+      appdirs
+      bcrypt
+      cryptography
+      pyasn1
+    ];
+    http2 = [
+      h2
+      priority
+    ];
+    serial = [ pyserial ];
+    tls = [
+      idna
+      pyopenssl
+      service-identity
+    ];
+  };
 
+  passthru = {
     tests = {
       inherit
         cassandra-driver
diff --git a/pkgs/development/python-modules/txtai/default.nix b/pkgs/development/python-modules/txtai/default.nix
index c9be16e2eba4..7b08166e1d56 100644
--- a/pkgs/development/python-modules/txtai/default.nix
+++ b/pkgs/development/python-modules/txtai/default.nix
@@ -174,7 +174,7 @@ buildPythonPackage {
     regex
   ];
 
-  passthru.optional-dependencies = optional-dependencies;
+  optional-dependencies = optional-dependencies;
 
   pythonImportsCheck = [ "txtai" ];
 
diff --git a/pkgs/development/python-modules/typed-settings/default.nix b/pkgs/development/python-modules/typed-settings/default.nix
index a39f18bad504..4b3015922146 100644
--- a/pkgs/development/python-modules/typed-settings/default.nix
+++ b/pkgs/development/python-modules/typed-settings/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   dependencies = lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     all = [
       attrs
       cattrs
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     hypothesis
     pytestCheckHook
     typing-extensions
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pytestFlagsArray = [ "tests" ];
 
diff --git a/pkgs/development/python-modules/typepy/default.nix b/pkgs/development/python-modules/typepy/default.nix
index 91e01efa2019..0de0eea1ca8e 100644
--- a/pkgs/development/python-modules/typepy/default.nix
+++ b/pkgs/development/python-modules/typepy/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ mbstrdecoder ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     datetime = [
       python-dateutil
       pytz
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     tcolorpy
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "typepy" ];
 
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
index a91d608c77fc..29fffba265bc 100644
--- a/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -380,7 +380,7 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     accessanalyzer = [ types-aiobotocore-accessanalyzer ];
     account = [ types-aiobotocore-account ];
     acm = [ types-aiobotocore-acm ];
diff --git a/pkgs/development/python-modules/ubelt/default.nix b/pkgs/development/python-modules/ubelt/default.nix
index ae9c6b2a648d..11491426bd09 100644
--- a/pkgs/development/python-modules/ubelt/default.nix
+++ b/pkgs/development/python-modules/ubelt/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     wheel
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     optional = [
       numpy
       python-dateutil
diff --git a/pkgs/development/python-modules/ufmt/default.nix b/pkgs/development/python-modules/ufmt/default.nix
index d8e349261418..e18b8062f1ff 100644
--- a/pkgs/development/python-modules/ufmt/default.nix
+++ b/pkgs/development/python-modules/ufmt/default.nix
@@ -44,14 +44,14 @@ buildPythonPackage rec {
     usort
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     lsp = [ pygls ];
     ruff = [ ruff-api ];
   };
 
   nativeCheckInputs = [
     unittestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "ufmt" ];
 
diff --git a/pkgs/development/python-modules/ufolib2/default.nix b/pkgs/development/python-modules/ufolib2/default.nix
index 6eaac11f17f0..201413ed9b9d 100644
--- a/pkgs/development/python-modules/ufolib2/default.nix
+++ b/pkgs/development/python-modules/ufolib2/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     fonttools
   ] ++ fonttools.optional-dependencies.ufo;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     lxml = [ lxml ];
     converters = [ cattrs ];
     json = [
@@ -47,7 +47,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "ufoLib2" ];
 
diff --git a/pkgs/development/python-modules/umap-learn/default.nix b/pkgs/development/python-modules/umap-learn/default.nix
index 8a6f51bded2a..9fbe57c250e9 100644
--- a/pkgs/development/python-modules/umap-learn/default.nix
+++ b/pkgs/development/python-modules/umap-learn/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  passthru.optional-dependencies = rec {
+  optional-dependencies = rec {
     plot = [
       bokeh
       colorcet
diff --git a/pkgs/development/python-modules/unrpa/default.nix b/pkgs/development/python-modules/unrpa/default.nix
index c64443ff6661..b806af03a2c1 100644
--- a/pkgs/development/python-modules/unrpa/default.nix
+++ b/pkgs/development/python-modules/unrpa/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "0yl4qdwp3in170ks98qnldqz3r2iyzil5g1775ccg98qkh95s724";
   };
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ZiX = [ uncompyle6 ];
   };
 
diff --git a/pkgs/development/python-modules/unstructured/default.nix b/pkgs/development/python-modules/unstructured/default.nix
index afa02b447739..dc0b24644733 100644
--- a/pkgs/development/python-modules/unstructured/default.nix
+++ b/pkgs/development/python-modules/unstructured/default.nix
@@ -143,7 +143,7 @@ buildPythonPackage {
     grpcio
   ];
 
-  passthru.optional-dependencies = optional-dependencies;
+  optional-dependencies = optional-dependencies;
 
   meta = with lib; {
     description = "Open source libraries and APIs to build custom preprocessing pipelines for labeling, training, or production machine learning pipelines";
diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix
index 1bffd501e763..3fae3b0b70f0 100644
--- a/pkgs/development/python-modules/urllib3/default.nix
+++ b/pkgs/development/python-modules/urllib3/default.nix
@@ -34,7 +34,7 @@ let
 
     nativeBuildInputs = [ hatchling ];
 
-    passthru.optional-dependencies = {
+    optional-dependencies = {
       brotli = if isPyPy then [ brotlicffi ] else [ brotli ];
       socks = [ pysocks ];
     };
@@ -47,7 +47,7 @@ let
         trustme
       ]
       ++ lib.optionals (pythonOlder "3.9") [ backports-zoneinfo ]
-      ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+      ++ lib.flatten (builtins.attrValues optional-dependencies);
 
     # Tests in urllib3 are mostly timeout-based instead of event-based and
     # are therefore inherently flaky. On your own machine, the tests will
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index 7c2024af44d8..f11af5836ca8 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     wcwidth
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     glib = [ pygobject3 ];
     tornado = [ tornado ];
     trio = [
@@ -62,7 +62,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     glibcLocales
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   env.LC_ALL = "en_US.UTF8";
 
diff --git a/pkgs/development/python-modules/uvicorn/default.nix b/pkgs/development/python-modules/uvicorn/default.nix
index 48bd9e9ef85e..f81acc469a3d 100644
--- a/pkgs/development/python-modules/uvicorn/default.nix
+++ b/pkgs/development/python-modules/uvicorn/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     h11
   ] ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ];
 
-  passthru.optional-dependencies.standard = [
+  optional-dependencies.standard = [
     httptools
     python-dotenv
     pyyaml
diff --git a/pkgs/development/python-modules/vega/default.nix b/pkgs/development/python-modules/vega/default.nix
index d7fbe2cabaa2..1acb25ddf809 100644
--- a/pkgs/development/python-modules/vega/default.nix
+++ b/pkgs/development/python-modules/vega/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     pandas
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     widget = [ ipywidgets ];
     jupyterlab = [ jupyterlab ];
   };
diff --git a/pkgs/development/python-modules/versioneer/default.nix b/pkgs/development/python-modules/versioneer/default.nix
index d98aa5ab71d1..613859ff61e0 100644
--- a/pkgs/development/python-modules/versioneer/default.nix
+++ b/pkgs/development/python-modules/versioneer/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     toml = lib.optionals (pythonOlder "3.11") [ tomli ];
   };
 
diff --git a/pkgs/development/python-modules/visions/default.nix b/pkgs/development/python-modules/visions/default.nix
index 6d3da09118f9..f79a34ce58c9 100644
--- a/pkgs/development/python-modules/visions/default.nix
+++ b/pkgs/development/python-modules/visions/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     pandas
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     type-geometry = [ shapely ];
     type-image-path = [ imagehash pillow ];
     plotting = [ matplotlib pydot pygraphviz ];
@@ -50,7 +50,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTestPaths = [
     # requires running Apache Spark:
diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix
index ef939cbdca6e..e99a473b48a6 100644
--- a/pkgs/development/python-modules/vivisect/default.nix
+++ b/pkgs/development/python-modules/vivisect/default.nix
@@ -42,9 +42,9 @@ buildPythonPackage rec {
     cxxfilt
     msgpack
     pycparser
-  ] ++ lib.optionals (withGui) passthru.optional-dependencies.gui;
+  ] ++ lib.optionals (withGui) optional-dependencies.gui;
 
-  passthru.optional-dependencies.gui = [
+  optional-dependencies.gui = [
     pyqt5
     pyqtwebengine
   ];
diff --git a/pkgs/development/python-modules/volvooncall/default.nix b/pkgs/development/python-modules/volvooncall/default.nix
index 23677ab4ec4f..c61971b587f4 100644
--- a/pkgs/development/python-modules/volvooncall/default.nix
+++ b/pkgs/development/python-modules/volvooncall/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ aiohttp ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     console = [
       certifi
       docopt
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     mock
     pytest-asyncio
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.mqtt;
+  ] ++ optional-dependencies.mqtt;
 
   pythonImportsCheck = [ "volvooncall" ];
 
diff --git a/pkgs/development/python-modules/w1thermsensor/default.nix b/pkgs/development/python-modules/w1thermsensor/default.nix
index eca3bdd9302e..af8854ce96ec 100644
--- a/pkgs/development/python-modules/w1thermsensor/default.nix
+++ b/pkgs/development/python-modules/w1thermsensor/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ click ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async = [ aiofiles ];
   };
 
@@ -46,7 +46,7 @@ buildPythonPackage rec {
       pytestCheckHook
     ]
     ++ lib.optionals (pythonOlder "3.11") [ tomli ]
-    ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+    ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "w1thermsensor" ];
 
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index 10184cfef7dd..e68d2acbf130 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -32,14 +32,14 @@ buildPythonPackage rec {
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices ];
 
-  passthru.optional-dependencies.watchmedo = [ pyyaml ];
+  optional-dependencies.watchmedo = [ pyyaml ];
 
   nativeCheckInputs = [
     eventlet
     flaky
     pytest-timeout
     pytestCheckHook
-  ] ++ passthru.optional-dependencies.watchmedo;
+  ] ++ optional-dependencies.watchmedo;
 
   postPatch = ''
     substituteInPlace setup.cfg \
diff --git a/pkgs/development/python-modules/watermark/default.nix b/pkgs/development/python-modules/watermark/default.nix
index 3af49dd8d38d..5eefa67895c5 100644
--- a/pkgs/development/python-modules/watermark/default.nix
+++ b/pkgs/development/python-modules/watermark/default.nix
@@ -31,13 +31,13 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     gpu = [ py3nvml ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "watermark" ];
 
diff --git a/pkgs/development/python-modules/web3/default.nix b/pkgs/development/python-modules/web3/default.nix
index 49415d090f5c..08fc850f9e50 100644
--- a/pkgs/development/python-modules/web3/default.nix
+++ b/pkgs/development/python-modules/web3/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   };
 
   # Note: to reflect the extra_requires in main/setup.py.
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     ipfs = [ ipfshttpclient ];
   };
 
diff --git a/pkgs/development/python-modules/webdav4/default.nix b/pkgs/development/python-modules/webdav4/default.nix
index 9a6459fa375e..ce0d6d58b61f 100644
--- a/pkgs/development/python-modules/webdav4/default.nix
+++ b/pkgs/development/python-modules/webdav4/default.nix
@@ -47,9 +47,9 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-cov-stub
     wsgidav
-  ] ++ passthru.optional-dependencies.fsspec;
+  ] ++ optional-dependencies.fsspec;
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     fsspec = [ fsspec ];
     http2 = [ httpx.optional-dependencies.http2 ];
     all = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index 171622cf10b2..109457308110 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     Images = [
       ascii-magic
       pillow
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index be6cd79b788a..ebd1983a0c7f 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ markupsafe ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     watchdog = lib.optionals (!stdenv.hostPlatform.isDarwin) [
       # watchdog requires macos-sdk 10.13
       watchdog
@@ -59,7 +59,7 @@ buildPythonPackage rec {
       pytestCheckHook
     ]
     ++ lib.optionals (pythonOlder "3.11") [ greenlet ]
-    ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+    ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "werkzeug" ];
 
diff --git a/pkgs/development/python-modules/willow/default.nix b/pkgs/development/python-modules/willow/default.nix
index f2ab1675d043..83b446947683 100644
--- a/pkgs/development/python-modules/willow/default.nix
+++ b/pkgs/development/python-modules/willow/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     defusedxml
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     heif = [ pillow-heif ];
   };
 
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pillow
     wand
-  ] ++ passthru.optional-dependencies.heif;
+  ] ++ optional-dependencies.heif;
 
   meta = with lib; {
     description = "Python image library that sits on top of Pillow, Wand and OpenCV";
diff --git a/pkgs/development/python-modules/wktutils/default.nix b/pkgs/development/python-modules/wktutils/default.nix
index 23529f04a356..de011db9a56d 100644
--- a/pkgs/development/python-modules/wktutils/default.nix
+++ b/pkgs/development/python-modules/wktutils/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     shapely
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     extras = [
       requests
       scikit-learn
diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix
index 00e3c9e24412..196397ab7f1d 100644
--- a/pkgs/development/python-modules/wled/default.nix
+++ b/pkgs/development/python-modules/wled/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     yarl
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [
       typer
       zeroconf
diff --git a/pkgs/development/python-modules/wtforms/default.nix b/pkgs/development/python-modules/wtforms/default.nix
index 4712aefbed07..99cd521f6c5c 100644
--- a/pkgs/development/python-modules/wtforms/default.nix
+++ b/pkgs/development/python-modules/wtforms/default.nix
@@ -41,13 +41,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ markupsafe ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     email = [ email-validator ];
   };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pythonImportsCheck = [ "wtforms" ];
 
diff --git a/pkgs/development/python-modules/wyoming/default.nix b/pkgs/development/python-modules/wyoming/default.nix
index bc1eb85ab3ba..3c63c6a73916 100644
--- a/pkgs/development/python-modules/wyoming/default.nix
+++ b/pkgs/development/python-modules/wyoming/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     zeroconf = [ zeroconf ];
   };
 
diff --git a/pkgs/development/python-modules/xsdata/default.nix b/pkgs/development/python-modules/xsdata/default.nix
index 387eefcd14bf..96c32ac9349a 100644
--- a/pkgs/development/python-modules/xsdata/default.nix
+++ b/pkgs/development/python-modules/xsdata/default.nix
@@ -47,7 +47,7 @@ buildPythonPackage rec {
 
   dependencies = [ typing-extensions ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     cli = [
       click
       click-default-group
@@ -59,11 +59,9 @@ buildPythonPackage rec {
     soap = [ requests ];
   };
 
-  nativeCheckInputs =
-    [ pytestCheckHook ]
-    ++ passthru.optional-dependencies.cli
-    ++ passthru.optional-dependencies.lxml
-    ++ passthru.optional-dependencies.soap;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ optional-dependencies.cli ++ optional-dependencies.lxml ++ optional-dependencies.soap;
 
   disabledTestPaths = [ "tests/integration/benchmarks" ];
 
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index d9c3041c038c..4fae5aaf31d2 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     requests
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     nospam = [
       requests-cache
       requests-ratelimiter
diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix
index d5965d455f6e..67bee46658f6 100644
--- a/pkgs/development/python-modules/zeep/default.nix
+++ b/pkgs/development/python-modules/zeep/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     requests-toolbelt
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     async_require = [ httpx ];
     xmlsec_require = [ xmlsec ];
   };
@@ -68,7 +68,7 @@ buildPythonPackage rec {
     pytest-httpx
     pytestCheckHook
     requests-mock
-  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ] ++ lib.flatten (builtins.attrValues optional-dependencies);
 
   disabledTests = [
     # Failed: External connections not allowed during tests.
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 0e80af5a21ef..9ab74c0ea850 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -96,7 +96,7 @@ python3.pkgs.buildPythonApplication rec {
   ]
   ++ twisted.optional-dependencies.tls;
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     postgres = if isPyPy then [
       psycopg2cffi
     ] else [
@@ -138,7 +138,7 @@ python3.pkgs.buildPythonApplication rec {
     mock
     parameterized
   ])
-  ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+  ++ lib.flatten (lib.attrValues optional-dependencies);
 
   doCheck = !stdenv.hostPlatform.isDarwin;
 
diff --git a/pkgs/servers/mautrix-googlechat/default.nix b/pkgs/servers/mautrix-googlechat/default.nix
index 811fa2e92d9b..a352b5ab8e87 100644
--- a/pkgs/servers/mautrix-googlechat/default.nix
+++ b/pkgs/servers/mautrix-googlechat/default.nix
@@ -32,7 +32,7 @@
     install -D mautrix_googlechat/example-config.yaml $out/$baseConfigPath
   '';
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     e2be = [
       python-olm
       pycryptodome
@@ -56,9 +56,9 @@
     python-magic
     protobuf
     (mautrix.override { withOlm = enableE2be; })
-  ] ++ lib.optionals enableE2be passthru.optional-dependencies.e2be
-  ++ lib.optionals enableMetrics passthru.optional-dependencies.metrics
-  ++ lib.optionals enableSqlite passthru.optional-dependencies.sqlite;
+  ] ++ lib.optionals enableE2be optional-dependencies.e2be
+  ++ lib.optionals enableMetrics optional-dependencies.metrics
+  ++ lib.optionals enableSqlite optional-dependencies.sqlite;
 
   doCheck = false;
 
diff --git a/pkgs/tools/audio/shaq/default.nix b/pkgs/tools/audio/shaq/default.nix
index f7270a73557b..d615a95219cb 100644
--- a/pkgs/tools/audio/shaq/default.nix
+++ b/pkgs/tools/audio/shaq/default.nix
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     shazamio
   ];
 
-  passthru.optional-dependencies = with python3.pkgs; {
+  optional-dependencies = with python3.pkgs; {
     dev = [
       build
       shaq
diff --git a/pkgs/tools/backup/borgmatic/default.nix b/pkgs/tools/backup/borgmatic/default.nix
index 4aa4d649398c..8a55cef2b9d2 100644
--- a/pkgs/tools/backup/borgmatic/default.nix
+++ b/pkgs/tools/backup/borgmatic/default.nix
@@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec {
     hash = "sha256-WYs7wiwZ1TvTdeUpWv7FbREXWfdGcYRarP4FXFOfp0Y=";
   };
 
-  nativeCheckInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ] ++ passthru.optional-dependencies.apprise;
+  nativeCheckInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ] ++ optional-dependencies.apprise;
 
   # - test_borgmatic_version_matches_news_version
   # The file NEWS not available on the pypi source, and this test is useless
@@ -41,7 +41,7 @@ python3Packages.buildPythonApplication rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     apprise = [ python3Packages.apprise ];
   };
 
diff --git a/pkgs/tools/security/amoco/default.nix b/pkgs/tools/security/amoco/default.nix
index d3c687bcc8ee..ff9fcc7efe63 100644
--- a/pkgs/tools/security/amoco/default.nix
+++ b/pkgs/tools/security/amoco/default.nix
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     traitlets
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     app = with python3.pkgs; [
       # ccrawl
       ipython
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b79143c50a5f..d218f7f42fdb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -22599,7 +22599,7 @@ with pkgs;
 
   openstackclient = with python311Packages; toPythonApplication python-openstackclient;
   openstackclient-full = openstackclient.overridePythonAttrs (oldAttrs: {
-    dependencies = oldAttrs.dependencies ++ oldAttrs.passthru.optional-dependencies.cli-plugins;
+    dependencies = oldAttrs.dependencies ++ oldAttrs.optional-dependencies.cli-plugins;
   });
   barbicanclient = with python311Packages; toPythonApplication python-barbicanclient;
   glanceclient = with python311Packages; toPythonApplication python-glanceclient;

From fcc1b52f56595eb63bc22deb3858bad716c99d2e Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 03:55:42 +0000
Subject: [PATCH 077/109] dracula-theme: 4.0.0-unstable-2024-09-07 ->
 4.0.0-unstable-2024-09-24

---
 pkgs/data/themes/dracula-theme/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index 9fef14edb33f..29d3e6a2cda2 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "4.0.0-unstable-2024-09-07";
+  version = "4.0.0-unstable-2024-09-24";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "19e0dcb5d821df8948a96fef8be551f463fcf0d2";
-    hash = "sha256-WfpoGEs2ki84HwE53Fh8CFiybJXZhaiP7m0sfx9Z1X4=";
+    rev = "f2d2ea560a83ebdef6734b70dd9683272b47894d";
+    hash = "sha256-/xgvlcMC4AHITy15dVHhdTIeu1mcA6Luhdanpr1as4Q=";
   };
 
   propagatedUserEnvPkgs = [

From a90fbaa21cc51204bde4c993e34bfe1f9de2478c Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 06:07:27 +0000
Subject: [PATCH 078/109] ghauri: 1.3.7 -> 1.3.8

---
 pkgs/tools/security/ghauri/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/security/ghauri/default.nix b/pkgs/tools/security/ghauri/default.nix
index 9021b4102966..4141690085e7 100644
--- a/pkgs/tools/security/ghauri/default.nix
+++ b/pkgs/tools/security/ghauri/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ghauri";
-  version = "1.3.7";
+  version = "1.3.8";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "r0oth3x49";
     repo = "ghauri";
     rev = "refs/tags/${version}";
-    hash = "sha256-uGRhp77HmLmWMJFyhJoEjwdIR84Wcwv554g9Hi6yW4c=";
+    hash = "sha256-GEUuQMtp8XO32uOIILWiMfngPXx/3vCKk+YbA0E13rg=";
   };
 
   build-system = with python3.pkgs; [

From 88c017a5f17c105c8380d63808e2d2d8b133c73b Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Mon, 30 Sep 2024 12:17:56 +0200
Subject: [PATCH 079/109] doggo: 1.0.4 -> 1.0.5

ChangeLog: https://github.com/mr-karan/doggo/releases/tag/v1.0.5
---
 pkgs/by-name/do/doggo/package.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/by-name/do/doggo/package.nix b/pkgs/by-name/do/doggo/package.nix
index cf8c3ae36228..08f65a5a40c8 100644
--- a/pkgs/by-name/do/doggo/package.nix
+++ b/pkgs/by-name/do/doggo/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "doggo";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "mr-karan";
     repo = "doggo";
     rev = "v${version}";
-    hash = "sha256-SD/BcJxoc5Oi8+nAs+CWBEcbgtaohykNlZ14jJvEWew=";
+    hash = "sha256-SbTwVvE699MCgfUXifnJ1oMNN8TdLg8P03Xx5hrQxF8=";
   };
 
-  vendorHash = "sha256-JIc6/G1hMf8+oIe4OMc+b0th5MCgi5Mwp3AxW4OD1lg=";
+  vendorHash = "sha256-44gBPMr6gKaRaq7W69K7OBTVXvsz9pSEL1eOKYd4fT8=";
   nativeBuildInputs = [ installShellFiles ];
   subPackages = [ "cmd/doggo" ];
 
@@ -43,6 +43,6 @@ buildGoModule rec {
       It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well
     '';
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ georgesalkhouri ];
+    maintainers = with maintainers; [ georgesalkhouri ma27 ];
   };
 }

From a872b1feaae1f3acab0e21d6fe85997b198e7748 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 10:33:11 +0000
Subject: [PATCH 080/109] mycelium: 0.5.4 -> 0.5.5

---
 pkgs/by-name/my/mycelium/Cargo.lock  | 165 ++++++++++++++++-----------
 pkgs/by-name/my/mycelium/package.nix |   4 +-
 2 files changed, 99 insertions(+), 70 deletions(-)

diff --git a/pkgs/by-name/my/mycelium/Cargo.lock b/pkgs/by-name/my/mycelium/Cargo.lock
index 6aac9ba0f592..fda202d245c1 100644
--- a/pkgs/by-name/my/mycelium/Cargo.lock
+++ b/pkgs/by-name/my/mycelium/Cargo.lock
@@ -170,9 +170,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 
 [[package]]
 name = "axum"
-version = "0.7.5"
+version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf"
+checksum = "8f43644eed690f5374f1af436ecd6aea01cd201f6fbdf0178adaf6907afb2cec"
 dependencies = [
  "async-trait",
  "axum-core",
@@ -196,16 +196,16 @@ dependencies = [
  "serde_urlencoded",
  "sync_wrapper 1.0.1",
  "tokio",
- "tower",
+ "tower 0.5.1",
  "tower-layer",
  "tower-service",
 ]
 
 [[package]]
 name = "axum-core"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
+checksum = "5e6b8ba012a258d63c9adfa28b9ddcf66149da6f986c5b5452e629d5ee64bf00"
 dependencies = [
  "async-trait",
  "bytes",
@@ -216,7 +216,7 @@ dependencies = [
  "mime",
  "pin-project-lite",
  "rustversion",
- "sync_wrapper 0.1.2",
+ "sync_wrapper 1.0.1",
  "tower-layer",
  "tower-service",
 ]
@@ -425,9 +425,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.5.16"
+version = "4.5.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019"
+checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -435,9 +435,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.5.15"
+version = "4.5.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
+checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b"
 dependencies = [
  "anstream",
  "anstyle",
@@ -447,9 +447,9 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.5.13"
+version = "4.5.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -727,19 +727,20 @@ dependencies = [
 
 [[package]]
 name = "etherparse"
-version = "0.15.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21696e6dfe1057a166a042c6d27b89a46aad2ee1003e6e1e03c49d54fd3270d7"
+checksum = "b8d8a704b617484e9d867a0423cd45f7577f008c4068e2e33378f8d3860a6d73"
 dependencies = [
  "arrayvec",
 ]
 
 [[package]]
 name = "faster-hex"
-version = "0.9.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183"
+checksum = "7223ae2d2f179b803433d9c830478527e92b8117eab39460edae7f1614d9fb73"
 dependencies = [
+ "heapless",
  "serde",
 ]
 
@@ -928,6 +929,15 @@ dependencies = [
  "tracing",
 ]
 
+[[package]]
+name = "hash32"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606"
+dependencies = [
+ "byteorder",
+]
+
 [[package]]
 name = "hashbrown"
 version = "0.12.3"
@@ -949,6 +959,16 @@ version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 
+[[package]]
+name = "heapless"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad"
+dependencies = [
+ "hash32",
+ "stable_deref_trait",
+]
+
 [[package]]
 name = "heck"
 version = "0.5.0"
@@ -1049,7 +1069,7 @@ dependencies = [
  "pin-project-lite",
  "socket2",
  "tokio",
- "tower",
+ "tower 0.4.13",
  "tower-service",
  "tracing",
 ]
@@ -1097,9 +1117,9 @@ checksum = "8e537132deb99c0eb4b752f0346b6a836200eaaa3516dd7e5514b63930a09e5d"
 
 [[package]]
 name = "ipnet"
-version = "2.9.0"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4"
 
 [[package]]
 name = "is-terminal"
@@ -1242,12 +1262,6 @@ version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
 
-[[package]]
-name = "memalloc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1"
-
 [[package]]
 name = "memchr"
 version = "2.7.2"
@@ -1298,7 +1312,7 @@ dependencies = [
 
 [[package]]
 name = "mycelium"
-version = "0.5.4"
+version = "0.5.5"
 dependencies = [
  "aes-gcm",
  "arc-swap",
@@ -1333,7 +1347,7 @@ dependencies = [
 
 [[package]]
 name = "mycelium-api"
-version = "0.5.4"
+version = "0.5.5"
 dependencies = [
  "axum",
  "base64 0.22.1",
@@ -1346,7 +1360,7 @@ dependencies = [
 
 [[package]]
 name = "mycelium-cli"
-version = "0.5.4"
+version = "0.5.5"
 dependencies = [
  "base64 0.22.1",
  "byte-unit",
@@ -1363,7 +1377,7 @@ dependencies = [
 
 [[package]]
 name = "mycelium-metrics"
-version = "0.5.4"
+version = "0.5.5"
 dependencies = [
  "axum",
  "mycelium",
@@ -1374,7 +1388,7 @@ dependencies = [
 
 [[package]]
 name = "myceliumd"
-version = "0.5.4"
+version = "0.5.5"
 dependencies = [
  "base64 0.22.1",
  "byte-unit",
@@ -1398,13 +1412,13 @@ dependencies = [
 
 [[package]]
 name = "netdev"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83"
+checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d"
 dependencies = [
  "dlopen2",
+ "ipnet",
  "libc",
- "memalloc",
  "netlink-packet-core",
  "netlink-packet-route 0.17.1",
  "netlink-sys",
@@ -1871,15 +1885,15 @@ dependencies = [
 
 [[package]]
 name = "quinn"
-version = "0.11.3"
+version = "0.11.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156"
+checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
 dependencies = [
  "bytes",
  "pin-project-lite",
  "quinn-proto",
  "quinn-udp",
- "rustc-hash 2.0.0",
+ "rustc-hash",
  "rustls",
  "socket2",
  "thiserror",
@@ -1889,14 +1903,14 @@ dependencies = [
 
 [[package]]
 name = "quinn-proto"
-version = "0.11.2"
+version = "0.11.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e974563a4b1c2206bbc61191ca4da9c22e4308b4c455e8906751cc7828393f08"
+checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
 dependencies = [
  "bytes",
  "rand",
  "ring",
- "rustc-hash 1.2.0",
+ "rustc-hash",
  "rustls",
  "slab",
  "thiserror",
@@ -2189,12 +2203,6 @@ version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
 
-[[package]]
-name = "rustc-hash"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3450ed37fe9609abb6bc3b8891b6e078404e4c53c7332350e2e15126a95229bf"
-
 [[package]]
 name = "rustc-hash"
 version = "2.0.0"
@@ -2225,9 +2233,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.23.12"
+version = "0.23.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044"
+checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8"
 dependencies = [
  "once_cell",
  "ring",
@@ -2245,9 +2253,9 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
 
 [[package]]
 name = "rustls-webpki"
-version = "0.102.6"
+version = "0.102.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e"
+checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
 dependencies = [
  "ring",
  "rustls-pki-types",
@@ -2292,18 +2300,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 
 [[package]]
 name = "serde"
-version = "1.0.208"
+version = "1.0.210"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.208"
+version = "1.0.210"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2312,9 +2320,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.125"
+version = "1.0.128"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed"
+checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
 dependencies = [
  "itoa",
  "memchr",
@@ -2425,6 +2433,12 @@ version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
 [[package]]
 name = "strsim"
 version = "0.11.1"
@@ -2611,9 +2625,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.39.3"
+version = "1.40.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5"
+checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998"
 dependencies = [
  "backtrace",
  "bytes",
@@ -2639,9 +2653,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-stream"
-version = "0.1.15"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af"
+checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1"
 dependencies = [
  "futures-core",
  "pin-project-lite",
@@ -2651,9 +2665,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-tun"
-version = "0.11.5"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f5381752d5832fc811f89d54fc334951aa435022f494190ba7151661f206df"
+checksum = "fde69666e881ea060a36a0f39442beb843e2204beeeb2062fdfaa183add47013"
 dependencies = [
  "libc",
  "nix 0.29.0",
@@ -2663,9 +2677,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.11"
+version = "0.7.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
+checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
 dependencies = [
  "bytes",
  "futures-core",
@@ -2735,16 +2749,31 @@ dependencies = [
 ]
 
 [[package]]
-name = "tower-layer"
-version = "0.3.2"
+name = "tower"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project-lite",
+ "sync_wrapper 0.1.2",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
 
 [[package]]
 name = "tower-service"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
 
 [[package]]
 name = "tracing"
diff --git a/pkgs/by-name/my/mycelium/package.nix b/pkgs/by-name/my/mycelium/package.nix
index 2669ff84d923..10118b45c390 100644
--- a/pkgs/by-name/my/mycelium/package.nix
+++ b/pkgs/by-name/my/mycelium/package.nix
@@ -12,7 +12,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mycelium";
-  version = "0.5.4";
+  version = "0.5.5";
 
   sourceRoot = "${src.name}/myceliumd";
 
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
     owner = "threefoldtech";
     repo = "mycelium";
     rev = "v${version}";
-    hash = "sha256-sWpy6Q7Lh0AOzWKMsb/NQ6oFcxOKXB/To9+PFmcjSks=";
+    hash = "sha256-IfWS7U52pviRL8oySOjBYCogwqUqoMLmvtHFSjWghHg=";
   };
 
   cargoLock = {

From a8e9909ddef265d91f8c91bc76245598eb0c7078 Mon Sep 17 00:00:00 2001
From: Fabian Affolter <mail@fabian-affolter.ch>
Date: Mon, 30 Sep 2024 13:11:48 +0200
Subject: [PATCH 081/109] python312Packages.tplink-omada-client: 1.4.2 -> 1.4.3

Changelog: https://github.com/MarkGodwin/tplink-omada-api/releases/tag/release%2Fv1.4.3
---
 .../python-modules/tplink-omada-client/default.nix            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/tplink-omada-client/default.nix b/pkgs/development/python-modules/tplink-omada-client/default.nix
index 60cf57c14f29..7edc33b88e5b 100644
--- a/pkgs/development/python-modules/tplink-omada-client/default.nix
+++ b/pkgs/development/python-modules/tplink-omada-client/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tplink-omada-client";
-  version = "1.4.2";
+  version = "1.4.3";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "tplink_omada_client";
     inherit version;
-    hash = "sha256-Dt1F7mCuRrzEk3NDVfxScSLrK0omHQFMWhYrrwc+Pq0=";
+    hash = "sha256-REzjeZs2Ddhw2TLD4Vp75XT2iLaxxzDK/F3UmrC1deo=";
   };
 
   build-system = [ hatchling ];

From beff13896ba9ed0d89cc67376ce625e4edc5f22b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= <sandro.jaeckel@gmail.com>
Date: Wed, 25 Sep 2024 14:44:50 +0200
Subject: [PATCH 082/109] python312Packages.ncclient: fix missing dependency
 after paramiko changes

---
 pkgs/development/python-modules/ncclient/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix
index 11f3424083cb..8be90d3d9838 100644
--- a/pkgs/development/python-modules/ncclient/default.nix
+++ b/pkgs/development/python-modules/ncclient/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     paramiko
     lxml
     six
-  ];
+  ] ++ paramiko.optional-dependencies.ed25519;
 
   nativeCheckInputs = [ pytestCheckHook ];
 

From 90909568076a20e062c91fe60b5c6be50e10a625 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= <sandro.jaeckel@gmail.com>
Date: Wed, 25 Sep 2024 14:45:08 +0200
Subject: [PATCH 083/109] python312Packages.sshtunnel: fix missing dependency
 after paramiko changes, set pyproject = true

---
 pkgs/development/python-modules/sshtunnel/default.nix | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix
index 1422b50c320d..ecb8e24d01a4 100644
--- a/pkgs/development/python-modules/sshtunnel/default.nix
+++ b/pkgs/development/python-modules/sshtunnel/default.nix
@@ -5,19 +5,22 @@
   paramiko,
   pytestCheckHook,
   mock,
+  setuptools,
 }:
 
 buildPythonPackage rec {
-  version = "0.4.0";
-  format = "setuptools";
   pname = "sshtunnel";
+  version = "0.4.0";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-58sOp3Tbgb+RhE2yLecqQKro97D5u5ug9mbUdO9r+fw=";
   };
 
-  propagatedBuildInputs = [ paramiko ];
+  build-system = [ setuptools ];
+
+  dependencies = [ paramiko ] ++ paramiko.optional-dependencies.ed25519;
 
   nativeCheckInputs = [
     pytestCheckHook

From 224b0950df6f1d4b920e7c078d2e5f1ef8bd0e58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= <sandro.jaeckel@gmail.com>
Date: Wed, 25 Sep 2024 18:00:52 +0200
Subject: [PATCH 084/109] python312Packages.docker: fix missing dependency
 after paramiko changes

---
 pkgs/development/python-modules/docker/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 4ed5c9c113dc..69bba263a3d9 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -14,7 +14,7 @@
   requests,
   urllib3,
 
-  # optional-dependenices
+  # optional-dependencies
   paramiko,
   pynacl,  # optional in paramiko, required here
   websocket-client,
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   ];
 
   optional-dependencies = {
-    ssh = [ paramiko ];
+    ssh = [ paramiko paramiko.optional-dependencies.ed25519 ];
     tls = [];
     websockets = [ websocket-client ];
   };

From 7ab47b15138cdb0e486813e6266404fb7ebc2625 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= <sandro.jaeckel@gmail.com>
Date: Mon, 30 Sep 2024 13:53:47 +0200
Subject: [PATCH 085/109] Revert "python312Packages.docker: fix tests"

This reverts commit 3bd454d384bc98193567d000666314875528c061.
---
 pkgs/development/python-modules/docker/default.nix | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 69bba263a3d9..bcc56c0259f4 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -16,7 +16,6 @@
 
   # optional-dependencies
   paramiko,
-  pynacl,  # optional in paramiko, required here
   websocket-client,
 
   # tests
@@ -58,10 +57,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    paramiko
-    pynacl
-    websocket-client
-  ];
+  ] ++ lib.flatten (lib.attrValues optional-dependencies);
 
   pytestFlagsArray = [ "tests/unit" ];
 

From 12703cb03c729ed7b6ab0c0dae7e048cc14ea07e Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 11:53:49 +0000
Subject: [PATCH 086/109] riffdiff: 3.3.0 -> 3.3.1

---
 pkgs/tools/text/riffdiff/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/tools/text/riffdiff/default.nix b/pkgs/tools/text/riffdiff/default.nix
index 6dcf1d84af14..6d8c4cd28c0b 100644
--- a/pkgs/tools/text/riffdiff/default.nix
+++ b/pkgs/tools/text/riffdiff/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "riffdiff";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = "riff";
     rev = version;
-    hash = "sha256-Vbze2WSrZOboLFcsnRYbfsWz6gbMEszDWEMQUNZAzLY=";
+    hash = "sha256-V+YR0j0Dpmsc2psXb/sb/Rp4Eu8/uuBAkmYTPOfkC+g=";
   };
 
-  cargoHash = "sha256-/R2RSsNRpCI/LTXlF0UtdIjWrBDJaEOASTeAtyNwS0M=";
+  cargoHash = "sha256-/xUMfORiZVj5RmDweLCDdD6MkgzCIsTdiYpyO3CDT+M=";
 
   meta = with lib; {
     description = "Diff filter highlighting which line parts have changed";

From b93144cbc0c1f3a9351ed25dd89b1f2798ff7a6d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 30 Sep 2024 12:02:46 +0000
Subject: [PATCH 087/109] build(deps): bump actions/checkout from 4.1.7 to
 4.2.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/692973e3d937129bcbf40652eb9f2f61becf3332...d632683dd7b4114ad314bca15554477dd762a938)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/backport.yml                   | 2 +-
 .github/workflows/basic-eval.yml                 | 2 +-
 .github/workflows/check-cherry-picks.yml         | 2 +-
 .github/workflows/check-maintainers-sorted.yaml  | 2 +-
 .github/workflows/check-nix-format.yml           | 2 +-
 .github/workflows/check-nixf-tidy.yml            | 2 +-
 .github/workflows/check-shell.yml                | 4 ++--
 .github/workflows/editorconfig.yml               | 2 +-
 .github/workflows/manual-nixos.yml               | 2 +-
 .github/workflows/manual-nixpkgs.yml             | 2 +-
 .github/workflows/nix-parse.yml                  | 2 +-
 .github/workflows/nixpkgs-vet.yml                | 2 +-
 .github/workflows/periodic-merge-24h.yml         | 2 +-
 .github/workflows/periodic-merge-6h.yml          | 2 +-
 .github/workflows/update-terraform-providers.yml | 2 +-
 15 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 49ab3fefb64d..dba5f9bcf319 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -20,7 +20,7 @@ jobs:
     if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           ref: ${{ github.event.pull_request.head.sha }}
       - name: Create backport PRs
diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml
index b07daabad5d4..05e8f34c4c87 100644
--- a/.github/workflows/basic-eval.yml
+++ b/.github/workflows/basic-eval.yml
@@ -19,7 +19,7 @@ jobs:
     runs-on: ubuntu-latest
     # we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
     steps:
-    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+    - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
     - uses: cachix/install-nix-action@9f70348d77d0422624097c4b7a75563948901306 # v29
     - uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15
       with:
diff --git a/.github/workflows/check-cherry-picks.yml b/.github/workflows/check-cherry-picks.yml
index 15fc04034612..7e2758344571 100644
--- a/.github/workflows/check-cherry-picks.yml
+++ b/.github/workflows/check-cherry-picks.yml
@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+    - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
       with:
         fetch-depth: 0
         filter: blob:none
diff --git a/.github/workflows/check-maintainers-sorted.yaml b/.github/workflows/check-maintainers-sorted.yaml
index 284cee5330d7..fa67090fef65 100644
--- a/.github/workflows/check-maintainers-sorted.yaml
+++ b/.github/workflows/check-maintainers-sorted.yaml
@@ -13,7 +13,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/check-nix-format.yml b/.github/workflows/check-nix-format.yml
index a0a081caaca6..b4acf86e248e 100644
--- a/.github/workflows/check-nix-format.yml
+++ b/.github/workflows/check-nix-format.yml
@@ -18,7 +18,7 @@ jobs:
     runs-on: ubuntu-latest
     if: "!contains(github.event.pull_request.title, '[skip treewide]')"
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/check-nixf-tidy.yml b/.github/workflows/check-nixf-tidy.yml
index da6917282705..f003ba81f1f7 100644
--- a/.github/workflows/check-nixf-tidy.yml
+++ b/.github/workflows/check-nixf-tidy.yml
@@ -12,7 +12,7 @@ jobs:
     runs-on: ubuntu-latest
     if: "!contains(github.event.pull_request.title, '[skip treewide]')"
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/check-shell.yml b/.github/workflows/check-shell.yml
index 0959184fe45f..6ed60df98e95 100644
--- a/.github/workflows/check-shell.yml
+++ b/.github/workflows/check-shell.yml
@@ -10,7 +10,7 @@ jobs:
     name: shell-check-x86_64-linux
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
@@ -22,7 +22,7 @@ jobs:
     name: shell-check-aarch64-darwin
     runs-on: macos-latest
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml
index 2fc83feff77a..7d11370973fc 100644
--- a/.github/workflows/editorconfig.yml
+++ b/.github/workflows/editorconfig.yml
@@ -25,7 +25,7 @@ jobs:
     - name: print list of changed files
       run: |
         cat "$HOME/changed_files"
-    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+    - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
       with:
         # pull_request_target checks out the base branch by default
         ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/manual-nixos.yml b/.github/workflows/manual-nixos.yml
index c8be2404eb55..d7a3bd664eb8 100644
--- a/.github/workflows/manual-nixos.yml
+++ b/.github/workflows/manual-nixos.yml
@@ -15,7 +15,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/manual-nixpkgs.yml b/.github/workflows/manual-nixpkgs.yml
index d2a4888f0363..c7a1891ff0fe 100644
--- a/.github/workflows/manual-nixpkgs.yml
+++ b/.github/workflows/manual-nixpkgs.yml
@@ -17,7 +17,7 @@ jobs:
     runs-on: ubuntu-latest
     if: github.repository_owner == 'NixOS'
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         with:
           # pull_request_target checks out the base branch by default
           ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/nix-parse.yml b/.github/workflows/nix-parse.yml
index e0793231c73c..bfafcacfdc08 100644
--- a/.github/workflows/nix-parse.yml
+++ b/.github/workflows/nix-parse.yml
@@ -25,7 +25,7 @@ jobs:
         if [[ -s "$HOME/changed_files" ]]; then
           echo "CHANGED_FILES=$HOME/changed_files" > "$GITHUB_ENV"
         fi
-    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+    - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
       with:
         # pull_request_target checks out the base branch by default
         ref: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/nixpkgs-vet.yml b/.github/workflows/nixpkgs-vet.yml
index badfa851103d..807715fc65a0 100644
--- a/.github/workflows/nixpkgs-vet.yml
+++ b/.github/workflows/nixpkgs-vet.yml
@@ -72,7 +72,7 @@ jobs:
           else
             echo "The PR cannot be merged, it has a merge conflict, skipping the rest.."
           fi
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
         if: env.mergedSha
         with:
           # pull_request_target checks out the base branch by default
diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml
index 519d90c442d9..6101101ac47d 100644
--- a/.github/workflows/periodic-merge-24h.yml
+++ b/.github/workflows/periodic-merge-24h.yml
@@ -41,7 +41,7 @@ jobs:
             into: staging-24.05
     name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
 
       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
         uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml
index ed2a8a79e361..946ab30fe318 100644
--- a/.github/workflows/periodic-merge-6h.yml
+++ b/.github/workflows/periodic-merge-6h.yml
@@ -39,7 +39,7 @@ jobs:
             into: staging
     name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
 
       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
         uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index 4accaf24a6a2..9d4f129fead9 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -16,7 +16,7 @@ jobs:
     if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
       - uses: cachix/install-nix-action@9f70348d77d0422624097c4b7a75563948901306 # v29
         with:
           nix_path: nixpkgs=channel:nixpkgs-unstable

From fb7950b962e2a3637bc97e4dbed6870ddca806d5 Mon Sep 17 00:00:00 2001
From: Kerstin Humm <kerstin@erictapen.name>
Date: Mon, 30 Sep 2024 14:11:44 +0200
Subject: [PATCH 088/109] mastodon: 4.2.12 -> 4.2.13

Changelog: https://github.com/mastodon/mastodon/releases/tag/v4.2.13
---
 pkgs/servers/mastodon/gemset.nix | 55 +++++++++++++-------------------
 pkgs/servers/mastodon/source.nix |  4 +--
 2 files changed, 24 insertions(+), 35 deletions(-)

diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index d6e73054a717..20be6e58e3d8 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -610,10 +610,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
+      sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.3.4";
   };
   connection_pool = {
     groups = ["default" "test"];
@@ -895,10 +895,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
+      sha256 = "0r6zylqjfv0xhdxvldr0kgmnglm57nm506pcm6085f0xqa68cvnj";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.2.11";
   };
   excon = {
     groups = ["default"];
@@ -1144,10 +1144,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cm2lrvhrpqq19hbdsxf4lq2nkb2qdldbdxh3gvi15l62dlb5zqq";
+      sha256 = "0s4qhq3mjl0gak5wl20w9d5jhq069mk1393dkj76s8i2pvkqb578";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.11.1";
   };
   fuubar = {
     dependencies = ["rspec-core" "ruby-progressbar"];
@@ -1881,10 +1881,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vz1ychq2fhfqjgqdrx8bqkaxg5dzcgwnah00m57ydylczfy8pwk";
+      sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq";
       type = "gem";
     };
-    version = "1.16.6";
+    version = "1.16.7";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -1913,10 +1913,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15xjsxis357np7dy1lak39x1n8g8wxljb08wplw5i4gxi743zr7j";
+      sha256 = "1km0wqx9pj609jidvrqfsvzbzfgdnlpdnv7i7xfqm3wb55vk5w6y";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.1.2";
   };
   omniauth-cas = {
     dependencies = ["addressable" "nokogiri" "omniauth"];
@@ -1948,10 +1948,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01k9rkg97npcgm8r4x3ja8y20hsg4zy0dcjpzafx148q4yxbg74n";
+      sha256 = "05idjrc01nmmqz4g7kv16xd9yfzzvyibxzfrxk8rcwd1p0zgsxnb";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.1.2";
   };
   omniauth_openid_connect = {
     dependencies = ["omniauth" "openid_connect"];
@@ -2127,10 +2127,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i2vaww6qcazj0ywva1plmjnj6rk23b01szswc5jhcq7s2cikd1y";
+      sha256 = "0gml1rixrfb0naciq3mrnqkpcvm9ahgps1c04hzxh4b801f69914";
       type = "gem";
     };
-    version = "6.4.2";
+    version = "6.4.3";
   };
   pundit = {
     dependencies = ["activesupport"];
@@ -2158,10 +2158,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
+      sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
       type = "gem";
     };
-    version = "1.7.3";
+    version = "1.8.1";
   };
   rack = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
@@ -2212,10 +2212,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis";
+      sha256 = "1kpm67az1wxlg76h620in2r7agfyhv177ps268j5ggsanzddzih8";
       type = "gem";
     };
-    version = "3.0.5";
+    version = "3.0.6";
   };
   rack-proxy = {
     dependencies = ["rack"];
@@ -2435,15 +2435,14 @@
     version = "3.1.0";
   };
   rexml = {
-    dependencies = ["strscan"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gccz5lixnddazvhksmj7l7hjwzjra2kz3qfyrzl2bz1q9h80bzh";
+      sha256 = "09shc1dvg88c4yx83d4c9wf26z838nlapa3cmlq8iqdci39a98v2";
       type = "gem";
     };
-    version = "3.3.5";
+    version = "3.3.7";
   };
   rotp = {
     groups = ["default"];
@@ -2674,10 +2673,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18vnbzin5ypxrgcs9lllg7x311b69dyrdw2w1pwz84438hmxm79s";
+      sha256 = "1adq06m684gnpjp6qyb8shgj8jjy2npcfg7y6mg2ab9ilfdq6684";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.17.0";
   };
   ruby2_keywords = {
     groups = ["default"];
@@ -2946,16 +2945,6 @@
     };
     version = "0.8.0";
   };
-  strscan = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
-      type = "gem";
-    };
-    version = "3.1.0";
-  };
   swd = {
     dependencies = ["activesupport" "attr_required" "httpclient"];
     groups = ["default"];
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 0b2fd5b57e09..dccf253ea938 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.12";
+  version = "4.2.13";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-q+j7zHJrIUOumJfk4w5BVu7eTUa1AjI5ho8XoOA2uJU=";
+      hash = "sha256-+HGu02fjYJ1x6Tk9AdqmFN7JHk3UnlvCdiQ/5yMu69M=";
     };
     patches = patches ++ [];
   }) // {

From 4121a101281e4a9829e1629cf45b3bbe87200ae4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= <sandro.jaeckel@gmail.com>
Date: Mon, 30 Sep 2024 14:35:29 +0200
Subject: [PATCH 089/109] ktailctl: 0.18.0 -> 0.18.1

Changelog: https://github.com/f-koehler/KTailctl/releases/tag/v0.18.1
---
 pkgs/applications/networking/ktailctl/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/ktailctl/default.nix b/pkgs/applications/networking/ktailctl/default.nix
index ae8e63b0da2f..5c691e239d21 100644
--- a/pkgs/applications/networking/ktailctl/default.nix
+++ b/pkgs/applications/networking/ktailctl/default.nix
@@ -23,13 +23,13 @@
 }:
 
 let
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "f-koehler";
     repo = "KTailctl";
     rev = "v${version}";
-    hash = "sha256-tZnwn94qZyQ8JAC6Y1dDTmc7Cob+kMZnEaP7+EytbH8=";
+    hash = "sha256-hlpxim4Vm/C37ts+Q/t9swCejKEE97R1QlP+Y2jNWoM=";
   };
 
   goDeps = (buildGo123Module {

From 999a78cb08ce73b3dad6ca7eea673826193b83ee Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 12:45:57 +0000
Subject: [PATCH 090/109] python312Packages.langsmith: 0.1.125 -> 0.1.129

---
 pkgs/development/python-modules/langsmith/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index 5ce0f9c33367..2a9d8446fb55 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.1.125";
+  version = "0.1.129";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0/ych7iP7G75R2kGaXzsxSy4jRYCvxeqd8aBq4QhRgI=";
+    hash = "sha256-GIWDGr6zd/YaSgcSrIw0a1Ul9RxdmtJBMTEbGapudtw=";
   };
 
   sourceRoot = "${src.name}/python";

From 320dac95fb09a0d1863fabb4b5ab1ecad7da1731 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Fri, 27 Sep 2024 12:57:47 +0000
Subject: [PATCH 091/109] envio: 0.5.1 -> 0.6.1

---
 pkgs/by-name/en/envio/package.nix | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/pkgs/by-name/en/envio/package.nix b/pkgs/by-name/en/envio/package.nix
index b1037be41ac7..adbd6607eee5 100644
--- a/pkgs/by-name/en/envio/package.nix
+++ b/pkgs/by-name/en/envio/package.nix
@@ -13,29 +13,22 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "envio";
-  version = "0.5.1";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "envio-cli";
     repo = "envio";
     rev = "v${version}";
-    hash = "sha256-KhjHd+1IeKdASeYP2rPtyTmtkPcBbaruylmOwTPtFgo=";
+    hash = "sha256-je0DBoBIayFK//Aija5bnO/2z+hxNWgVkwOgxMyq5s4=";
   };
 
-  cargoHash = "sha256-qmJUARwsGln07RAX1Ab0cNDgJq7NkezuT0tZsyd48Mw=";
+  cargoHash = "sha256-L7GgPocj32zAfR27dgKK7/OM106cATdCqufSvG3MFYQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ libgpg-error gpgme ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
 
-  # Remove postPatch when updating to the next envio release
-  # For details see https://github.com/envio-cli/envio/pull/31
-  postPatch = ''
-    substituteInPlace build.rs\
-      --replace 'fn get_version() -> String {' 'fn get_version() -> String { return "${version}".to_string();'
-  '';
-
   meta = with lib; {
     homepage    = "https://envio-cli.github.io/home";
     changelog   = "https://github.com/envio-cli/envio/blob/${version}/CHANGELOG.md";

From 61e7e2e9659097f26ab7e056c3b7373c3f38506a Mon Sep 17 00:00:00 2001
From: Alexis Hildebrandt <afh@surryhill.net>
Date: Sun, 29 Sep 2024 17:08:56 +0200
Subject: [PATCH 092/109] envio: add manpage, reformat using nixfmt-rfc-style

---
 pkgs/by-name/en/envio/package.nix | 45 ++++++++++++++++++++-----------
 1 file changed, 30 insertions(+), 15 deletions(-)

diff --git a/pkgs/by-name/en/envio/package.nix b/pkgs/by-name/en/envio/package.nix
index adbd6607eee5..c723ba7dc996 100644
--- a/pkgs/by-name/en/envio/package.nix
+++ b/pkgs/by-name/en/envio/package.nix
@@ -1,11 +1,14 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, darwin
-, gpgme
-, libgpg-error
-, pkg-config
-, rustPlatform
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  installShellFiles,
+  darwin,
+  gpgme,
+  libgpg-error,
+  pkg-config,
+  rustPlatform,
 }:
 
 let
@@ -24,14 +27,23 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-L7GgPocj32zAfR27dgKK7/OM106cATdCqufSvG3MFYQ=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
 
-  buildInputs = [ libgpg-error gpgme ]
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
+  buildInputs = [
+    libgpg-error
+    gpgme
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
+
+  postInstall = ''
+    installManPage man/*.1
+  '';
 
   meta = with lib; {
-    homepage    = "https://envio-cli.github.io/home";
-    changelog   = "https://github.com/envio-cli/envio/blob/${version}/CHANGELOG.md";
+    homepage = "https://envio-cli.github.io/home";
+    changelog = "https://github.com/envio-cli/envio/blob/${version}/CHANGELOG.md";
     description = "Modern and secure CLI tool for managing environment variables";
     mainProgram = "envio";
     longDescription = ''
@@ -40,8 +52,11 @@ rustPlatform.buildRustPackage rec {
       switch between different configurations and apply them to their current
       environment.
     '';
-    license     = with licenses; [ mit asl20 ];
-    platforms   = platforms.unix;
+    license = with licenses; [
+      mit
+      asl20
+    ];
+    platforms = platforms.unix;
     maintainers = with maintainers; [ afh ];
   };
 }

From fa9f5ff086a7b9cba09803bc38a9d260ea8ca559 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Sun, 29 Sep 2024 20:36:13 +0000
Subject: [PATCH 093/109] oelint-adv: 6.0.0 -> 6.1.0, fetch source from github,
 enable tests

---
 pkgs/by-name/oe/oelint-adv/package.nix | 56 ++++++++++++++++++--------
 1 file changed, 40 insertions(+), 16 deletions(-)

diff --git a/pkgs/by-name/oe/oelint-adv/package.nix b/pkgs/by-name/oe/oelint-adv/package.nix
index 572bca21f63e..4d23cd3a611c 100644
--- a/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/pkgs/by-name/oe/oelint-adv/package.nix
@@ -1,21 +1,27 @@
-{ lib
-, nix-update-script
-, python3
-, fetchPypi
+{
+  lib,
+  nix-update-script,
+  python3Packages,
+  fetchFromGitHub,
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "6.0.0";
-  format = "setuptools";
+  version = "6.1.0";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit version;
-    pname = "oelint_adv";
-    hash = "sha256-tN+DHLj/sey8CipQT5nnwym0JkiIkR8WJg2jKys+4Yk=";
+  src = fetchFromGitHub {
+    owner = "priv-kweihmann";
+    repo = "oelint-adv";
+    rev = "refs/tags/${version}";
+    hash = "sha256-bDttjeHcIK90W7zPrKNAS4B1L9mibaRjQdnUAU2N8as=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  build-system = with python3Packages; [
+    setuptools
+  ];
+
+  dependencies = with python3Packages; [
     anytree
     argcomplete
     colorama
@@ -23,14 +29,32 @@ python3.pkgs.buildPythonApplication rec {
     urllib3
   ];
 
-  pythonRelaxDeps = [ "urllib3" ];
+  nativeCheckInputs = with python3Packages; [
+    pytest-cov-stub
+    pytest-forked
+    pytest-xdist
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # requires network access
+    "TestClassOelintVarsHomepagePing"
+  ];
+
+  pythonRelaxDeps = [ "argcomplete" ];
+
   pythonImportsCheck = [ "oelint_adv" ];
 
-  # Fail to run inside the code the build.
-  doCheck = false;
-
   passthru.updateScript = nix-update-script { };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace-fail "--random-order-bucket=global" "" \
+      --replace-fail "--random-order"               "" \
+      --replace-fail "--force-sugar"                "" \
+      --replace-fail "--old-summary"                ""
+  '';
+
   meta = with lib; {
     description = "Advanced bitbake-recipe linter";
     mainProgram = "oelint-adv";

From b47b572e215325aa16f007e00857808298be5d0e Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 30 Sep 2024 15:50:13 +0200
Subject: [PATCH 094/109] nixos/freeradius: fix group assignment for radius
 user

---
 nixos/modules/services/networking/freeradius.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nixos/modules/services/networking/freeradius.nix b/nixos/modules/services/networking/freeradius.nix
index 19e5b0af1c9d..d747219b29cb 100644
--- a/nixos/modules/services/networking/freeradius.nix
+++ b/nixos/modules/services/networking/freeradius.nix
@@ -74,7 +74,7 @@ in
         /*uid = config.ids.uids.radius;*/
         description = "Radius daemon user";
         isSystemUser = true;
-        groups = "radius";
+        group = "radius";
       };
       groups.radius = {};
     };

From 5dad232a986458775fc3e03debc5e5781faf1d76 Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 14:37:18 +0000
Subject: [PATCH 095/109] melonDS: 0.9.5-unstable-2024-09-18 ->
 0.9.5-unstable-2024-09-29

---
 pkgs/by-name/me/melonDS/package.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/by-name/me/melonDS/package.nix b/pkgs/by-name/me/melonDS/package.nix
index e6d1f3928842..d08bd3c5af83 100644
--- a/pkgs/by-name/me/melonDS/package.nix
+++ b/pkgs/by-name/me/melonDS/package.nix
@@ -27,13 +27,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "melonDS";
-  version = "0.9.5-unstable-2024-09-18";
+  version = "0.9.5-unstable-2024-09-29";
 
   src = fetchFromGitHub {
     owner = "melonDS-emu";
     repo = "melonDS";
-    rev = "2179ca2a417e356f23a09cd88707b20c1bcaf66f";
-    hash = "sha256-93KbpRlVVZc8JoaZiVLKOsTezLqY2Y7J2bFL7RkCcxM=";
+    rev = "e9446fa9dc3ba64c22f8e5bb611ad394b5729eda";
+    hash = "sha256-0YNF9NPKaaKzC3d8cXG4Od3AUc1zxVtuB5u2Q8ruwr0=";
   };
 
   nativeBuildInputs = [

From 2f863c5cf1903c55ffbcb5a39e9e2e5b25d1317a Mon Sep 17 00:00:00 2001
From: "R. Ryantm" <ryantm-bot@ryantm.com>
Date: Mon, 30 Sep 2024 14:37:45 +0000
Subject: [PATCH 096/109] siyuan: 3.1.6 -> 3.1.8

---
 pkgs/by-name/si/siyuan/package.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/by-name/si/siyuan/package.nix b/pkgs/by-name/si/siyuan/package.nix
index 4d098a873694..888707fcf63d 100644
--- a/pkgs/by-name/si/siyuan/package.nix
+++ b/pkgs/by-name/si/siyuan/package.nix
@@ -35,20 +35,20 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "siyuan";
-  version = "3.1.6";
+  version = "3.1.8";
 
   src = fetchFromGitHub {
     owner = "siyuan-note";
     repo = "siyuan";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-xGxZ6xu8R/JoW4X+drEv943y1jah4ZijHB+RNN6hxig=";
+    hash = "sha256-0sV3r3ETW/FeLJZQrkE95oqKeUKKiNA3vpOBPtHzeE8=";
   };
 
   kernel = buildGo123Module {
     name = "${finalAttrs.pname}-${finalAttrs.version}-kernel";
     inherit (finalAttrs) src;
     sourceRoot = "${finalAttrs.src.name}/kernel";
-    vendorHash = "sha256-I57T4/J0pL8/GISi22H1lpE1gkduNXdINvuo+F3YnAs=";
+    vendorHash = "sha256-hxXCq03wxVLONaztZVqLjlqQ/fZNlV2iDF5JIayb5YY=";
 
     patches = [
       (substituteAll {
@@ -90,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: {
       src
       sourceRoot
       ;
-    hash = "sha256-3PdmCbaZZjnTCSpBcvG7nP+zTGamoY/ZXjay7c8Zx5w=";
+    hash = "sha256-g6O6YE1irE3Hy+Xu7MeH97Oc4bq32IDnfP1VLSiF/U4=";
   };
 
   sourceRoot = "${finalAttrs.src.name}/app";

From 5e8d28572a313515bc65ff11e4f642c9f72107f0 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:03:42 +0300
Subject: [PATCH 097/109] linux_testing: 6.11-rc7 -> 6.12-rc1

---
 pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 2eb28ea42025..3e7b76ea97d1 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,7 +1,7 @@
 {
     "testing": {
-        "version": "6.11-rc7",
-        "hash": "sha256:17c8vwvra042mib1s60nqqai0s7qc0qkvrf0j7ziqmy2llq8cbxy"
+        "version": "6.12-rc1",
+        "hash": "sha256:16zwvjcvgndvr0izx0qs2k7v85nvxwlx6j7y2yrdl3shalsdlmx2"
     },
     "6.1": {
         "version": "6.1.111",

From 30c52da8a124c7396d3f60ccdaf5ed0ad7250ef3 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:03:47 +0300
Subject: [PATCH 098/109] linux_6_11: 6.11 -> 6.11.1

---
 pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 3e7b76ea97d1..5c156358839a 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -28,7 +28,7 @@
         "hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv"
     },
     "6.11": {
-        "version": "6.11",
-        "hash": "sha256:0bnbvadm4wvnwzcq319gsgl03ijvvljn7mj8qw87ihpb4p0cdljm"
+        "version": "6.11.1",
+        "hash": "sha256:0ggfg3f8nkcgs2pg7y5ccfrcjzj7j7x4n41g59gzbsp1nirj6dra"
     }
 }

From 8fa87fa112a0897411c3cbb859dac9c5c82cccf0 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:03:55 +0300
Subject: [PATCH 099/109] linux_6_10: 6.10.11 -> 6.10.12

---
 pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 5c156358839a..dfbab081b08d 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -24,8 +24,8 @@
         "hash": "sha256:1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m"
     },
     "6.10": {
-        "version": "6.10.11",
-        "hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv"
+        "version": "6.10.12",
+        "hash": "sha256:1kvkwgnq5gsdqarrdg32qjrbq1dggxp1x2yy2zpsjsaq5y2mhj2j"
     },
     "6.11": {
         "version": "6.11.1",

From 20380379dba41ba46a4a597b7afd74f5560acea6 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:04:00 +0300
Subject: [PATCH 100/109] linux_6_6: 6.6.52 -> 6.6.53

---
 pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index dfbab081b08d..4bd8aab489c8 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -20,8 +20,8 @@
         "hash": "sha256:0axkwfhvq3w2072xjqww476qa3rjglxyqmf72mlp9b5ymswil8kp"
     },
     "6.6": {
-        "version": "6.6.52",
-        "hash": "sha256:1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m"
+        "version": "6.6.53",
+        "hash": "sha256:0yfpyiz57wz9rkwif6n3k2n87waw46ad0h7h0pwhnar53cfihp98"
     },
     "6.10": {
         "version": "6.10.12",

From 7df132ae3e345ab8d41452e514e4548b1571b475 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:04:04 +0300
Subject: [PATCH 101/109] linux_6_1: 6.1.111 -> 6.1.112

---
 pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 4bd8aab489c8..356135e46214 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -4,8 +4,8 @@
         "hash": "sha256:16zwvjcvgndvr0izx0qs2k7v85nvxwlx6j7y2yrdl3shalsdlmx2"
     },
     "6.1": {
-        "version": "6.1.111",
-        "hash": "sha256:1c7d49kppv8xgqlsrfm1286mnvz8vcnbqqh6zgfca2s13px9hwn4"
+        "version": "6.1.112",
+        "hash": "sha256:094z3wfcxqx2rbi072i5frshpy6rdvk39aahwm9nc07vc8sxxn4b"
     },
     "5.15": {
         "version": "5.15.167",

From 6290efed1503c0fe7095e612aded8a9476368a40 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:04:29 +0300
Subject: [PATCH 102/109] linux-rt_5_10: 5.10.224-rt116 -> 5.10.225-rt117

---
 pkgs/os-specific/linux/kernel/linux-rt-5.10.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index e11651d82493..257754d218ec 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.224-rt116"; # updated by ./update-rt.sh
+  version = "5.10.225-rt117"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "06nivms93yjbddv3gl88m7bdrr0676nm3p12iqvsdfr4fg39kc0r";
+    sha256 = "0770757ildcc0cs6alnb5cspg6ysg2wqly9z5q1vjf3mh0xbzmw5";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0d7dcbpn0b0nqmcr35z2f5gsknn4hmqsr01n6j35amzv9fd45iwl";
+      sha256 = "1c14gm4wzcbkhzgdm5lwq1as9is784yra7bc226bz3bqs3h7vmw2";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 

From 6c12dc70050611ec8d50343245d541336226c5c8 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:05:53 +0300
Subject: [PATCH 103/109] linux-rt_6_1: 6.1.108-rt40 -> 6.1.111-rt42

---
 pkgs/os-specific/linux/kernel/linux-rt-6.1.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
index efa9fcc0fb29..29a40809d0fc 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "6.1.108-rt40"; # updated by ./update-rt.sh
+  version = "6.1.111-rt42"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -19,14 +19,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
-    sha256 = "18lcd2b7ffwzqwqnmb948r7z95470bh7jiqps5nil8hfl24lwkiz";
+    sha256 = "1c7d49kppv8xgqlsrfm1286mnvz8vcnbqqh6zgfca2s13px9hwn4";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1ki0rn2cp3jkfna60sjlf2qn77fwpy0l2hdjk3i5xpmavir4mhdj";
+      sha256 = "16yb962fkkvgppbx8glp5ph3h1jl2q1b4m2s8gsf3k9i9yim7v5c";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 

From 0ea0c2a7c6619b15e0dd9247bdd1d0cd62f28382 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:06:31 +0300
Subject: [PATCH 104/109] linux-rt_6_6: 6.6.49-rt41 -> 6.6.52-rt43

---
 pkgs/os-specific/linux/kernel/linux-rt-6.6.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
index b8e4608bd2ff..c27ae8cf120a 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "6.6.49-rt41"; # updated by ./update-rt.sh
+  version = "6.6.52-rt43"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -19,14 +19,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
-    sha256 = "1dyk5pr5g8s5ia7f1vnkid4jghi81pxvwlgn9rmw2n88nz1dlmic";
+    sha256 = "1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0aajxiwawk624y1r36l818m1ikgcl8szl6sapj70dcv95z9ach4i";
+      sha256 = "0g33n9idc3lhbj5z637zm3bgqh601a05cl1s8ji8zbnfh971jcgh";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 

From 318ad2b8cea18e036fd0c9bee66680cf095db4ec Mon Sep 17 00:00:00 2001
From: Artemis Tosini <me@artem.ist>
Date: Mon, 30 Sep 2024 15:12:31 +0000
Subject: [PATCH 105/109] ryujinx: Include more necessary libraries

Ryujinx uses the Avalonia UI framework,
which imports various X11 libraries. When they aren't found,
some features such as context menus do not work.

This was not found earlier because Avalonia does not throw an error
or even warn when the libraries are not found, it just silently breaks.
---
 pkgs/by-name/ry/ryujinx/package.nix | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/pkgs/by-name/ry/ryujinx/package.nix b/pkgs/by-name/ry/ryujinx/package.nix
index 6954ac3f839e..035ac0a0b7ad 100644
--- a/pkgs/by-name/ry/ryujinx/package.nix
+++ b/pkgs/by-name/ry/ryujinx/package.nix
@@ -12,6 +12,12 @@
 , vulkan-loader
 , glew
 , libGL
+, libICE
+, libSM
+, libXcursor
+, libXext
+, libXi
+, libXrandr
 , udev
 , SDL2
 , SDL2_mixer
@@ -49,6 +55,12 @@ buildDotnetModule rec {
 
     # Avalonia UI
     glew
+    libICE
+    libSM
+    libXcursor
+    libXext
+    libXi
+    libXrandr
 
     # Headless executable
     libGL

From 88746a794398da15142f91d42c829a4336616596 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Mon, 30 Sep 2024 18:28:46 +0300
Subject: [PATCH 106/109] linux/common-config: update for 6.12

- refactor Rust checks to prepare for enablement
- enable DRM panic QR codes when Rust is enabled
- enable I2C_DESIGNWARE_CORE explicitly for all the Bay Trail things
- enable all the zram backends because they're separate options now and basically free
- enable the new and returning module compression related options
- enable scx and NFS local IO
---
 .../linux/kernel/common-config.nix            | 38 +++++++++++++++----
 1 file changed, 30 insertions(+), 8 deletions(-)

diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index d3226b767076..0b3da3f22f71 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -29,6 +29,13 @@ let
           (stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) ||
           (stdenv.hostPlatform.isMips && stdenv.hostPlatform.is64bit));
 
+  forceRust = features.rust or false;
+  kernelSupportsRust = lib.versionAtLeast version "6.7";
+
+  # Currently not enabling Rust by default, as upstream requires rustc 1.81
+  defaultRust = false;
+  withRust = (forceRust || defaultRust) && kernelSupportsRust;
+
   options = {
 
     debug = {
@@ -134,6 +141,7 @@ let
 
       # Required to bring up some Bay Trail devices properly
       I2C                              = yes;
+      I2C_DESIGNWARE_CORE              = yes;
       I2C_DESIGNWARE_PLATFORM          = yes;
       PMIC_OPREGION                    = whenAtLeast "5.10" yes;
       INTEL_SOC_PMIC                   = whenAtLeast "5.10" yes;
@@ -484,14 +492,16 @@ let
       DRM_VC4_HDMI_CEC = yes;
     };
 
-    # Enables Rust support in the Linux kernel. This is currently not enabled by default, because it occasionally requires
-    # patching the Linux kernel for the specific Rust toolchain in nixpkgs. These patches usually take a bit
-    # of time to appear and this would hold up Linux kernel and Rust toolchain updates.
-    #
-    # Once Rust in the kernel has more users, we can reconsider enabling it by default.
-    rust = lib.optionalAttrs ((features.rust or false) && lib.versionAtLeast version "6.7") {
+    # Enable Rust and features that depend on it
+    rust = lib.optionalAttrs withRust {
       RUST = yes;
-      GCC_PLUGINS = no;
+
+      # These don't technically require Rust but we probably want to get some more testing
+      # on the whole DRM panic setup before shipping it by default.
+      DRM_PANIC = whenAtLeast "6.12" yes;
+      DRM_PANIC_SCREEN = whenAtLeast "6.12" (freeform "kmsg");
+
+      DRM_PANIC_SCREEN_QR_CODE = whenAtLeast "6.12" yes;
     };
 
     sound = {
@@ -628,6 +638,7 @@ let
       NFS_V4_1              = yes;  # NFSv4.1 client support
       NFS_V4_2              = yes;
       NFS_V4_SECURITY_LABEL = yes;
+      NFS_LOCALIO           = whenAtLeast "6.12" yes;
 
       CIFS_XATTR        = yes;
       CIFS_POSIX        = option yes;
@@ -895,6 +906,12 @@ let
       ZRAM                          = module;
       ZRAM_WRITEBACK                = option yes;
       ZRAM_MULTI_COMP               = whenAtLeast "6.2" yes;
+      ZRAM_BACKEND_842              = whenAtLeast "6.12" yes;
+      ZRAM_BACKEND_DEFLATE          = whenAtLeast "6.12" yes;
+      ZRAM_BACKEND_LZ4              = whenAtLeast "6.12" yes;
+      ZRAM_BACKEND_LZ4HC            = whenAtLeast "6.12" yes;
+      ZRAM_BACKEND_LZO              = whenAtLeast "6.12" yes;
+      ZRAM_BACKEND_ZSTD             = whenAtLeast "6.12" yes;
       ZRAM_DEF_COMP_ZSTD            = whenAtLeast "5.11" yes;
       ZSWAP                         = option yes;
       ZSWAP_COMPRESSOR_DEFAULT_ZSTD = whenAtLeast "5.7" (lib.mkOptionDefault yes);
@@ -973,7 +990,11 @@ let
       THRUSTMASTER_FF    = yes;
       ZEROPLUS_FF        = yes;
 
-      MODULE_COMPRESS      = whenOlder "5.13" yes;
+      MODULE_COMPRESS      = lib.mkMerge [
+        (whenOlder "5.13" yes)
+        (whenAtLeast "6.12" yes)
+      ];
+      MODULE_COMPRESS_ALL  = whenAtLeast "6.12" yes;
       MODULE_COMPRESS_XZ   = yes;
 
       SYSVIPC            = yes;  # System-V IPC
@@ -1179,6 +1200,7 @@ let
       LIRC = yes;
 
       SCHED_CORE = whenAtLeast "5.14" yes;
+      SCHED_CLASS_EXT = whenAtLeast "6.12" yes;
 
       LRU_GEN = whenAtLeast "6.1"  yes;
       LRU_GEN_ENABLED =  whenAtLeast "6.1" yes;

From 3b957cfd41cbd0dc4a7f9e924b5ea67417d55513 Mon Sep 17 00:00:00 2001
From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com>
Date: Mon, 10 Jun 2024 21:14:31 -0400
Subject: [PATCH 107/109] fishPlugins.fish-you-should-use: init at
 0-unstable-2022-02-13

---
 pkgs/shells/fish/plugins/default.nix          |  2 ++
 .../fish/plugins/fish-you-should-use.nix      | 26 +++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 pkgs/shells/fish/plugins/fish-you-should-use.nix

diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix
index 36a5a59e4398..6efb5029121b 100644
--- a/pkgs/shells/fish/plugins/default.nix
+++ b/pkgs/shells/fish/plugins/default.nix
@@ -26,6 +26,8 @@ lib.makeScope newScope (self: with self; {
   fishtape = callPackage ./fishtape.nix { };
   fishtape_3 = callPackage ./fishtape_3.nix { };
 
+  fish-you-should-use = callPackage ./fish-you-should-use.nix { };
+
   foreign-env = callPackage ./foreign-env { };
 
   forgit = callPackage ./forgit.nix { };
diff --git a/pkgs/shells/fish/plugins/fish-you-should-use.nix b/pkgs/shells/fish/plugins/fish-you-should-use.nix
new file mode 100644
index 000000000000..96c2e07447f3
--- /dev/null
+++ b/pkgs/shells/fish/plugins/fish-you-should-use.nix
@@ -0,0 +1,26 @@
+{
+  lib,
+  buildFishPlugin,
+  fetchFromGitHub,
+  unstableGitUpdater,
+}:
+buildFishPlugin {
+  pname = "fish-you-should-use";
+  version = "0-unstable-2022-02-13";
+
+  src = fetchFromGitHub {
+    owner = "paysonwallach";
+    repo = "fish-you-should-use";
+    rev = "a332823512c0b51e71516ebb8341db0528c87926";
+    hash = "sha256-MmGDFTgxEFgHdX95OjH3jKsVG1hdwo6bRht+Lvvqe5Y=";
+  };
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
+    description = "Fish plugin that reminds you to use your aliases";
+    homepage = "https://github.com/paysonwallach/fish-you-should-use";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ anomalocaris ];
+  };
+}

From dea1e380d9d975a4c0fe5a4b20d24bc3eae6a613 Mon Sep 17 00:00:00 2001
From: pcboy <david.hagege@gmail.com>
Date: Mon, 23 Sep 2024 21:36:21 +0900
Subject: [PATCH 108/109] harlequin: init at 1.24.1

---
 pkgs/by-name/ha/harlequin/package.nix         | 79 +++++++++++++++++++
 .../harlequin-bigquery/default.nix            | 43 ++++++++++
 .../harlequin-postgres/default.nix            | 42 ++++++++++
 .../python-modules/sqlfmt/default.nix         | 66 ++++++++++++++++
 .../textual-fastdatatable/default.nix         | 51 ++++++++++++
 .../textual-textarea/default.nix              | 40 ++++++++++
 pkgs/top-level/python-packages.nix            | 10 +++
 7 files changed, 331 insertions(+)
 create mode 100644 pkgs/by-name/ha/harlequin/package.nix
 create mode 100644 pkgs/development/python-modules/harlequin-bigquery/default.nix
 create mode 100644 pkgs/development/python-modules/harlequin-postgres/default.nix
 create mode 100644 pkgs/development/python-modules/sqlfmt/default.nix
 create mode 100644 pkgs/development/python-modules/textual-fastdatatable/default.nix
 create mode 100644 pkgs/development/python-modules/textual-textarea/default.nix

diff --git a/pkgs/by-name/ha/harlequin/package.nix b/pkgs/by-name/ha/harlequin/package.nix
new file mode 100644
index 000000000000..17ce48993e95
--- /dev/null
+++ b/pkgs/by-name/ha/harlequin/package.nix
@@ -0,0 +1,79 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  harlequin,
+  testers,
+  nix-update-script,
+  versionCheckHook,
+  withPostgresAdapter ? true,
+  withBigQueryAdapter ? true,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "harlequin";
+  version = "1.24.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "tconbeer";
+    repo = "harlequin";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3Rb47zkWsC6RJhk1btQc/kwxpFFWVnxY2PJooHB7IzQ=";
+  };
+
+  build-system = with python3Packages; [
+    poetry-core
+  ];
+
+  dependencies =
+    with python3Packages;
+    [
+      textual
+      textual-fastdatatable
+      textual-textarea
+      click
+      rich-click
+      duckdb
+      sqlfmt
+      platformdirs
+      importlib-metadata
+      tomlkit
+      questionary
+      numpy
+      packaging
+    ]
+    ++ lib.optionals withPostgresAdapter [ harlequin-postgres ]
+    ++ lib.optionals withBigQueryAdapter [ harlequin-bigquery ];
+
+  pythonRelaxDeps = [
+    "textual"
+  ];
+
+  pythonImportsCheck = [
+    "harlequin"
+    "harlequin_duckdb"
+    "harlequin_sqlite"
+    "harlequin_vscode"
+  ];
+
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion {
+      package = harlequin;
+    };
+  };
+
+  nativeCheckInputs = [
+    versionCheckHook
+  ];
+
+  meta = {
+    description = "The SQL IDE for Your Terminal";
+    homepage = "https://harlequin.sh";
+    mainProgram = "harlequin";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pcboy ];
+    platforms = lib.platforms.unix;
+    changelog = "https://github.com/tconbeer/harlequin/releases/tag/v${version}";
+  };
+}
diff --git a/pkgs/development/python-modules/harlequin-bigquery/default.nix b/pkgs/development/python-modules/harlequin-bigquery/default.nix
new file mode 100644
index 000000000000..e43e00a4b3b2
--- /dev/null
+++ b/pkgs/development/python-modules/harlequin-bigquery/default.nix
@@ -0,0 +1,43 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  poetry-core,
+  google-cloud-bigquery,
+  google-cloud-bigquery-storage,
+}:
+
+buildPythonPackage rec {
+  pname = "harlequin-bigquery";
+  version = "1.0.2";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "harlequin_bigquery";
+    inherit version;
+    hash = "sha256-uIPYhK4R6N7pqsKY2GozkG76WI+gru2unsK5BxO4+/Y=";
+  };
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    google-cloud-bigquery
+    google-cloud-bigquery-storage
+  ];
+
+  # To prevent circular dependency
+  # as harlequin-bigquery requires harlequin which requires harlequin-bigquery
+  doCheck = false;
+  pythonRemoveDeps = [
+    "harlequin"
+  ];
+
+  meta = {
+    description = "A Harlequin adapter for Google BigQuery";
+    homepage = "https://pypi.org/project/harlequin-bigquery/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pcboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/harlequin-postgres/default.nix b/pkgs/development/python-modules/harlequin-postgres/default.nix
new file mode 100644
index 000000000000..65ec22fb04aa
--- /dev/null
+++ b/pkgs/development/python-modules/harlequin-postgres/default.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  poetry-core,
+  psycopg,
+}:
+
+buildPythonPackage rec {
+  pname = "harlequin-postgres";
+  version = "0.4.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "harlequin_postgres";
+    inherit version;
+    hash = "sha256-1y8S3z6ZTt+PZg75aB/bKnEPdAtqjZ2IqyBtUBk8IFA=";
+  };
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    psycopg
+    psycopg.pool
+  ];
+
+  # To prevent circular dependency
+  # as harlequin-postgres requires harlequin which requires harlequin-postgres
+  doCheck = false;
+  pythonRemoveDeps = [
+    "harlequin"
+  ];
+
+  meta = {
+    description = "A Harlequin adapter for Postgres";
+    homepage = "https://pypi.org/project/harlequin-postgres/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pcboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/sqlfmt/default.nix b/pkgs/development/python-modules/sqlfmt/default.nix
new file mode 100644
index 000000000000..37f23ca89ee7
--- /dev/null
+++ b/pkgs/development/python-modules/sqlfmt/default.nix
@@ -0,0 +1,66 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  fetchFromGitHub,
+  importlib-metadata,
+  black,
+  poetry-core,
+  click,
+  jinja2,
+  platformdirs,
+  tomli,
+  tqdm,
+  gitpython,
+}:
+
+buildPythonPackage rec {
+  pname = "sqlfmt";
+  version = "0.23.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "tconbeer";
+    repo = "sqlfmt";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-g2ycfpsBFMh16pYVzCmde0mhQhhvAhH25i3LJTcG7Ac=";
+  };
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    click
+    importlib-metadata
+    jinja2
+    platformdirs
+    tomli
+    tqdm
+  ];
+
+  optional-dependencies = {
+    jinjafmt = [
+      black
+    ];
+    sqlfmt_primer = [
+      gitpython
+    ];
+  };
+
+  pythonRelaxDeps = [
+    "platformdirs"
+  ];
+
+  pythonImportsCheck = [
+    "sqlfmt"
+  ];
+
+  meta = {
+    description = "Sqlfmt formats your dbt SQL files so you don't have to";
+    homepage = "https://github.com/tconbeer/sqlfmt";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ pcboy ];
+    mainProgram = "sqlfmt";
+  };
+}
diff --git a/pkgs/development/python-modules/textual-fastdatatable/default.nix b/pkgs/development/python-modules/textual-fastdatatable/default.nix
new file mode 100644
index 000000000000..16d5418a2736
--- /dev/null
+++ b/pkgs/development/python-modules/textual-fastdatatable/default.nix
@@ -0,0 +1,51 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  poetry-core,
+  pyarrow,
+  pytz,
+  textual,
+  tzdata,
+  polars,
+}:
+
+buildPythonPackage rec {
+  pname = "textual-fastdatatable";
+  version = "0.9.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "textual_fastdatatable";
+    inherit version;
+    hash = "sha256-AS3SiwetCHkCMu8H81xbp5QvN/2GCvMlWgU4qZKvBRU=";
+  };
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    pyarrow
+    pytz
+    textual
+    tzdata
+  ];
+
+  optional-dependencies = {
+    polars = [
+      polars
+    ];
+  };
+
+  pythonImportsCheck = [
+    "textual_fastdatatable"
+  ];
+
+  meta = {
+    description = "A performance-focused reimplementation of Textual's DataTable widget, with a pluggable data storage backend";
+    homepage = "https://pypi.org/project/textual-fastdatatable/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pcboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/textual-textarea/default.nix b/pkgs/development/python-modules/textual-textarea/default.nix
new file mode 100644
index 000000000000..74293ee3c2e4
--- /dev/null
+++ b/pkgs/development/python-modules/textual-textarea/default.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  poetry-core,
+  pyperclip,
+  textual,
+}:
+
+buildPythonPackage rec {
+  pname = "textual-textarea";
+  version = "0.14.2";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "textual_textarea";
+    inherit version;
+    hash = "sha256-AJU7BBoev6pBrLhvbfF4I7l+E8YnO5jCD5OIsNf6NW0=";
+  };
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    pyperclip
+    textual
+  ];
+
+  pythonImportsCheck = [
+    "textual_textarea"
+  ];
+
+  meta = {
+    description = "A text area (multi-line input) with syntax highlighting for Textual";
+    homepage = "https://pypi.org/project/textual-textarea/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pcboy ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a5aa74d6df42..846865f5269e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5562,6 +5562,10 @@ self: super: with self; {
 
   hap-python = callPackage ../development/python-modules/hap-python { };
 
+  harlequin-bigquery = callPackage ../development/python-modules/harlequin-bigquery { };
+
+  harlequin-postgres = callPackage ../development/python-modules/harlequin-postgres { };
+
   hass-client = callPackage ../development/python-modules/hass-client { };
 
   hass-nabucasa = callPackage ../development/python-modules/hass-nabucasa { };
@@ -14856,6 +14860,8 @@ self: super: with self; {
 
   sqlbag = callPackage ../development/python-modules/sqlbag { };
 
+  sqlfmt = callPackage ../development/python-modules/sqlfmt { };
+
   sqlglot = callPackage ../development/python-modules/sqlglot { };
 
   sqlite-anyio = callPackage ../development/python-modules/sqlite-anyio { };
@@ -15451,10 +15457,14 @@ self: super: with self; {
 
   textual-dev = callPackage ../development/python-modules/textual-dev { };
 
+  textual-fastdatatable = callPackage ../development/python-modules/textual-fastdatatable { };
+
   textual-slider = callPackage ../development/python-modules/textual-slider { };
 
   textual-universal-directorytree = callPackage ../development/python-modules/textual-universal-directorytree { };
 
+  textual-textarea = callPackage ../development/python-modules/textual-textarea { };
+
   testbook = callPackage ../development/python-modules/testbook { };
 
   testing-common-database = callPackage ../development/python-modules/testing-common-database { };

From a2ed02c4c25b8c597f2f2865ebfba6585626d31b Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 30 Sep 2024 19:41:04 +0200
Subject: [PATCH 109/109] cpython: add python team as maintainers

---
 pkgs/development/interpreters/python/cpython/default.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index bb3dba534b79..6d4bd47ba294 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -686,5 +686,6 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
     pkgConfigModules = [ "python3" ];
     platforms = platforms.linux ++ platforms.darwin ++ platforms.windows ++ platforms.freebsd;
     mainProgram = executable;
+    maintainers = lib.teams.python.members;
   };
 })