diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-09-13 10:45:17 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-09-13 11:13:38 +0000 |
commit | 0f279e2e0c1ba0ad5bfbd79f055b9a2a9773f080 (patch) | |
tree | 2e8e1a3f12df2a037a417594e5eb1c682dabac35 /nixos | |
parent | d1139de938d16fd52dbddf1a3a112d9a08e2d4dd (diff) |
nixos/top-level: fix cross
When cross-compiling, we can't run the runtime shell to check syntax
if it's e.g. for a different architecture. We have two options here.
We can disable syntax checking when cross compiling, but that risks
letting errors through. Or, we can do what I've done here, and change
the syntax check to use stdenv's shell instead of the runtime shell.
This requires the stdenv shell and runtime shell to be broadly
compatible, but I think that's so ingrained in Nixpkgs anyway that
it's fine. And this way we avoid conditionals that check for cross.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/system/activation/top-level.nix | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 616e1422aa8c..dad9acba91af 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -61,8 +61,8 @@ let substituteInPlace $out/dry-activate --subst-var out chmod u+x $out/activate $out/dry-activate unset activationScript dryActivationScript - ${pkgs.runtimeShell} -n $out/activate - ${pkgs.runtimeShell} -n $out/dry-activate + ${pkgs.stdenv.shell} -n $out/activate + ${pkgs.stdenv.shell} -n $out/dry-activate cp ${config.system.build.bootStage2} $out/init substituteInPlace $out/init --subst-var-by systemConfig $out |