#!/usr/bin/env bash set -euo pipefail : "${STRAP_BASE_URL:=https://git.nixc.us/colin/bootstrap-scripts/raw/branch/main}" : "${STRAP_AUTHORIZED_KEYS:=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICxoakgL0Tq4mAv+UMnFc3PZptPCXz8ObCsyVmBtiB2P defaultkey_key}" usage() { cat <&2 exit 1 fi if ! command -v apt-get >/dev/null 2>&1; then echo "strap.sh requires a Debian/Ubuntu host (apt-get not found)" >&2 exit 1 fi DEBIAN_FRONTEND=noninteractive apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget ca-certificates curl -fsSL -o /usr/local/sbin/zsh-setup "$STRAP_BASE_URL/scripts/zsh-setup.sh" curl -fsSL -o /usr/local/sbin/bootstrap "$STRAP_BASE_URL/scripts/bootstrap.sh" chmod +x /usr/local/sbin/zsh-setup /usr/local/sbin/bootstrap mkdir -p /root/.ssh chmod 700 /root/.ssh touch /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys grep -qxF "$STRAP_AUTHORIZED_KEYS" /root/.ssh/authorized_keys \ || echo "$STRAP_AUTHORIZED_KEYS" >> /root/.ssh/authorized_keys case "${1:-defaults-bootstrap}" in bootstrap) /usr/local/sbin/bootstrap "${2:-none}" "${3:-nosalt}" ;; defaults-bootstrap) /usr/local/sbin/bootstrap none nosalt ;; -h|--help|help) usage ;; *) echo "Unknown command: ${1:-}" >&2 usage >&2 exit 1 ;; esac