NixOS-Configs/deploy-host
2024-10-09 22:46:58 -05:00

46 lines
951 B
Bash
Executable file

#!/usr/bin/env bash
set -o errexit
set -o errtrace
# set -o nounset
# debug=echo
if [ "x" == "x$2" ]
then
echo "usage: $0 <ip> <host>"
exit 1
fi
nixanywhere=~/nixos/nixos-anywhere
nixsrc=~/nixos
ip=${1}
host=${2}
if [ ! -f ${nixsrc}/hosts/${host}/default.nix ]
then
echo "Please set up ${nixsrc}/hosts/${host}/default.nix before running"
exit 1
fi
cd ${nixanywhere}
ssh-keygen -R ${ip}
nix run github:nix-community/nixos-anywhere -- --flake .#${host} root@${ip}
cd ${nixsrc}
sleep 5
until ping -c1 ${ip}
do
sleep 5
done
ssh-keygen -R ${ip}
ssh -o StrictHostKeyChecking=accept-new root@${ip} nixos-generate-config
scp root@${ip}:/etc/nixos/hardware-configuration.nix hosts/${host}/hardware-configuration.nix
git add hosts/${host}/hardware-configuration.nix
# nixos-rebuild switch --flake .#${host} --target-host root@${ip}
colmena apply --on ${host}
sleep 5
until ping -c1 ${ip}
do
sleep 5
done
rsync -av ~/.ssh ~/bin don@${ip}: