liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit b1f4db00a07cce0cdd7d7d62eb52328a1dbef98a
parent b0a0fdcfccca3f582ab2cac45ba49ef55cc70316
Author: Daniel Barlow <dan@telent.net>
Date:   Wed, 17 May 2023 15:03:45 +0100

add liminix-rebuild command

Diffstat:
Mpkgs/min-copy-closure/default.nix | 1+
Apkgs/min-copy-closure/liminix-rebuild.sh | 14++++++++++++++
Mpkgs/systemconfig/default.nix | 2++
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 ''; }