26 lines
595 B
Bash
Executable file
26 lines
595 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
ssh_command=${SSH_COMMAND-ssh}
|
|
if [ "$1" = "--no-reboot" ] ; then
|
|
reboot="true"
|
|
shift
|
|
else
|
|
reboot="reboot"
|
|
fi
|
|
|
|
target_host=$1
|
|
shift
|
|
|
|
if [ -z "$target_host" ] ; then
|
|
echo Usage: liminix-rebuild \[--no-reboot\] target-host params
|
|
exit 1
|
|
fi
|
|
|
|
if toplevel=$(nix-build "$@" -A outputs.systemConfiguration --no-out-link); then
|
|
echo systemConfiguration $toplevel
|
|
min-copy-closure $target_host $toplevel
|
|
$ssh_command $target_host $toplevel/bin/install
|
|
$ssh_command $target_host "sync; source /etc/profile; reboot"
|
|
else
|
|
echo Rebuild failed
|
|
fi
|