25 lines
548 B
Bash
Executable file
25 lines
548 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
cd $(dirname $0)
|
|
|
|
if [ -z "$@" ]; then
|
|
NIXHOSTLIST=$(ls node)
|
|
else
|
|
NIXHOSTLIST="$@"
|
|
fi
|
|
|
|
for NIXHOST in $NIXHOSTLIST; do
|
|
NIXHOST=${NIXHOST%.*}
|
|
|
|
if [ -z "$SSH_USER" ]; then
|
|
SSH_DEST=$NIXHOST
|
|
else
|
|
SSH_DEST=$SSH_USER@$NIXHOST
|
|
fi
|
|
|
|
echo "==== DOING $NIXHOST ===="
|
|
|
|
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
|
|
ssh -F ssh_config $SSH_DEST sudo nixos-rebuild switch
|
|
done
|