# Proxmox Debian VM Bootstrap Wizard A simple, interactive bootstrap for freshly cloned Debian VMs on Proxmox. It uses a two‑stage approach: 1. **Bootstrap script** (stored as `setup.sh` on your VM template) - Prompts for root if needed - Downloads and runs the latest interactive wizard 2. **Remote setup wizard** (pulled from Git) - Menu‑driven (`whiptail`) configuration: updates, sudo, hostname, SSH keys, aliases, neofetch, CIFS mounts, etc. --- ## Prerequisites - Debian‑based VM template - Network access to `git.jordanwages.com` - `whiptail` (auto‑installed if missing) - Either `curl` or `wget` --- ## Installation 1. **Copy & rename** On your Debian template, place the **bootstrap** script as `/root/setup.sh`: ```bash chmod +x /root/setup.sh 2. **Provision a new VM** Clone from your template and boot it. Then run: ```bash sudo /root/setup.sh ``` * If you’re not root, you’ll be prompted (via `whiptail`) for the root password. * The script fetches and executes the latest remote wizard. 3. **Follow the wizard** Use the on‑screen menus to: * Grant passwordless `sudo` to selected users * Apply system updates * Set a new hostname * Add SSH keys for root & your primary user * Install core & optional utilities (`htop`, `jq`, `git`, etc.) * Configure CIFS mounts for your NAS shares --- ## Customization * **Default SSH key** Edit the `DEFAULT_SSH_KEY` variable in the remote `setup.sh` to your own public key. * **Optional packages** Tweak the `TOOLS=(…)` array in the remote script to add or remove utilities. * **CIFS shares** Adjust the `CIFS_HOSTS=(…)` array to match your NAS hostnames. --- ## Troubleshooting * **Fetch failures** Ensure network connectivity and that `curl` or `wget` is installed. * **Rerunning** Simply invoke: ```bash sudo /root/setup.sh ``` again to repeat the wizard. * **Manually inspect** If a step errors out, inspect the console output for hints.