blob: 505f0614c12bee66ef0716bad8f39560270dd91c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#! /usr/bin/env sh
set -e
base_dir="$(git rev-parse --show-toplevel)"
user="${1-$USER}"
hosts="${2-server2 server3}"
branch="${3-main}"
for host in $hosts; do
echo "Updating '$user@$host.vhack.eu' ..."
new_system="$(nix build ".#nixosConfigurations.$host.config.system.build.toplevel" --no-link --print-out-paths)"
printf "Copying closure ..\n"
nix-copy-closure "$user@$host.vhack.eu" "$new_system"
printf "Deploying remote side script ..\n"
scp "$base_dir/scripts/update_hosts.remote" "$user@$host.vhack.eu:update_host.remote"
printf "Executing remote side script ..\n"
ssh -t "$user@$host.vhack.eu" "chmod +x update_host.remote; ./update_host.remote '$branch'"
done
# vim: ft=sh
|