41 lines
685 B
Bash
Executable file
41 lines
685 B
Bash
Executable file
#!/bin/bash
|
|
|
|
rebuild_remote() {
|
|
hostname=$1
|
|
builder=localhost
|
|
nixos-rebuild switch --flake .#"${hostname}" --target-host "$(whoami)"@"${hostname}" --build-host "${builder}" --use-remote-sudo
|
|
}
|
|
|
|
main() {
|
|
if [[ $# -gt 1 ]]; then
|
|
echo "Only one argument is allowed. Pass in a hostname or all."
|
|
exit 1
|
|
elif [[ $# -lt 1 ]]; then
|
|
nh os switch .
|
|
exit 0
|
|
fi
|
|
|
|
git add .
|
|
|
|
case "$1" in
|
|
nemesis)
|
|
if [[ $HOSTNAME == "nemesis" ]]; then
|
|
nh os switch .
|
|
else
|
|
rebuild_remote nemesis
|
|
fi
|
|
exit 0
|
|
;;
|
|
all)
|
|
nh os switch . &&
|
|
rebuild_remote apollo
|
|
exit 0
|
|
;;
|
|
*)
|
|
rebuild_remote "$1"
|
|
exit 0
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main "$@"
|