infrastructure/nyx
2021-02-26 08:25:28 +00:00

38 lines
636 B
Bash
Executable file

#!/usr/bin/env bash
set -eu
usage() {
echo example: $0 build samhain boot
}
build() {
HOST=$1
if [ $# -gt 2 ]; then
METHOD=$2
else
METHOD="switch"
fi
nix build -f . deploy.$HOST && ./result $METHOD
}
install() {
HOST=$1
nix build -f . hosts.$HOST.config.system.build.toplevel
CLOSURE=$(readlink result)
nix-store --export $(nix-store -qR ./result) | ssh root@$HOST nix-store --import --store /mnt
ssh root@$HOST nixos-install --system $CLOSURE
}
main() {
if [ $# -lt 2 ]; then
usage
else
CMD=$1
shift
$CMD $@
fi
}
main "$@"