Files
matej.nix/features/harmonia/cache-builder.sh

33 lines
600 B
Bash

#!/usr/bin/env bash
set -uo pipefail
build() {
local name="$1" ref="$2" link="$3"
echo "building $name..." >&2
if nix build "$ref" --out-link "$link"; then
return 0
else
echo "FAILED: $name" >&2
return 1
fi
}
main() {
mkdir -p "$GC_ROOT_DIR"
local failed=0
for host in $HOSTS; do
build "$host" \
"$FLAKE_REF#nixosConfigurations.$host.config.system.build.toplevel" \
"$GC_ROOT_DIR/$host" || failed=1
done
build "ephvm-image" \
"$FLAKE_REF#nixosConfigurations.ephvm.config.system.build.images.qemu" \
"$GC_ROOT_DIR/ephvm-image" || failed=1
return $failed
}
main "$@"