Files
bin/provision-penguin
T

32 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# provision-penguin: Onboard or update penguin (Chromebook) once powered on and reachable
set -euo pipefail
PENGUIN_IP="${1:-192.168.1.105}"
echo "[provision-penguin] Checking connectivity to penguin ($PENGUIN_IP)..."
if ! ping -c 1 -W 2 "$PENGUIN_IP" &>/dev/null; then
echo "[provision-penguin] Error: penguin ($PENGUIN_IP) is currently offline / unreachable."
exit 1
fi
echo "[provision-penguin] Updating ~/bin, identity, and SuperCollider on penguin..."
ssh -o ConnectTimeout=5 "kof@$PENGUIN_IP" '
git -C ~/bin pull origin main
sudo bash -c "cat << CONF > /etc/fleet_id
# Fleet Node Identification
FLEET_NODE=\"crostini\"
FLEET_ARCH=\"x86_64\"
FLEET_SIGN=\"[crostini:x86_64]\"
CONF
chmod 644 /etc/fleet_id"
grep -q "bin-env" ~/.zshenv 2>/dev/null || echo "[ -f \"\$HOME/bin/bin-env\" ] && source \"\$HOME/bin/bin-env\"" >> ~/.zshenv
grep -q "bin-env" ~/.bashrc 2>/dev/null || echo "[ -f \"\$HOME/bin/bin-env\" ] && source \"\$HOME/bin/bin-env\"" >> ~/.bashrc
grep -q "bin-env" ~/.zshrc 2>/dev/null || echo "[ -f \"\$HOME/bin/bin-env\" ] && source \"\$HOME/bin/bin-env\"" >> ~/.zshrc
~/bin/fleet-id
~/bin/setup-sc-node
'
echo "[provision-penguin] Complete."