2024-06-30 08:16:52 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
localSystem,
|
|
|
|
crossSystem,
|
|
|
|
config,
|
|
|
|
overlays,
|
|
|
|
crossOverlays ? [ ],
|
2024-05-02 00:46:19 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
assert crossSystem == localSystem;
|
|
|
|
|
|
|
|
let
|
|
|
|
bootStages = import ../. {
|
2024-06-30 08:16:52 +00:00
|
|
|
inherit
|
|
|
|
lib
|
|
|
|
localSystem
|
|
|
|
crossSystem
|
|
|
|
overlays
|
|
|
|
;
|
2024-05-02 00:46:19 +00:00
|
|
|
# Remove config.replaceStdenv to ensure termination.
|
|
|
|
config = builtins.removeAttrs config [ "replaceStdenv" ];
|
|
|
|
};
|
|
|
|
|
2024-06-30 08:16:52 +00:00
|
|
|
in
|
|
|
|
bootStages
|
|
|
|
++ [
|
2024-05-02 00:46:19 +00:00
|
|
|
|
|
|
|
# Additional stage, built using custom stdenv
|
|
|
|
(vanillaPackages: {
|
|
|
|
inherit config overlays;
|
|
|
|
stdenv =
|
|
|
|
assert vanillaPackages.hostPlatform == localSystem;
|
|
|
|
assert vanillaPackages.targetPlatform == localSystem;
|
|
|
|
config.replaceStdenv { pkgs = vanillaPackages; };
|
|
|
|
})
|
|
|
|
|
|
|
|
]
|