nixos-rebuild: make 'pull' fail in case it did not pull anything.

This commit is contained in:
Lluís Batlle i Rossell 2012-06-27 21:36:46 +02:00
parent dbe2325603
commit 5b7c019e2a

View File

@ -125,9 +125,13 @@ fi
# Pull the manifests defined in the configuration (the "manifests"
# attribute). Wonderfully hacky.
if [ -n "$pullManifest" -o "$action" = pull ]; then
set -o pipefail
manifests=$(nix-instantiate --eval-only --xml --strict '<nixos>' -A manifests \
| grep '<string' | sed 's^.*"\(.*\)".*^\1^g')
set -o nopipefail
[ "$action" = pull -a $? -ne 0 ] && exit 1
mkdir -p /nix/var/nix/channel-cache
for i in $manifests; do
NIX_DOWNLOAD_CACHE=/nix/var/nix/channel-cache nix-pull $i || true