nixos-rebuild: switch to tmpDir during rebuilds

This is a workaround for issue #144811 until this issue is either fixed
on nix itself.
This commit is contained in:
Thiago Kenji Okada 2021-12-10 10:50:46 -03:00
parent d0d209fd59
commit f88bd76fcd

View File

@ -362,14 +362,16 @@ if [ "$action" = edit ]; then
exit 1
fi
ORIGIN_PWD="$PWD"
tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60"
cd "$tmpDir"
cleanup() {
for ctrl in "$tmpDir"/ssh-*; do
ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true
done
cd "$ORIGIN_PWD"
rm -rf "$tmpDir"
}
trap cleanup EXIT