From 2c3fe717508d431f329ae6e656ab9340d2c64260 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Tue, 8 Apr 2025 09:50:09 +0800 Subject: [PATCH] feat(rebuild): add remote target to rebuild script --- modules/programs/scripts/rebuild.sh | 44 +++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/modules/programs/scripts/rebuild.sh b/modules/programs/scripts/rebuild.sh index 83fa7cc..88e05cc 100755 --- a/modules/programs/scripts/rebuild.sh +++ b/modules/programs/scripts/rebuild.sh @@ -1,3 +1,41 @@ -git add . -# nh clean all -nh os switch . +#!/bin/bash + +rebuild_remote() { + hostname=$1 + builder=localhost + nixos-rebuild switch --flake .#"${hostname}" --target-host "$(whoami)"@"${hostname}" --build-host "${builder}" --use-remote-sudo +} + +main() { + if [[ $# -gt 1 ]]; then + echo "Only one argument is allowed. Pass in a hostname or all." + exit 1 + elif [[ $# -lt 1 ]]; then + nh os switch . + exit 0 + fi + + git add . + + case "$1" in + nemesis) + if [[ $HOSTNAME == "nemesis" ]]; then + nh os switch . + else + rebuild_remote nemesis + fi + exit 0 + ;; + all) + nh os switch . && + rebuild_remote apollo + exit 0 + ;; + *) + rebuild_remote "$1" + exit 0 + ;; + esac +} + +main "$@"