#!/bin/bash set -e # Bootstrap installer - Universal kickstart script # Decrypts and executes target-specific setup scripts SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Default target is nbmain (nbase2) TARGET="${1:-nbmain}" ENC_FILE="${SCRIPT_DIR}/${TARGET}.sh.enc" NBCRYPT="${SCRIPT_DIR}/nbcrypt" echo "🚀 Bootstrap: Starting ${TARGET}..." # Check if encrypted script exists if [ ! -f "$ENC_FILE" ]; then echo "❌ Error: Target '${TARGET}' not found." echo " Expected file: ${ENC_FILE}" exit 1 fi # Check if nbcrypt exists if [ ! -f "$NBCRYPT" ]; then echo "❌ Error: nbcrypt not found at ${NBCRYPT}" exit 1 fi # Decrypt and execute echo "🔐 Decrypting ${TARGET}.sh..." TEMP_SCRIPT="/tmp/${TARGET}-$$.sh" if "$NBCRYPT" decrypt "$ENC_FILE" "$TEMP_SCRIPT" 2>/dev/null; then chmod +x "$TEMP_SCRIPT" echo "✅ Executing ${TARGET} setup..." exec bash "$TEMP_SCRIPT" else echo "❌ Decryption failed." echo " Please ensure your Ed25519 key is loaded in SSH Agent." rm -f "$TEMP_SCRIPT" exit 1 fi