commit b1f4db00a07cce0cdd7d7d62eb52328a1dbef98a
parent b0a0fdcfccca3f582ab2cac45ba49ef55cc70316
Author: Daniel Barlow <dan@telent.net>
Date: Wed, 17 May 2023 15:03:45 +0100
add liminix-rebuild command
Diffstat:
3 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/pkgs/min-copy-closure/default.nix b/pkgs/min-copy-closure/default.nix
@@ -11,5 +11,6 @@
installPhase = ''
mkdir -p $out/bin
cp min-copy-closure.sh $out/bin/min-copy-closure
+ cp liminix-rebuild.sh $out/bin/liminix-rebuild
'';
}
diff --git a/pkgs/min-copy-closure/liminix-rebuild.sh b/pkgs/min-copy-closure/liminix-rebuild.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+target_host=$1
+shift
+
+if [ -z "$target_host" ] ; then
+ echo Usage: liminix-rebuild target-host params
+ exit 1
+fi
+
+toplevel=$(nix-build "$@" -A outputs.systemConfiguration --no-out-link)
+min-copy-closure $target_host $toplevel
+ssh $target_host cp -P $toplevel/bin/\* /
+ssh $target_host reboot
diff --git a/pkgs/systemconfig/default.nix b/pkgs/systemconfig/default.nix
@@ -7,6 +7,7 @@
{
writeText
, lib
+, s6-init-bin
, stdenv
}:
let
@@ -74,5 +75,6 @@ in attrset:
installPhase = ''
mkdir -p $out/bin
$STRIP --remove-section=.note --remove-section=.comment --strip-all makedevs -o $out/bin/activate
+ ln -s ${s6-init-bin}/bin/init $out/bin/init
'';
}