nixos/nixpkgs: pass original system args instead of elaborated

Passing the elaborated system defeats what pkgs/top-level/default.nix
tries to do: Pass only the original args and let defaults be inferred.

The underlying problem is that lib.systems.elaborate can not deal with
arbitrary overrides, but will often return an inconsistent system
description when partially overriding some values. This becomes most
prominent if trying to override an already elaborated system.
This commit is contained in:
Wolfgang Walther
2025-01-11 11:24:30 +01:00
parent b75355ccc3
commit eec21001b0
2 changed files with 12 additions and 5 deletions

View File

@@ -844,6 +844,8 @@ let
in warnDeprecation opt //
{ value = addErrorContext "while evaluating the option `${showOption loc}':" value;
# raw value before "apply" above
rawValue = addErrorContext "while evaluating the option `${showOption loc}':" res.mergedValue;
inherit (res.defsFinal') highestPrio;
definitions = map (def: def.value) res.defsFinal;
files = map (def: def.file) res.defsFinal;