liminix-fork/pkgs/min-copy-closure/liminix-rebuild.sh
Daniel Barlow e5cbc2b86b WIP add systemConfiguration "install" command
which copies the init stuff (whatever it is) from store to /persist
instead of making liminix-rebuild have to know what the files are.

This is principally to ease making a system configuration in /mnt or
similar when operating in a rescue/recovery scenario, and we
don't want to liminix-rebuild because it will reboot
2023-12-23 23:53:47 +00:00

19 lines
487 B
Bash
Executable file

#!/usr/bin/env bash
ssh_command=${SSH_COMMAND-ssh}
target_host=$1
shift
if [ -z "$target_host" ] ; then
echo Usage: liminix-rebuild 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