From e5cbc2b86b980f71416015491ffc5c266283850d Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Sat, 23 Dec 2023 23:53:47 +0000 Subject: [PATCH] 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 --- pkgs/min-copy-closure/liminix-rebuild.sh | 2 +- pkgs/systemconfig/default.nix | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/min-copy-closure/liminix-rebuild.sh b/pkgs/min-copy-closure/liminix-rebuild.sh index f13be05..faa230e 100755 --- a/pkgs/min-copy-closure/liminix-rebuild.sh +++ b/pkgs/min-copy-closure/liminix-rebuild.sh @@ -12,7 +12,7 @@ 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 cp -v -fP $toplevel/bin/* $toplevel/etc/* /persist + $ssh_command $target_host $toplevel/bin/install $ssh_command $target_host "sync; source /etc/profile; reboot" else echo Rebuild failed diff --git a/pkgs/systemconfig/default.nix b/pkgs/systemconfig/default.nix index a18800e..e15e1bc 100644 --- a/pkgs/systemconfig/default.nix +++ b/pkgs/systemconfig/default.nix @@ -80,5 +80,10 @@ in attrset: cp $closure/store-paths $out/etc/nix-store-paths $STRIP --remove-section=.note --remove-section=.comment --strip-all makedevs -o $out/bin/activate ln -s ${s6-init-bin}/bin/init $out/bin/init + cat > $out/bin/install <