lib.systems.elaborate: fix passing `rust` (more) (#271707)

An important idea around the rust stuff in lib.systems is that it's
elaborated — this means that it should idempotently add to the values
passed in, if any. But we missed that the names used for the
parameter and the elaborated value for "rustcTarget"/"config" didn't
line up. The intention was to use "rustcTarget" everywhere in the new
interface, as a more descriptive name than "config".

This fixes setting the system in NixOS configuration, which results in
an already elaborated system being elaborated again. Before, this
wouldn't produce the correct result:

% nix-instantiate --eval -A stdenv.hostPlatform.rust.rustcTarget --system armv7l-linux
"armv7-unknown-linux-gnueabihf"
% NIX_PATH= nix-instantiate --eval -E '(import nixos/lib/eval-config.nix { system = "armv7l-linux"; modules = []; }).pkgs.stdenv.hostPlatform.rust.rustcTarget'
"arm-unknown-linux-gnueabihf"

Fixes: e3e57b8f1885 ("lib.systems: elaborate Rust metadata")
Fixes: https://github.com/NixOS/nixpkgs/issues/271000

authored by Alyssa Ross and committed by GitHub 97312082 0616776a

+2 -1
+2 -1
lib/systems/default.nix
··· 324 324 "riscv64" = "riscv64gc"; 325 325 }.${cpu.name} or cpu.name; 326 326 vendor_ = final.rust.platform.vendor; 327 - in rust.config 327 + # TODO: deprecate args.rustc in favour of args.rust after 23.05 is EOL. 328 + in args.rust.rustcTarget or args.rustc.config 328 329 or "${cpu_}-${vendor_}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}"; 329 330 330 331 # The name of the rust target if it is standard, or the json file