nixcfg/deploy.sh

31 lines
767 B
Bash
Raw Normal View History

2021-11-02 09:15:37 +00:00
#!/usr/bin/env bash
2021-11-16 18:00:15 +00:00
cd $(dirname $0)
2021-11-18 14:40:06 +00:00
if [ -z "$@" ]; then
2021-11-18 15:40:19 +00:00
NIXHOSTLIST=$(ls node | grep -v '\.site\.')
2021-11-18 14:40:06 +00:00
else
NIXHOSTLIST="$@"
fi
for NIXHOST in $NIXHOSTLIST; do
2021-11-16 18:00:15 +00:00
NIXHOST=${NIXHOST%.*}
if [ -z "$SSH_USER" ]; then
SSH_DEST=$NIXHOST
else
SSH_DEST=$SSH_USER@$NIXHOST
fi
2021-11-02 09:15:37 +00:00
echo "==== DOING $NIXHOST ===="
2021-11-16 18:00:15 +00:00
2021-11-18 22:47:53 +00:00
echo "updating"
ssh -F ssh_config $SSH_DEST sudo nix-channel --update
echo "generating config"
2021-11-16 18:00:15 +00:00
cat configuration.nix | ssh -F ssh_config $SSH_DEST sudo tee /etc/nixos/configuration.nix > /dev/null
cat node/$NIXHOST.nix | ssh -F ssh_config $SSH_DEST sudo tee /etc/nixos/node.nix > /dev/null
2021-11-18 15:40:19 +00:00
cat node/$NIXHOST.site.nix | ssh -F ssh_config $SSH_DEST sudo tee /etc/nixos/site.nix > /dev/null
2021-11-16 18:00:15 +00:00
ssh -F ssh_config $SSH_DEST sudo nixos-rebuild switch
2021-11-02 09:15:37 +00:00
done