summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-05-12 14:17:16 +0000
committerAlyssa Ross <hi@alyssa.is>2023-05-12 15:31:21 +0000
commit5e06b3cb197047072fc25e0eb1a507bbd7bf847e (patch)
tree1468ee6a19c687929931e6b3312b54dd0811bcdd
parentb22c35f05bee135148303428e8545aba302b5376 (diff)
downloadnixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.tar
nixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.tar.gz
nixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.tar.bz2
nixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.tar.lz
nixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.tar.xz
nixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.tar.zst
nixpkgs-5e06b3cb197047072fc25e0eb1a507bbd7bf847e.zip
treewide: don't use rustPlatform.rust
This will be deprecated in the next commit.
-rw-r--r--doc/languages-frameworks/rust.section.md13
-rw-r--r--pkgs/applications/accessibility/contrast/default.nix6
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix11
-rw-r--r--pkgs/applications/audio/amberol/default.nix11
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix6
-rw-r--r--pkgs/applications/audio/helvum/default.nix6
-rw-r--r--pkgs/applications/audio/mousai/default.nix11
-rw-r--r--pkgs/applications/audio/netease-cloud-music-gtk/default.nix11
-rw-r--r--pkgs/applications/audio/shortwave/default.nix6
-rw-r--r--pkgs/applications/audio/spot/default.nix6
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix11
-rw-r--r--pkgs/applications/graphics/emblem/default.nix11
-rw-r--r--pkgs/applications/graphics/eyedropper/default.nix11
-rw-r--r--pkgs/applications/graphics/gnome-decoder/default.nix11
-rw-r--r--pkgs/applications/graphics/gnome-obfuscate/default.nix6
-rw-r--r--pkgs/applications/graphics/identity/default.nix11
-rw-r--r--pkgs/applications/graphics/paleta/default.nix11
-rw-r--r--pkgs/applications/graphics/rnote/default.nix6
-rw-r--r--pkgs/applications/kde/angelfish.nix11
-rw-r--r--pkgs/applications/misc/authenticator/default.nix13
-rw-r--r--pkgs/applications/misc/citations/default.nix8
-rw-r--r--pkgs/applications/misc/furtherance/default.nix11
-rw-r--r--pkgs/applications/misc/gnome-solanum/default.nix11
-rw-r--r--pkgs/applications/misc/openbangla-keyboard/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/flare-signal/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/fractal-next/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/fractal/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/fragments/default.nix11
-rw-r--r--pkgs/applications/networking/warp/default.nix11
-rw-r--r--pkgs/applications/version-management/git-cinnabar/default.nix4
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix12
-rw-r--r--pkgs/applications/version-management/sapling/default.nix9
-rw-r--r--pkgs/applications/video/kooha/default.nix6
-rw-r--r--pkgs/applications/video/video-trimmer/default.nix11
-rw-r--r--pkgs/applications/virtualization/krunvm/default.nix10
-rw-r--r--pkgs/applications/virtualization/pods/default.nix6
-rw-r--r--pkgs/development/compilers/rust/clippy.nix10
-rw-r--r--pkgs/development/compilers/rust/default.nix8
-rw-r--r--pkgs/development/compilers/rust/rustc.nix8
-rw-r--r--pkgs/development/compilers/rust/rustfmt.nix8
-rw-r--r--pkgs/development/interpreters/ruby/default.nix6
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix8
-rw-r--r--pkgs/development/libraries/libkrun/default.nix10
-rw-r--r--pkgs/development/libraries/matrix-sdk-crypto-nodejs/default.nix8
-rw-r--r--pkgs/development/python-modules/aardwolf/default.nix5
-rw-r--r--pkgs/development/python-modules/bcrypt/default.nix11
-rw-r--r--pkgs/development/python-modules/breezy/default.nix6
-rw-r--r--pkgs/development/python-modules/cryptg/default.nix10
-rw-r--r--pkgs/development/python-modules/cryptography/default.nix6
-rw-r--r--pkgs/development/python-modules/etebase/default.nix11
-rw-r--r--pkgs/development/python-modules/gb-io/default.nix13
-rw-r--r--pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix12
-rw-r--r--pkgs/development/python-modules/libcst/default.nix6
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix4
-rw-r--r--pkgs/development/python-modules/rtoml/default.nix8
-rw-r--r--pkgs/development/python-modules/rustworkx/default.nix13
-rw-r--r--pkgs/development/python-modules/safetensors/default.nix10
-rw-r--r--pkgs/development/python-modules/setuptools-rust/pyo3-test/default.nix12
-rw-r--r--pkgs/development/python-modules/skytemple-rust/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy-alignments/default.nix11
-rw-r--r--pkgs/development/python-modules/tiktoken/default.nix6
-rw-r--r--pkgs/development/python-modules/tokenizers/default.nix11
-rw-r--r--pkgs/development/python-modules/wasmer/default.nix3
-rw-r--r--pkgs/development/python-modules/watchfiles/default.nix13
-rw-r--r--pkgs/development/python-modules/y-py/default.nix12
-rw-r--r--pkgs/development/tools/ashpd-demo/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/corrosion/default.nix11
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix4
-rw-r--r--pkgs/development/tools/watchman/default.nix11
-rw-r--r--pkgs/games/anki/default.nix3
-rw-r--r--pkgs/games/ddnet/default.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-manager/default.nix10
-rw-r--r--pkgs/servers/ldap/389/default.nix6
-rw-r--r--pkgs/servers/ldap/lldap/default.nix3
-rw-r--r--pkgs/servers/matrix-synapse/default.nix5
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/default.nix4
-rw-r--r--pkgs/tools/filesystems/stratisd/default.nix12
-rw-r--r--pkgs/tools/misc/popsicle/default.nix6
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix6
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix6
82 files changed, 410 insertions, 287 deletions
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index a9a817201c1..7d46bdbd4d4 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -535,7 +535,9 @@ directory of the `tokenizers` project's source archive, we use
 ```nix
 { fetchFromGitHub
 , buildPythonPackage
+, cargo
 , rustPlatform
+, rustc
 , setuptools-rust
 }:
 
@@ -558,11 +560,12 @@ buildPythonPackage rec {
 
   sourceRoot = "source/bindings/python";
 
-  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+  nativeBuildInputs = [
+    cargo
+    rustPlatform.cargoSetupHook
+    rustc
+    setuptools-rust
+  ];
 
   # ...
 }
diff --git a/pkgs/applications/accessibility/contrast/default.nix b/pkgs/applications/accessibility/contrast/default.nix
index 9d3d568be2f..7a7274d8d5e 100644
--- a/pkgs/applications/accessibility/contrast/default.nix
+++ b/pkgs/applications/accessibility/contrast/default.nix
@@ -2,6 +2,7 @@
 , lib
 , fetchFromGitLab
 , cairo
+, cargo
 , desktop-file-utils
 , gettext
 , glib
@@ -12,6 +13,7 @@
 , pango
 , pkg-config
 , rustPlatform
+, rustc
 , wrapGAppsHook4
 }:
 
@@ -40,9 +42,9 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.rustc
+    rustc
     wrapGAppsHook4
   ];
 
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index 9e08d2380c1..0b58fb9c905 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, cargo
 , meson
 , ninja
 , pkg-config
@@ -14,6 +15,7 @@
 , libxml2
 , libxkbcommon
 , rustPlatform
+, rustc
 , feedbackd
 , wrapGAppsHook
 , fetchpatch
@@ -54,11 +56,10 @@ stdenv.mkDerivation rec {
     glib
     wayland
     wrapGAppsHook
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     gtk3
diff --git a/pkgs/applications/audio/amberol/default.nix b/pkgs/applications/audio/amberol/default.nix
index 1c180269b68..68243713e1e 100644
--- a/pkgs/applications/audio/amberol/default.nix
+++ b/pkgs/applications/audio/amberol/default.nix
@@ -2,12 +2,14 @@
 , stdenv
 , fetchFromGitLab
 , rustPlatform
+, cargo
 , desktop-file-utils
 , appstream-glib
 , meson
 , ninja
 , pkg-config
 , reuse
+, rustc
 , m4
 , wrapGAppsHook4
 , glib
@@ -48,11 +50,10 @@ stdenv.mkDerivation rec {
     reuse
     m4
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     glib
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index cf422133674..b5889bcf63c 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -3,11 +3,13 @@
 , rustPlatform
 , fetchFromGitLab
 , fetchpatch
+, cargo
 , meson
 , ninja
 , gettext
 , python3
 , pkg-config
+, rustc
 , glib
 , libhandy
 , gtk3
@@ -55,9 +57,9 @@ stdenv.mkDerivation rec {
     pkg-config
     gettext
     python3
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.rustc
+    rustc
     wrapGAppsHook
     glib
   ];
diff --git a/pkgs/applications/audio/helvum/default.nix b/pkgs/applications/audio/helvum/default.nix
index 78891967fa4..c293c3384d5 100644
--- a/pkgs/applications/audio/helvum/default.nix
+++ b/pkgs/applications/audio/helvum/default.nix
@@ -1,4 +1,5 @@
 { lib
+, cargo
 , clang
 , desktop-file-utils
 , fetchFromGitLab
@@ -11,6 +12,7 @@
 , pipewire
 , pkg-config
 , rustPlatform
+, rustc
 , stdenv
 }:
 
@@ -38,8 +40,8 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     rustPlatform.bindgenHook
   ];
 
diff --git a/pkgs/applications/audio/mousai/default.nix b/pkgs/applications/audio/mousai/default.nix
index 917b54c0869..0da6acc242f 100644
--- a/pkgs/applications/audio/mousai/default.nix
+++ b/pkgs/applications/audio/mousai/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , appstream-glib
+, cargo
 , dbus
 , desktop-file-utils
 , glib
@@ -16,6 +17,7 @@
 , ninja
 , pkg-config
 , rustPlatform
+, rustc
 , wrapGAppsHook4
 }:
 
@@ -43,11 +45,10 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     dbus
diff --git a/pkgs/applications/audio/netease-cloud-music-gtk/default.nix b/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
index b6a04cb934b..8a83da7ff52 100644
--- a/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
+++ b/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , rustPlatform
+, cargo
 , meson
 , ninja
 , pkg-config
@@ -10,6 +11,7 @@
 , appstream-glib
 , desktop-file-utils
 , libxml2
+, rustc
 , wrapGAppsHook4
 , openssl
 , dbus
@@ -47,11 +49,10 @@ stdenv.mkDerivation rec {
     desktop-file-utils # update-desktop-database
     libxml2 # xmllint
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     openssl
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index 807a27e67e1..b64e4bf5e50 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitLab
+, cargo
 , dbus
 , desktop-file-utils
 , gdk-pixbuf
@@ -15,6 +16,7 @@
 , openssl
 , pkg-config
 , rustPlatform
+, rustc
 , sqlite
 , wrapGAppsHook4
 , cmake
@@ -47,9 +49,9 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.rustc
+    rustc
     wrapGAppsHook4
     cmake
   ];
diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix
index e6c826e77f7..1935b3fcf22 100644
--- a/pkgs/applications/audio/spot/default.nix
+++ b/pkgs/applications/audio/spot/default.nix
@@ -7,7 +7,9 @@
 , gettext
 , python3
 , desktop-file-utils
+, cargo
 , rustPlatform
+, rustc
 , pkg-config
 , glib
 , libadwaita
@@ -45,9 +47,9 @@ stdenv.mkDerivation rec {
     gtk4 # for gtk-update-icon-cache
     glib # for glib-compile-schemas
     desktop-file-utils
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.rustc
+    rustc
     wrapGAppsHook4
   ];
 
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
index bb668867da1..284a992d3c3 100644
--- a/pkgs/applications/backup/pika-backup/default.nix
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitLab
 , rustPlatform
 , substituteAll
+, cargo
 , desktop-file-utils
 , git
 , itstool
@@ -10,6 +11,7 @@
 , ninja
 , pkg-config
 , python3
+, rustc
 , wrapGAppsHook4
 , borgbackup
 , gtk4
@@ -55,11 +57,10 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     gtk4
diff --git a/pkgs/applications/graphics/emblem/default.nix b/pkgs/applications/graphics/emblem/default.nix
index 0ec8a48f3c9..7afabcf6670 100644
--- a/pkgs/applications/graphics/emblem/default.nix
+++ b/pkgs/applications/graphics/emblem/default.nix
@@ -3,11 +3,13 @@
 , fetchFromGitLab
 , rustPlatform
 , appstream-glib
+, cargo
 , desktop-file-utils
 , glib
 , meson
 , ninja
 , pkg-config
+, rustc
 , wrapGAppsHook4
 , gtk4
 , libadwaita
@@ -43,11 +45,10 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     gtk4
diff --git a/pkgs/applications/graphics/eyedropper/default.nix b/pkgs/applications/graphics/eyedropper/default.nix
index d088f633c3f..d217ab9e47d 100644
--- a/pkgs/applications/graphics/eyedropper/default.nix
+++ b/pkgs/applications/graphics/eyedropper/default.nix
@@ -2,12 +2,14 @@
 , stdenv
 , fetchFromGitHub
 , rustPlatform
+, cargo
 , pkg-config
 , meson
 , ninja
 , glib
 , gtk4
 , libadwaita
+, rustc
 , wrapGAppsHook4
 , appstream-glib
 , desktop-file-utils
@@ -37,11 +39,10 @@ stdenv.mkDerivation rec {
     wrapGAppsHook4
     appstream-glib
     desktop-file-utils
-  ] ++ (with rustPlatform; [
-    rust.cargo
-    rust.rustc
-    cargoSetupHook
-  ]);
+    cargo
+    rustc
+    rustPlatform.cargoSetupHook
+  ];
 
   buildInputs = [
     glib
diff --git a/pkgs/applications/graphics/gnome-decoder/default.nix b/pkgs/applications/graphics/gnome-decoder/default.nix
index f957a8c291e..473d66d9c8b 100644
--- a/pkgs/applications/graphics/gnome-decoder/default.nix
+++ b/pkgs/applications/graphics/gnome-decoder/default.nix
@@ -3,9 +3,11 @@
 , fetchFromGitLab
 , libclang
 , rustPlatform
+, cargo
 , meson
 , ninja
 , pkg-config
+, rustc
 , glib
 , gtk4
 , libadwaita
@@ -46,11 +48,10 @@ clangStdenv.mkDerivation rec {
     wrapGAppsHook4
     appstream-glib
     desktop-file-utils
-  ] ++ (with rustPlatform; [
-    rust.cargo
-    rust.rustc
-    cargoSetupHook
-  ]);
+    cargo
+    rustc
+    rustPlatform.cargoSetupHook
+  ];
 
   buildInputs = [
     glib
diff --git a/pkgs/applications/graphics/gnome-obfuscate/default.nix b/pkgs/applications/graphics/gnome-obfuscate/default.nix
index 6f228e26a05..3ea22fff3dc 100644
--- a/pkgs/applications/graphics/gnome-obfuscate/default.nix
+++ b/pkgs/applications/graphics/gnome-obfuscate/default.nix
@@ -1,11 +1,13 @@
 { stdenv
 , lib
 , fetchFromGitLab
+, cargo
 , gettext
 , meson
 , ninja
 , pkg-config
 , rustPlatform
+, rustc
 , wrapGAppsHook4
 , appstream-glib
 , desktop-file-utils
@@ -40,8 +42,8 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapGAppsHook4
     appstream-glib
     desktop-file-utils
diff --git a/pkgs/applications/graphics/identity/default.nix b/pkgs/applications/graphics/identity/default.nix
index ba459d5551a..ab2e3426624 100644
--- a/pkgs/applications/graphics/identity/default.nix
+++ b/pkgs/applications/graphics/identity/default.nix
@@ -6,11 +6,13 @@
 , gtk4
 , lib
 , libadwaita
+, cargo
 , meson
 , ninja
 , nix-update-script
 , pkg-config
 , rustPlatform
+, rustc
 , stdenv
 , wrapGAppsHook4
 }:
@@ -41,11 +43,10 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     gst_all_1.gst-libav
diff --git a/pkgs/applications/graphics/paleta/default.nix b/pkgs/applications/graphics/paleta/default.nix
index 4030cf4439a..062c157c3f0 100644
--- a/pkgs/applications/graphics/paleta/default.nix
+++ b/pkgs/applications/graphics/paleta/default.nix
@@ -2,9 +2,11 @@
 , stdenv
 , rustPlatform
 , fetchFromGitHub
+, cargo
 , meson
 , ninja
 , pkg-config
+, rustc
 , wrapGAppsHook4
 , appstream-glib
 , desktop-file-utils
@@ -37,11 +39,10 @@ stdenv.mkDerivation rec {
     wrapGAppsHook4
     appstream-glib
     desktop-file-utils
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     glib
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index 133a72460a8..2a2b6f90964 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , alsa-lib
 , appstream-glib
+, cargo
 , cmake
 , desktop-file-utils
 , glib
@@ -16,6 +17,7 @@
 , poppler
 , python3
 , rustPlatform
+, rustc
 , shared-mime-info
 , wrapGAppsHook4
 , AudioUnit
@@ -51,8 +53,8 @@ stdenv.mkDerivation rec {
     python3 # For the postinstall script
     rustPlatform.bindgenHook
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     shared-mime-info # For update-mime-database
     wrapGAppsHook4
   ];
diff --git a/pkgs/applications/kde/angelfish.nix b/pkgs/applications/kde/angelfish.nix
index 45cfcad67d8..ec98dd30de5 100644
--- a/pkgs/applications/kde/angelfish.nix
+++ b/pkgs/applications/kde/angelfish.nix
@@ -1,5 +1,6 @@
 { lib
 , mkDerivation
+, cargo
 , cmake
 , corrosion
 , extra-cmake-modules
@@ -17,6 +18,7 @@
 , qqc2-desktop-style
 , qtwebengine
 , rustPlatform
+, rustc
 , srcs
 
 # These must be updated in tandem with package updates.
@@ -46,11 +48,10 @@ mkDerivation rec {
     cmake
     corrosion
     extra-cmake-modules
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     kconfig
diff --git a/pkgs/applications/misc/authenticator/default.nix b/pkgs/applications/misc/authenticator/default.nix
index 226219ca248..f31917990f3 100644
--- a/pkgs/applications/misc/authenticator/default.nix
+++ b/pkgs/applications/misc/authenticator/default.nix
@@ -2,11 +2,13 @@
 , stdenv
 , fetchFromGitLab
 , appstream-glib
+, cargo
 , desktop-file-utils
 , meson
 , ninja
 , pkg-config
 , rustPlatform
+, rustc
 , wrapGAppsHook4
 , gdk-pixbuf
 , glib
@@ -45,12 +47,11 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-    bindgenHook
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+    rustPlatform.bindgenHook
+  ];
 
   buildInputs = [
     gdk-pixbuf
diff --git a/pkgs/applications/misc/citations/default.nix b/pkgs/applications/misc/citations/default.nix
index d03f6b4d95e..7fa23a73fb1 100644
--- a/pkgs/applications/misc/citations/default.nix
+++ b/pkgs/applications/misc/citations/default.nix
@@ -1,4 +1,5 @@
-{ darwin
+{ cargo
+, darwin
 , desktop-file-utils
 , fetchFromGitLab
 , gettext
@@ -12,6 +13,7 @@
 , pkg-config
 , poppler
 , rustPlatform
+, rustc
 , stdenv
 , testers
 , wrapGAppsHook4
@@ -43,8 +45,8 @@ stdenv.mkDerivation (finalAttrs: {
     ninja
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapGAppsHook4
   ];
 
diff --git a/pkgs/applications/misc/furtherance/default.nix b/pkgs/applications/misc/furtherance/default.nix
index 89fc8239d74..ef2b9919751 100644
--- a/pkgs/applications/misc/furtherance/default.nix
+++ b/pkgs/applications/misc/furtherance/default.nix
@@ -1,5 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, appstream-glib, desktop-file-utils
-, glib, libadwaita, meson, ninja, pkg-config, wrapGAppsHook4, dbus , gtk4, sqlite }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform
+, appstream-glib, cargo, desktop-file-utils, glib, libadwaita, meson, ninja
+, pkg-config, rustc, wrapGAppsHook4
+, dbus, gtk4, sqlite
+}:
 
 stdenv.mkDerivation rec {
   pname = "furtherance";
@@ -25,8 +28,8 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapGAppsHook4
   ];
 
diff --git a/pkgs/applications/misc/gnome-solanum/default.nix b/pkgs/applications/misc/gnome-solanum/default.nix
index e7d2489bdb5..7e1c5b1eba1 100644
--- a/pkgs/applications/misc/gnome-solanum/default.nix
+++ b/pkgs/applications/misc/gnome-solanum/default.nix
@@ -3,10 +3,12 @@
 , fetchFromGitLab
 , fetchpatch
 , rustPlatform
+, cargo
 , desktop-file-utils
 , meson
 , ninja
 , pkg-config
+, rustc
 , wrapGAppsHook
 , python3
 , git
@@ -55,11 +57,10 @@ stdenv.mkDerivation rec {
     python3
     git
     desktop-file-utils
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     glib
diff --git a/pkgs/applications/misc/openbangla-keyboard/default.nix b/pkgs/applications/misc/openbangla-keyboard/default.nix
index 9434018ff50..45e9c381c7c 100644
--- a/pkgs/applications/misc/openbangla-keyboard/default.nix
+++ b/pkgs/applications/misc/openbangla-keyboard/default.nix
@@ -1,9 +1,11 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cargo
 , cmake
 , pkg-config
 , rustPlatform
+, rustc
 , wrapQtAppsHook
 , ibus
 , qtbase
@@ -25,8 +27,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     rustPlatform.cargoSetupHook
     wrapQtAppsHook
   ];
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 9af205735ac..f3658c5e350 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -2,9 +2,11 @@
 , stdenv
 , rustPlatform
 , fetchFromGitLab
+, cargo
 , meson
 , ninja
 , pkg-config
+, rustc
 , wrapGAppsHook4
 , gdk-pixbuf
 , glib
@@ -65,11 +67,10 @@ stdenv.mkDerivation (finalAttrs: {
 
     # Provides glib-compile-resources to compile gresources
     glib
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     gtk4
diff --git a/pkgs/applications/networking/instant-messengers/flare-signal/default.nix b/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
index 2cc643439b8..5c5ba1f8314 100644
--- a/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, cargo
 , meson
 , ninja
 , pkg-config
@@ -8,6 +9,7 @@
 , libsecret
 , libadwaita
 , rustPlatform
+, rustc
 , desktop-file-utils
 , wrapGAppsHook4
 }:
@@ -40,11 +42,10 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     libadwaita
diff --git a/pkgs/applications/networking/instant-messengers/fractal-next/default.nix b/pkgs/applications/networking/instant-messengers/fractal-next/default.nix
index 3a2d5da373d..d3f2ac09441 100644
--- a/pkgs/applications/networking/instant-messengers/fractal-next/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal-next/default.nix
@@ -1,9 +1,11 @@
 { stdenv
 , lib
 , fetchFromGitLab
+, cargo
 , meson
 , ninja
 , rustPlatform
+, rustc
 , pkg-config
 , glib
 , gtk4
@@ -49,8 +51,8 @@ stdenv.mkDerivation rec {
     pkg-config
     rustPlatform.bindgenHook
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     desktop-file-utils
     appstream-glib
     wrapGAppsHook4
diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix
index 6646c96e3ea..4f92ce733e5 100644
--- a/pkgs/applications/networking/instant-messengers/fractal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix
@@ -2,11 +2,13 @@
 , lib
 , fetchFromGitLab
 , nix-update-script
+, cargo
 , meson
 , ninja
 , gettext
 , python3
 , rustPlatform
+, rustc
 , pkg-config
 , gtksourceview4
 , glib
@@ -49,9 +51,9 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.rustc
+    rustc
     wrapGAppsHook
     glib
   ];
diff --git a/pkgs/applications/networking/p2p/fragments/default.nix b/pkgs/applications/networking/p2p/fragments/default.nix
index 932cfbbbe3a..da74fd5e60a 100644
--- a/pkgs/applications/networking/p2p/fragments/default.nix
+++ b/pkgs/applications/networking/p2p/fragments/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitLab
 , fetchpatch
 , appstream-glib
+, cargo
 , dbus
 , desktop-file-utils
 , git
@@ -14,6 +15,7 @@
 , openssl
 , pkg-config
 , rustPlatform
+, rustc
 , sqlite
 , transmission
 , wrapGAppsHook4
@@ -56,11 +58,10 @@ in stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     dbus
diff --git a/pkgs/applications/networking/warp/default.nix b/pkgs/applications/networking/warp/default.nix
index 81e4c393851..f30b10e99c7 100644
--- a/pkgs/applications/networking/warp/default.nix
+++ b/pkgs/applications/networking/warp/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitLab
 , appstream-glib
+, cargo
 , desktop-file-utils
 , itstool
 , meson
@@ -9,6 +10,7 @@
 , pkg-config
 , python3
 , rustPlatform
+, rustc
 , wrapGAppsHook4
 , glib
 , gtk4
@@ -46,11 +48,10 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     wrapGAppsHook4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     glib
diff --git a/pkgs/applications/version-management/git-cinnabar/default.nix b/pkgs/applications/version-management/git-cinnabar/default.nix
index 1e935a900e9..64fa89f436a 100644
--- a/pkgs/applications/version-management/git-cinnabar/default.nix
+++ b/pkgs/applications/version-management/git-cinnabar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, pkg-config, rustPlatform
+{ stdenv, lib, fetchFromGitHub, cargo, pkg-config, rustPlatform
 , bzip2, curl, zlib, zstd, libiconv, CoreServices
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkg-config rustPlatform.cargoSetupHook rustPlatform.rust.cargo
+    pkg-config rustPlatform.cargoSetupHook cargo
   ];
 
   buildInputs = [ bzip2 curl zlib zstd ]
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 73d481845ff..b9f77d83dde 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchpatch, python3Packages, makeWrapper, gettext, installShellFiles
 , re2Support ? true
-, rustSupport ? stdenv.hostPlatform.isLinux, rustPlatform
+, rustSupport ? stdenv.hostPlatform.isLinux, cargo, rustPlatform, rustc
 , fullBuild ? false
 , gitSupport ? fullBuild
 , guiSupport ? fullBuild, tk
@@ -44,11 +44,11 @@ let
       ++ lib.optional gitSupport pygit2
       ++ lib.optional highlightSupport pygments;
     nativeBuildInputs = [ makeWrapper gettext installShellFiles ]
-      ++ lib.optionals rustSupport (with rustPlatform; [
-           cargoSetupHook
-           rust.cargo
-           rust.rustc
-         ]);
+      ++ lib.optionals rustSupport [
+           rustPlatform.cargoSetupHook
+           cargo
+           rustc
+         ];
     buildInputs = [ docutils ]
       ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
diff --git a/pkgs/applications/version-management/sapling/default.nix b/pkgs/applications/version-management/sapling/default.nix
index b17b5244545..5cec122f182 100644
--- a/pkgs/applications/version-management/sapling/default.nix
+++ b/pkgs/applications/version-management/sapling/default.nix
@@ -4,10 +4,12 @@
 , fetchFromGitHub
 , fetchurl
 , sd
+, cargo
 , curl
 , pkg-config
 , openssl
 , rustPlatform
+, rustc
 , fetchYarnDeps
 , yarn
 , nodejs
@@ -147,11 +149,10 @@ python3Packages.buildPythonApplication {
   nativeBuildInputs = [
     curl
     pkg-config
-  ] ++ (with rustPlatform; [
     myCargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     openssl
diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/applications/video/kooha/default.nix
index 91ead29833b..b1652da73c0 100644
--- a/pkgs/applications/video/kooha/default.nix
+++ b/pkgs/applications/video/kooha/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , appstream-glib
+, cargo
 , desktop-file-utils
 , glib
 , gst_all_1
@@ -14,6 +15,7 @@
 , ninja
 , pkg-config
 , rustPlatform
+, rustc
 , wayland
 , wrapGAppsHook4
 }:
@@ -42,8 +44,8 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapGAppsHook4
   ];
 
diff --git a/pkgs/applications/video/video-trimmer/default.nix b/pkgs/applications/video/video-trimmer/default.nix
index 5df2e3c157b..3999162f572 100644
--- a/pkgs/applications/video/video-trimmer/default.nix
+++ b/pkgs/applications/video/video-trimmer/default.nix
@@ -2,8 +2,10 @@
 , lib
 , fetchFromGitLab
 , rustPlatform
+, cargo
 , pkg-config
 , meson
+, rustc
 , wrapGAppsHook4
 , desktop-file-utils
 , blueprint-compiler
@@ -43,11 +45,10 @@ stdenv.mkDerivation rec {
     # `gtk4-update-icon-cache` during installPhase, thanks to:
     # https://gitlab.gnome.org/YaLTeR/video-trimmer/-/merge_requests/12
     gtk4
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     gtk4
diff --git a/pkgs/applications/virtualization/krunvm/default.nix b/pkgs/applications/virtualization/krunvm/default.nix
index bbf20c6039f..5f365f5c629 100644
--- a/pkgs/applications/virtualization/krunvm/default.nix
+++ b/pkgs/applications/virtualization/krunvm/default.nix
@@ -5,9 +5,11 @@
 , asciidoctor
 , buildah
 , buildah-unwrapped
+, cargo
 , libiconv
 , libkrun
 , makeWrapper
+, rustc
 , sigtool
 }:
 
@@ -27,10 +29,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-Y0FNi/+HuN5SqexHTKjcW6lEaeis7xZDYc2/FOAANIA=";
   };
 
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
     asciidoctor
     makeWrapper
   ] ++ lib.optionals stdenv.isDarwin [ sigtool ];
diff --git a/pkgs/applications/virtualization/pods/default.nix b/pkgs/applications/virtualization/pods/default.nix
index acbf557dd25..a2b3e604181 100644
--- a/pkgs/applications/virtualization/pods/default.nix
+++ b/pkgs/applications/virtualization/pods/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cargo
 , desktop-file-utils
 , glib
 , gtk4
@@ -8,6 +9,7 @@
 , ninja
 , pkg-config
 , rustPlatform
+, rustc
 , wrapGAppsHook4
 , gtksourceview5
 , libadwaita
@@ -38,8 +40,8 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapGAppsHook4
   ];
 
diff --git a/pkgs/development/compilers/rust/clippy.nix b/pkgs/development/compilers/rust/clippy.nix
index 018aba1f356..8459002743b 100644
--- a/pkgs/development/compilers/rust/clippy.nix
+++ b/pkgs/development/compilers/rust/clippy.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, rustPlatform, Security, patchelf }:
+{ stdenv, lib, rustPlatform, rustc, Security, patchelf }:
 
 rustPlatform.buildRustPackage {
   pname = "clippy";
-  inherit (rustPlatform.rust.rustc) version src;
+  inherit (rustc) version src;
 
   separateDebugInfo = true;
 
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage {
   # changes hash of vendor directory otherwise
   dontUpdateAutotoolsGnuConfigScripts = true;
 
-  buildInputs = [ rustPlatform.rust.rustc.llvm ]
+  buildInputs = [ rustc.llvm ]
     ++ lib.optionals stdenv.isDarwin [ Security ];
 
   # fixes: error: the option `Z` is only accepted on the nightly compiler
@@ -31,8 +31,8 @@ rustPlatform.buildRustPackage {
   # [0]: https://github.com/rust-lang/rust/blob/f77f4d55bdf9d8955d3292f709bd9830c2fdeca5/src/bootstrap/builder.rs#L1543
   # [1]: https://github.com/rust-lang/rust/blob/f77f4d55bdf9d8955d3292f709bd9830c2fdeca5/compiler/rustc_codegen_ssa/src/back/linker.rs#L323-L331
   preFixup = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -add_rpath "${rustPlatform.rust.rustc}/lib" "$out/bin/clippy-driver"
-    install_name_tool -add_rpath "${rustPlatform.rust.rustc}/lib" "$out/bin/cargo-clippy"
+    install_name_tool -add_rpath "${rustc}/lib" "$out/bin/clippy-driver"
+    install_name_tool -add_rpath "${rustc}/lib" "$out/bin/cargo-clippy"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 1ef03420ced..5c0cf10fbc9 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -68,6 +68,7 @@ in
         patches = rustcPatches;
 
         # Use boot package set to break cycle
+        inherit (bootstrapRustPackages) cargo rustc;
         rustPlatform = bootRustPlatform;
       } // lib.optionalAttrs (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) {
         stdenv = llvmBootstrapForDarwin.stdenv;
@@ -75,7 +76,10 @@ in
         pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
         pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
       });
-      rustfmt = self.callPackage ./rustfmt.nix { inherit Security; };
+      rustfmt = self.callPackage ./rustfmt.nix {
+        inherit Security;
+        inherit (self.buildRustPackages) rustc;
+      };
       cargo = self.callPackage ./cargo.nix {
         # Use boot package set to break cycle
         rustPlatform = bootRustPlatform;
@@ -83,7 +87,7 @@ in
       };
       cargo-auditable = self.callPackage ./cargo-auditable.nix { };
       cargo-auditable-cargo-wrapper = self.callPackage ./cargo-auditable-cargo-wrapper.nix { };
-      clippy = callPackage ./clippy.nix {
+      clippy = self.callPackage ./clippy.nix {
         # We want to use self, not buildRustPackages, so that
         # buildPackages.clippy uses the cross compiler and supports
         # linting for the target platform.
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index fc43cfe2e26..500b63c6927 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, targetPackages
 , llvmShared, llvmSharedForBuild, llvmSharedForHost, llvmSharedForTarget, llvmPackages
 , fetchurl, file, python3
-, darwin, cmake, rust, rustPlatform
+, darwin, cargo, cmake, rust, rustc, rustPlatform
 , pkg-config, openssl, xz
 , libiconv
 , which, libffi
@@ -73,8 +73,8 @@ in stdenv.mkDerivation rec {
     cxxForTarget = "${pkgsBuildTarget.targetPackages.stdenv.cc}/bin/${pkgsBuildTarget.targetPackages.stdenv.cc.targetPrefix}c++";
   in [
     "--release-channel=stable"
-    "--set=build.rustc=${rustPlatform.rust.rustc}/bin/rustc"
-    "--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo"
+    "--set=build.rustc=${rustc}/bin/rustc"
+    "--set=build.cargo=${cargo}/bin/cargo"
     "--enable-rpath"
     "--enable-vendor"
     "--build=${rust.toRustTargetSpec stdenv.buildPlatform}"
@@ -180,7 +180,7 @@ in stdenv.mkDerivation rec {
   depsBuildBuild = [ pkgsBuildHost.stdenv.cc pkg-config ];
 
   nativeBuildInputs = [
-    file python3 rustPlatform.rust.rustc cmake
+    file python3 rustc cmake
     which libffi removeReferencesTo pkg-config xz
   ];
 
diff --git a/pkgs/development/compilers/rust/rustfmt.nix b/pkgs/development/compilers/rust/rustfmt.nix
index 1ff36e71e82..4bee49eff5a 100644
--- a/pkgs/development/compilers/rust/rustfmt.nix
+++ b/pkgs/development/compilers/rust/rustfmt.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, rustPlatform, Security, asNightly ? false }:
+{ lib, stdenv, rustPlatform, rustc, Security, asNightly ? false }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rustfmt" + lib.optionalString asNightly "-nightly";
-  inherit (rustPlatform.rust.rustc) version src;
+  inherit (rustc) version src;
 
   # the rust source tarball already has all the dependencies vendored, no need to fetch them again
   cargoVendorDir = "vendor";
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
   dontUpdateAutotoolsGnuConfigScripts = true;
 
   buildInputs = [
-    rustPlatform.rust.rustc.llvm
+    rustc.llvm
   ] ++ lib.optional stdenv.isDarwin Security;
 
   # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
 
   # As of rustc 1.45.0, these env vars are required to build rustfmt (due to
   # https://github.com/rust-lang/rust/pull/72001)
-  CFG_RELEASE = rustPlatform.rust.rustc.version;
+  CFG_RELEASE = rustc.version;
   CFG_RELEASE_CHANNEL = if asNightly then "nightly" else "stable";
 
   meta = with lib; {
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 806b1382bf9..273f5f8d8b1 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -2,7 +2,7 @@
 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
 , zlib, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison
 , autoconf, libiconv, libobjc, libunwind, Foundation
-, buildEnv, bundler, bundix, rustPlatform
+, buildEnv, bundler, bundix, cargo, rustPlatform, rustc
 , makeBinaryWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo
 , openssl, openssl_1_1
 , linuxPackages, libsystemtap
@@ -48,7 +48,7 @@ let
       #     $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb
       # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib
       , removeReferencesTo, jitSupport ? yjitSupport
-      , rustPlatform, yjitSupport ? yjitSupported
+      , cargo, rustPlatform, rustc, yjitSupport ? yjitSupported
       , autoreconfHook, bison, autoconf
       , buildEnv, bundler, bundix
       , libiconv, libobjc, libunwind, Foundation
@@ -78,7 +78,7 @@ let
         nativeBuildInputs = [ autoreconfHook bison ]
           ++ (op docSupport groff)
           ++ (ops (dtraceSupport && stdenv.isLinux) [ systemtap libsystemtap ])
-          ++ ops yjitSupport [ rustPlatform.cargoSetupHook rustPlatform.rust.cargo rustPlatform.rust.rustc ]
+          ++ ops yjitSupport [ rustPlatform.cargoSetupHook cargo rustc ]
           ++ op useBaseRuby baseRuby;
         buildInputs = [ autoconf ]
           ++ (op fiddleSupport libffi)
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 48bd326ec62..037dd57ed64 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cargo
 , cmake
 , openssl
 , perl
@@ -45,10 +46,9 @@ stdenv.mkDerivation rec {
     cmake
     perl
     pkg-config
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-  ]) ++ lib.optionals stdenv.isDarwin [
+    rustPlatform.cargoSetupHook
+    cargo
+  ] ++ lib.optionals stdenv.isDarwin [
     fixDarwinDylibNames
   ];
 
diff --git a/pkgs/development/libraries/libkrun/default.nix b/pkgs/development/libraries/libkrun/default.nix
index e2d80405068..b924dc5e390 100644
--- a/pkgs/development/libraries/libkrun/default.nix
+++ b/pkgs/development/libraries/libkrun/default.nix
@@ -3,12 +3,14 @@
 , fetchFromGitHub
 , fetchurl
 , rustPlatform
+, cargo
 , pkg-config
 , dtc
 , glibc
 , openssl
 , libiconv
 , libkrunfw
+, rustc
 , Hypervisor
 , sevVariant ? false
 }:
@@ -32,10 +34,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-nbtp7FP+ObVGfDOEzTt4Z7TZwcNlREczTKIAXGSflZU=";
   };
 
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
   ] ++ lib.optional sevVariant pkg-config;
 
   buildInputs = [
diff --git a/pkgs/development/libraries/matrix-sdk-crypto-nodejs/default.nix b/pkgs/development/libraries/matrix-sdk-crypto-nodejs/default.nix
index aa9278a1456..2d77c6e5874 100644
--- a/pkgs/development/libraries/matrix-sdk-crypto-nodejs/default.nix
+++ b/pkgs/development/libraries/matrix-sdk-crypto-nodejs/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, napi-rs-cli, nodejs, libiconv }:
+{ lib, stdenv, fetchFromGitHub
+, cargo, rustPlatform, rustc, napi-rs-cli, nodejs, libiconv
+}:
 
 stdenv.mkDerivation rec {
   pname = "matrix-sdk-crypto-nodejs";
@@ -26,8 +28,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     napi-rs-cli
     nodejs
   ];
diff --git a/pkgs/development/python-modules/aardwolf/default.nix b/pkgs/development/python-modules/aardwolf/default.nix
index debfd054c6e..83db24896cb 100644
--- a/pkgs/development/python-modules/aardwolf/default.nix
+++ b/pkgs/development/python-modules/aardwolf/default.nix
@@ -6,6 +6,7 @@
 , asyauth
 , asysocks
 , buildPythonPackage
+, cargo
 , colorama
 , fetchFromGitHub
 , iconv
@@ -14,6 +15,7 @@
 , pyperclip
 , pythonOlder
 , rustPlatform
+, rustc
 , setuptools-rust
 , tqdm
 , unicrypto
@@ -46,10 +48,9 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     rustPlatform.cargoSetupHook
     setuptools-rust
-  ] ++ (with rustPlatform.rust; [
     cargo
     rustc
-  ]);
+  ];
 
   propagatedBuildInputs = [
     arc4
diff --git a/pkgs/development/python-modules/bcrypt/default.nix b/pkgs/development/python-modules/bcrypt/default.nix
index d0084146003..f0e23e713c3 100644
--- a/pkgs/development/python-modules/bcrypt/default.nix
+++ b/pkgs/development/python-modules/bcrypt/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
+, cargo
 , rustPlatform
+, rustc
 , setuptools
 , setuptools-rust
 , isPyPy
@@ -41,11 +43,10 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     setuptools
     setuptools-rust
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   # Remove when https://github.com/NixOS/nixpkgs/pull/190093 lands.
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/development/python-modules/breezy/default.nix b/pkgs/development/python-modules/breezy/default.nix
index 12f892b7e57..3d0ad09857b 100644
--- a/pkgs/development/python-modules/breezy/default.nix
+++ b/pkgs/development/python-modules/breezy/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, cargo
 , configobj
 , cython
 , dulwich
@@ -18,6 +19,7 @@
 , pythonOlder
 , installShellFiles
 , rustPlatform
+, rustc
 , setuptools-gettext
 , setuptools-rust
 , testers
@@ -49,8 +51,8 @@ buildPythonPackage rec {
     cython
     installShellFiles
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     setuptools-gettext
     setuptools-rust
   ];
diff --git a/pkgs/development/python-modules/cryptg/default.nix b/pkgs/development/python-modules/cryptg/default.nix
index ab599635199..52fec2afc23 100644
--- a/pkgs/development/python-modules/cryptg/default.nix
+++ b/pkgs/development/python-modules/cryptg/default.nix
@@ -3,7 +3,9 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, cargo
 , rustPlatform
+, rustc
 , setuptools-rust
 , libiconv
 }:
@@ -27,11 +29,11 @@ buildPythonPackage rec {
     hash = "sha256-AqSVFOB9Lfvk9h3GtoYlEOXBEt7YZYLhCDNKM9upQ2U=";
   };
 
-  nativeBuildInputs = with rustPlatform;[
+  nativeBuildInputs = [
     setuptools-rust
-    cargoSetupHook
-    rust.rustc
-    rust.cargo
+    rustPlatform.cargoSetupHook
+    rustc
+    cargo
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
index ef4220a42b7..199cfd86517 100644
--- a/pkgs/development/python-modules/cryptography/default.nix
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -4,6 +4,8 @@
 , buildPythonPackage
 , fetchPypi
 , rustPlatform
+, cargo
+, rustc
 , setuptools-rust
 , openssl
 , Security
@@ -58,7 +60,9 @@ buildPythonPackage rec {
   ] ++ [
     rustPlatform.cargoSetupHook
     setuptools-rust
-  ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
+    cargo
+    rustc
+  ];
 
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security libiconv ]
diff --git a/pkgs/development/python-modules/etebase/default.nix b/pkgs/development/python-modules/etebase/default.nix
index f12fd2b5ca7..15815f33ee4 100644
--- a/pkgs/development/python-modules/etebase/default.nix
+++ b/pkgs/development/python-modules/etebase/default.nix
@@ -3,7 +3,9 @@
 , fetchFromGitHub
 , buildPythonPackage
 , rustPlatform
+, cargo
 , pkg-config
+, rustc
 , rustfmt
 , setuptools-rust
 , openssl
@@ -34,11 +36,10 @@ buildPythonPackage rec {
     pkg-config
     rustfmt
     setuptools-rust
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/python-modules/gb-io/default.nix b/pkgs/development/python-modules/gb-io/default.nix
index bd5dd2cab1f..930aafc5ebf 100644
--- a/pkgs/development/python-modules/gb-io/default.nix
+++ b/pkgs/development/python-modules/gb-io/default.nix
@@ -3,6 +3,8 @@
 , fetchFromGitHub
 , buildPythonPackage
 , rustPlatform
+, cargo
+, rustc
 , setuptools-rust
 , unittestCheckHook
 }:
@@ -26,11 +28,12 @@ buildPythonPackage rec {
 
   sourceRoot = "source";
 
-  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+  nativeBuildInputs = [
+    setuptools-rust
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   nativeCheckInputs = [ unittestCheckHook ];
 
diff --git a/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix b/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
index 1bcfe740952..513bf89cfc0 100644
--- a/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
+++ b/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , fetchFromGitHub
 , rustPlatform
+, cargo
+, rustc
 , setuptools-rust
 , json-stream-rs-tokenizer
 , json-stream
@@ -31,12 +33,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     setuptools-rust
-  ]
-  ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   # Tests depend on json-stream, which depends on this package.
   # To avoid infinite recursion, we only enable tests when building passthru.tests.
diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix
index 8fef5c7151b..6f3f2d3def6 100644
--- a/pkgs/development/python-modules/libcst/default.nix
+++ b/pkgs/development/python-modules/libcst/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, cargo
 , hypothesis
 , libiconv
 , pytestCheckHook
@@ -9,6 +10,7 @@
 , pythonOlder
 , pyyaml
 , rustPlatform
+, rustc
 , setuptools-rust
 , setuptools-scm
 , typing-extensions
@@ -50,7 +52,9 @@ buildPythonPackage rec {
     setuptools-rust
     setuptools-scm
     rustPlatform.cargoSetupHook
-  ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
+    cargo
+    rustc
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index e46e706c865..cade2325c61 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -3,7 +3,9 @@
 , pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
+, cargo
 , rustPlatform
+, rustc
   # Python requirements
 , dill
 , numpy
@@ -67,7 +69,7 @@ buildPythonPackage rec {
     hash = "sha256-imktzBpgP+lq6FsVWIUK82+t76gKTgt53kPfKOnsseQ=";
   };
 
-  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ rust.rustc rust.cargo cargoSetupHook ]);
+  nativeBuildInputs = [ setuptools-rust rustc cargo rustPlatform.cargoSetupHook ];
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
diff --git a/pkgs/development/python-modules/rtoml/default.nix b/pkgs/development/python-modules/rtoml/default.nix
index d59a988a10e..a7130a10192 100644
--- a/pkgs/development/python-modules/rtoml/default.nix
+++ b/pkgs/development/python-modules/rtoml/default.nix
@@ -1,10 +1,12 @@
 { lib
 , buildPythonPackage
+, cargo
 , fetchFromGitHub
 , libiconv
 , pytestCheckHook
 , pythonOlder
 , rustPlatform
+, rustc
 , setuptools-rust
 }:
 
@@ -29,9 +31,9 @@ buildPythonPackage rec {
 
   nativeBuildInputs = with rustPlatform; [
     setuptools-rust
-    rust.rustc
-    rust.cargo
-    cargoSetupHook
+    rustc
+    cargo
+    rustPlatform.cargoSetupHook
   ];
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/rustworkx/default.nix b/pkgs/development/python-modules/rustworkx/default.nix
index 09f15fdc1c9..9054cb14d27 100644
--- a/pkgs/development/python-modules/rustworkx/default.nix
+++ b/pkgs/development/python-modules/rustworkx/default.nix
@@ -1,6 +1,8 @@
 { fetchFromGitHub
 , buildPythonPackage
+, cargo
 , rustPlatform
+, rustc
 , setuptools-rust
 , numpy
 , fixtures
@@ -26,11 +28,12 @@ buildPythonPackage rec {
     hash = "sha256-imhiPj763iumRQb+oeBOpICD1nCvzZx+3yQWu1QRRQQ=";
   };
 
-  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+  nativeBuildInputs = [
+    setuptools-rust
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [ numpy ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/pkgs/development/python-modules/safetensors/default.nix b/pkgs/development/python-modules/safetensors/default.nix
index 407dc5bebbe..c268dad9203 100644
--- a/pkgs/development/python-modules/safetensors/default.nix
+++ b/pkgs/development/python-modules/safetensors/default.nix
@@ -1,12 +1,14 @@
 { stdenv
 , lib
 , buildPythonPackage
+, cargo
 , fetchFromGitHub
 , fetchpatch
 , h5py
 , numpy
 , pythonOlder
 , pytestCheckHook
+, rustc
 , rustPlatform
 , setuptools-rust
 , torch
@@ -45,11 +47,11 @@ buildPythonPackage rec {
 
   sourceRoot = "source/bindings/python";
 
-  nativeBuildInputs = with rustPlatform; [
+  nativeBuildInputs = [
     setuptools-rust
-    rust.cargo
-    rust.rustc
-    cargoSetupHook
+    cargo
+    rustc
+    rustPlatform.cargoSetupHook
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/python-modules/setuptools-rust/pyo3-test/default.nix b/pkgs/development/python-modules/setuptools-rust/pyo3-test/default.nix
index 31730d6ff2d..3a82ef79925 100644
--- a/pkgs/development/python-modules/setuptools-rust/pyo3-test/default.nix
+++ b/pkgs/development/python-modules/setuptools-rust/pyo3-test/default.nix
@@ -1,5 +1,7 @@
 { callPackage
+, cargo
 , rustPlatform
+, rustc
 , setuptools-rust
 }:
 
@@ -11,11 +13,11 @@ callPackage ../../../tools/rust/maturin/pyo3-test/generic.nix {
   #
   format = "setuptools";
 
-  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+  nativeBuildInputs = [ setuptools-rust ] ++ [
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   preConfigure = ''
     # sourceRoot puts Cargo.lock in the wrong place due to the
diff --git a/pkgs/development/python-modules/skytemple-rust/default.nix b/pkgs/development/python-modules/skytemple-rust/default.nix
index e894dec0dec..47bbf831afd 100644
--- a/pkgs/development/python-modules/skytemple-rust/default.nix
+++ b/pkgs/development/python-modules/skytemple-rust/default.nix
@@ -1,10 +1,12 @@
 { lib
 , stdenv
 , buildPythonPackage
+, cargo
 , fetchFromGitHub
 , libiconv
 , Foundation
 , rustPlatform
+, rustc
 , setuptools-rust
 , range-typed-integers
 }:
@@ -27,7 +29,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
-  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
+  nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ];
   propagatedBuildInputs = [ range-typed-integers ];
 
   GETTEXT_SYSTEM = true;
diff --git a/pkgs/development/python-modules/spacy-alignments/default.nix b/pkgs/development/python-modules/spacy-alignments/default.nix
index d6081b48632..ff6e0eff1f0 100644
--- a/pkgs/development/python-modules/spacy-alignments/default.nix
+++ b/pkgs/development/python-modules/spacy-alignments/default.nix
@@ -1,10 +1,12 @@
 { lib
 , stdenv
+, cargo
 , fetchPypi
 , fetchpatch
 , buildPythonPackage
 , isPy3k
 , rustPlatform
+, rustc
 , setuptools-rust
 , libiconv
 }:
@@ -28,11 +30,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     setuptools-rust
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/pkgs/development/python-modules/tiktoken/default.nix b/pkgs/development/python-modules/tiktoken/default.nix
index 654cea0839e..13eaecc0fb4 100644
--- a/pkgs/development/python-modules/tiktoken/default.nix
+++ b/pkgs/development/python-modules/tiktoken/default.nix
@@ -4,6 +4,8 @@
 , fetchPypi
 , pythonOlder
 , rustPlatform
+, cargo
+, rustc
 , setuptools-rust
 , libiconv
 , requests
@@ -40,7 +42,9 @@ buildPythonPackage {
   nativeBuildInputs = [
     rustPlatform.cargoSetupHook
     setuptools-rust
-  ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
+    cargo
+    rustc
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/pkgs/development/python-modules/tokenizers/default.nix b/pkgs/development/python-modules/tokenizers/default.nix
index 3f85893ad7c..a94a1205e12 100644
--- a/pkgs/development/python-modules/tokenizers/default.nix
+++ b/pkgs/development/python-modules/tokenizers/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
+, cargo
 , datasets
 , fetchFromGitHub
 , fetchurl
@@ -12,6 +13,7 @@
 , pythonOlder
 , requests
 , rustPlatform
+, rustc
 , Security
 , setuptools-rust
 }:
@@ -82,11 +84,10 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     pkg-config
     setuptools-rust
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     openssl
diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix
index 0fbd9d2f8d7..3cf2ad0e73e 100644
--- a/pkgs/development/python-modules/wasmer/default.nix
+++ b/pkgs/development/python-modules/wasmer/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , rustPlatform
+, rustc
 , callPackage
 , fetchFromGitHub
 , buildPythonPackage
@@ -93,7 +94,7 @@ rec {
     pname = "wasmer-compiler-llvm";
     buildAndTestSubdir = "packages/compiler-llvm";
     cargoHash = "sha256-xawbf5gXXV+7I2F2fDSaMvjtFvGDBtqX7wL3c28TSbA=";
-    extraNativeBuildInputs = [ rustPlatform.rust.rustc.llvm ];
+    extraNativeBuildInputs = [ rustc.llvm ];
     extraBuildInputs = [ libffi libxml2.out ncurses zlib ];
   };
 
diff --git a/pkgs/development/python-modules/watchfiles/default.nix b/pkgs/development/python-modules/watchfiles/default.nix
index bbf8a71cb4b..b644571b9e3 100644
--- a/pkgs/development/python-modules/watchfiles/default.nix
+++ b/pkgs/development/python-modules/watchfiles/default.nix
@@ -2,8 +2,10 @@
 , stdenv
 , anyio
 , buildPythonPackage
+, cargo
 , fetchFromGitHub
 , rustPlatform
+, rustc
 , setuptools-rust
 , pythonOlder
 , dirty-equals
@@ -41,12 +43,11 @@ buildPythonPackage rec {
   ];
 
   nativeBuildInputs = [
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    maturinBuildHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+    cargo
+    rustc
+  ];
 
   propagatedBuildInputs = [
     anyio
diff --git a/pkgs/development/python-modules/y-py/default.nix b/pkgs/development/python-modules/y-py/default.nix
index f3c681eb4f8..accb1844b4c 100644
--- a/pkgs/development/python-modules/y-py/default.nix
+++ b/pkgs/development/python-modules/y-py/default.nix
@@ -3,6 +3,8 @@
 , buildPythonPackage
 , fetchPypi
 , rustPlatform
+, cargo
+, rustc
 , libiconv
 , pytestCheckHook
 }:
@@ -24,11 +26,11 @@ buildPythonPackage rec {
     hash = "sha256-tpUDGBIHqXsKPsK+1h2sNuiV2I0pGVBokKh+hdFazRQ=";
   };
 
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    maturinBuildHook
-    rust.cargo
-    rust.rustc
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+    cargo
+    rustc
   ];
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/development/tools/ashpd-demo/default.nix b/pkgs/development/tools/ashpd-demo/default.nix
index 2103d74e072..c489eddd117 100644
--- a/pkgs/development/tools/ashpd-demo/default.nix
+++ b/pkgs/development/tools/ashpd-demo/default.nix
@@ -2,9 +2,11 @@
 , lib
 , fetchFromGitHub
 , nix-update-script
+, cargo
 , meson
 , ninja
 , rustPlatform
+, rustc
 , pkg-config
 , glib
 , libshumate
@@ -44,9 +46,9 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.rustc
+    rustc
     wrapGAppsHook4
     rustPlatform.bindgenHook
     desktop-file-utils
diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix
index 0907923e6fc..e4084051fab 100644
--- a/pkgs/development/tools/build-managers/corrosion/default.nix
+++ b/pkgs/development/tools/build-managers/corrosion/default.nix
@@ -1,8 +1,10 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cargo
 , cmake
 , rustPlatform
+, rustc
 , libiconv
 }:
 
@@ -30,11 +32,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   meta = with lib; {
     description = "Tool for integrating Rust into an existing CMake project";
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
index 8e7bba4d00e..18631324057 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -212,7 +212,7 @@ lib.composeManyExtensions [
             nativeBuildInputs = with pkgs;
               (old.nativeBuildInputs or [ ])
                 ++ lib.optionals (lib.versionAtLeast old.version "4")
-                (with pkgs.rustPlatform; [ rust.rustc rust.cargo cargoSetupHook self.setuptools-rust ]);
+                [ rustc cargo rustPlatform.cargoSetupHook self.setuptools-rust ];
           } // lib.optionalAttrs (lib.versionAtLeast old.version "4") {
             cargoDeps =
               pkgs.rustPlatform.fetchCargoTarball
@@ -402,7 +402,7 @@ lib.composeManyExtensions [
                 ++ lib.optionals (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
                 ++ lib.optional (!self.isPyPy) pyBuildPackages.cffi
                 ++ lib.optional (lib.versionAtLeast old.version "3.5" && !isWheel)
-                (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ])
+                (with pkgs; [ rustPlatform.cargoSetupHook cargo rustc ])
                 ++ [ pkg-config ]
               ;
               buildInputs = (old.buildInputs or [ ])
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index c68683dbecb..33db2dd144d 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -1,4 +1,5 @@
 { boost
+, cargo
 , cmake
 , config
 , CoreServices
@@ -25,6 +26,7 @@
 , pkg-config
 , python3
 , rustPlatform
+, rustc
 , stateDir ? "/tmp"
 , stdenv
 , wangle
@@ -56,11 +58,10 @@ stdenv.mkDerivation rec {
     cmake
     pkg-config
     ensureNewerSourcesForZipFilesHook
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    rust.cargo
-    rust.rustc
-  ]);
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
 
   buildInputs = [
     pcre
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index 38cb2c806f6..9b3c3367d3d 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , fetchYarnDeps
 , fixup_yarn_lock
+, cargo
 , installShellFiles
 , lame
 , mpv-unwrapped
@@ -135,7 +136,7 @@ python3.pkgs.buildPythonApplication {
     offlineYarn
 
     installShellFiles
-    rustPlatform.rust.cargo
+    cargo
     rustPlatform.cargoSetupHook
     ninja
     qt6.wrapQtAppsHook
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix
index dd2b09836d7..10e4271b1d0 100644
--- a/pkgs/games/ddnet/default.nix
+++ b/pkgs/games/ddnet/default.nix
@@ -2,10 +2,12 @@
 , stdenv
 , fetchFromGitHub
 , fetchpatch
+, cargo
 , cmake
 , ninja
 , pkg-config
 , rustPlatform
+, rustc
 , curl
 , freetype
 , libGLU
@@ -52,8 +54,8 @@ stdenv.mkDerivation rec {
     cmake
     ninja
     pkg-config
-    rustPlatform.rust.rustc
-    rustPlatform.rust.cargo
+    rustc
+    cargo
     rustPlatform.cargoSetupHook
   ];
 
diff --git a/pkgs/os-specific/linux/firmware/firmware-manager/default.nix b/pkgs/os-specific/linux/firmware/firmware-manager/default.nix
index bb7033e8774..2e059e74a37 100644
--- a/pkgs/os-specific/linux/firmware/firmware-manager/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-manager/default.nix
@@ -2,7 +2,9 @@
 , stdenv
 , rustPlatform
 , fetchFromGitHub
+, cargo
 , pkg-config
+, rustc
 , openssl
 , udev
 , gtk3
@@ -32,11 +34,11 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace '$(DESTDIR)/etc' '$(DESTDIR)$(prefix)/etc'
   '';
 
-  nativeBuildInputs = with rustPlatform; [
-    rust.cargo
-    rust.rustc
+  nativeBuildInputs = [
+    cargo
+    rustc
     pkg-config
-    cargoSetupHook
+    rustPlatform.cargoSetupHook
     wrapGAppsHook
   ];
 
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index c14caa53175..47003f8b56a 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , autoconf
 , automake
+, cargo
 , libtool
 , pkg-config
 , cracklib
@@ -25,6 +26,7 @@
 , pcre2
 , python3
 , rustPlatform
+, rustc
 , openssl
 , withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
 , zlib
@@ -57,8 +59,8 @@ stdenv.mkDerivation rec {
     libtool
     pkg-config
     python3
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
   ]
   ++ lib.optional withCockpit rsync;
 
diff --git a/pkgs/servers/ldap/lldap/default.nix b/pkgs/servers/ldap/lldap/default.nix
index c4c6e1cc438..1eb885be785 100644
--- a/pkgs/servers/ldap/lldap/default.nix
+++ b/pkgs/servers/ldap/lldap/default.nix
@@ -6,6 +6,7 @@
 , lldap
 , nixosTests
 , rustPlatform
+, rustc
 , stdenv
 , wasm-bindgen-cli
 , wasm-pack
@@ -25,7 +26,7 @@ let
 
   # replace with upstream wasm rustc, after resolution of
   # https://github.com/NixOS/nixpkgs/issues/89426
-  rustc-wasm = (rustPlatform.rust.rustc.override {
+  rustc-wasm = (rustc.override {
     stdenv = stdenv.override {
       targetPlatform = stdenv.targetPlatform // {
         parsed = {
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 70ad9591161..cc1a695d601 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3, openssl, rustPlatform
+{ lib, stdenv, fetchFromGitHub, python3, openssl, cargo, rustPlatform, rustc
 , enableSystemd ? lib.meta.availableOn stdenv.hostPlatform python3.pkgs.systemd
 , nixosTests
 , enableRedis ? true
@@ -38,10 +38,9 @@ buildPythonApplication rec {
     poetry-core
     rustPlatform.cargoSetupHook
     setuptools-rust
-  ] ++ (with rustPlatform.rust; [
     cargo
     rustc
-  ]);
+  ];
 
   buildInputs = [ openssl ];
 
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix b/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
index 840860f90d9..bf5cecd821f 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
@@ -6,7 +6,9 @@
 , matrix-sdk-crypto-nodejs
 , mkYarnPackage
 , rust
+, cargo
 , rustPlatform
+, rustc
 , napi-rs-cli
 , nodejs
 }:
@@ -44,8 +46,8 @@ mkYarnPackage rec {
 
   nativeBuildInputs = [
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     napi-rs-cli
     makeWrapper
   ];
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 48b94841548..b97ba8ad975 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -22,7 +22,7 @@ let
       # JIT
       , jitSupport ? false
       , nukeReferences, patchelf, llvmPackages
-      , makeRustPlatform, buildPgxExtension, rustPlatform
+      , makeRustPlatform, buildPgxExtension, cargo, rustc
 
       # detection of crypt fails when using llvm stdenv, so we add it manually
       # for <13 (where it got removed: https://github.com/postgres/postgres/commit/c45643d618e35ec2fe91438df15abd4f3c0d85ca)
@@ -215,7 +215,7 @@ let
             stdenv = stdenv';
             rustPlatform = makeRustPlatform {
               stdenv = stdenv';
-              inherit (rustPlatform.rust) rustc cargo;
+              inherit rustc cargo;
             };
           };
         };
diff --git a/pkgs/tools/filesystems/stratisd/default.nix b/pkgs/tools/filesystems/stratisd/default.nix
index 73cb3798ef2..6dca0d146cf 100644
--- a/pkgs/tools/filesystems/stratisd/default.nix
+++ b/pkgs/tools/filesystems/stratisd/default.nix
@@ -2,6 +2,8 @@
 , stdenv
 , fetchFromGitHub
 , rustPlatform
+, cargo
+, rustc
 , pkg-config
 , asciidoc
 , ncurses
@@ -52,11 +54,11 @@ stdenv.mkDerivation rec {
       --replace udevadm               "${udev}/bin/udevadm"
   '';
 
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    bindgenHook
-    rust.cargo
-    rust.rustc
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    rustPlatform.bindgenHook
+    cargo
+    rustc
     pkg-config
     asciidoc
     ncurses # tput
diff --git a/pkgs/tools/misc/popsicle/default.nix b/pkgs/tools/misc/popsicle/default.nix
index 61a1a63c443..555a72d4ff3 100644
--- a/pkgs/tools/misc/popsicle/default.nix
+++ b/pkgs/tools/misc/popsicle/default.nix
@@ -1,7 +1,9 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cargo
 , rustPlatform
+, rustc
 , glib
 , pkg-config
 , gdk-pixbuf
@@ -32,8 +34,8 @@ stdenv.mkDerivation rec {
     glib
     pkg-config
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 06263bfa107..dd8ce048af0 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -1,4 +1,5 @@
 { buildGoModule
+, cargo
 , cmake
 , fetchFromGitHub
 , go
@@ -14,6 +15,7 @@
 , qttools
 , qtwebsockets
 , rustPlatform
+, rustc
 , stdenv
 , wireguard-tools
 , wrapQtAppsHook
@@ -77,8 +79,8 @@ stdenv.mkDerivation {
     python3.pkgs.pyyaml
     python3.pkgs.setuptools
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
     wrapQtAppsHook
   ];
 
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 3cac207a0df..40901804e97 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -4,11 +4,13 @@
 , fetchFromGitHub
 
 , buildPackages
+, cargo
 , iproute2
 , lzo
 , openssl
 , pkg-config
 , ronn
+, rustc
 , zlib
 }:
 
@@ -53,8 +55,8 @@ in stdenv.mkDerivation {
     pkg-config
     ronn
     rustPlatform.cargoSetupHook
-    rustPlatform.rust.cargo
-    rustPlatform.rust.rustc
+    cargo
+    rustc
   ];
   buildInputs = [
     iproute2