stage-2: simplify exporting path

Changed files
+6 -21
nixos
modules
+1 -16
nixos/modules/system/boot/stage-2-init.sh
···
systemConfig=@systemConfig@
-
export HOME=/root
+
export HOME=/root PATH="@path@"
# Print a greeting.
echo
echo -e "\e[1;32m<<< NixOS Stage 2 >>>\e[0m"
echo
-
-
-
# Set the PATH.
-
setPath() {
-
local dirs="$1"
-
export PATH=/empty
-
for i in $dirs; do
-
PATH=$PATH:$i/bin
-
if test -e $i/sbin; then
-
PATH=$PATH:$i/sbin
-
fi
-
done
-
}
-
-
setPath "@path@"
# Normally, stage 1 mounts the root filesystem read/writable.
+5 -5
nixos/modules/system/boot/stage-2.nix
···
inherit (config.nix) readOnlyStore;
inherit (config.networking) useHostResolvConf;
inherit (config.system.build) earlyMountScript;
-
path =
-
[ pkgs.coreutils
-
pkgs.utillinux
-
pkgs.openresolv
-
] ++ optional config.nix.readOnlyStore readonlyMountpoint;
+
path = lib.makeBinPath ([
+
pkgs.coreutils
+
pkgs.utillinux
+
pkgs.openresolv
+
] ++ optional config.nix.readOnlyStore readonlyMountpoint);
postBootCommands = pkgs.writeText "local-cmds"
''
${config.boot.postBootCommands}