From ed285ba79d94d5082dbe8ffc22fb68a95036776d Mon Sep 17 00:00:00 2001 From: Ryan Lahfa Date: Sun, 8 Sep 2024 00:48:56 +0200 Subject: [PATCH] feat(scripts/liminix): fail HARD and support root prefixes Now that we possess the levitation technology, it's necessary to support root prefixes for rebuild otherwise we will just overwrite our RAM disk configuration. Also, to avoid any issue, let's fail hard and avoid rebooting while being in levitation for nothing. Signed-off-by: Ryan Lahfa --- scripts/liminix-rebuild.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/liminix-rebuild.sh b/scripts/liminix-rebuild.sh index cf8e100..f07cc12 100755 --- a/scripts/liminix-rebuild.sh +++ b/scripts/liminix-rebuild.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +set -Eeuo pipefail ssh_command=${SSH_COMMAND-ssh} +root_prefix=${ROOT_PREFIX-/} reboot="reboot" @@ -24,9 +26,10 @@ if [ -z "$target_host" ] ; then fi if toplevel="$(nom-build $(colmena eval -E "{ nodes, ... }: nodes.$@.config.system.outputs.systemConfiguration" --instantiate))"; then - echo systemConfiguration $toplevel - min-copy-closure $target_host $toplevel - $ssh_command $target_host $toplevel/bin/install + echo systemConfiguration $toplevel aimed at $root_prefix + sleep 3 + min-copy-closure --root "$root_prefix" $target_host $toplevel + $ssh_command $target_host "$root_prefix/$toplevel/bin/install" "$root_prefix" case "$reboot" in reboot) $ssh_command $target_host "sync; source /etc/profile; reboot"