Add harness bootstrap: setup.sh + README

setup.sh is a curl-able one-shot installer for the Pi workstation
harness (snowspeeder/harness): prompts for the Gitea username and
password (or reads GITEA_USER/GITEA_PASS), verifies them, downloads
the harness archive and runs its install.sh --yes.

Portable across macOS and Linux (bash 3.2+); reattaches stdin to
/dev/tty so the prompts work even when piped via curl | bash. Extra
arguments pass through to install.sh.
This commit is contained in:
snowspeeder committed 2026-10-11 07:02:24 -04:00
commit 4f95edd785
2 files changed
+166

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
# scripts
Bootstrap scripts for the Pi workstation.
## Harness setup
Installs the [harness](https://git.srmr.xyz/snowspeeder/harness) repo — a
portable Pi workstation that rebuilds the whole agent environment (agents,
skills, plugins, settings) and points Pi at the LAN Qwen model.
### macOS / Linux
```bash
curl -fsSL https://git.srmr.xyz/snowspeeder/scripts/raw/branch/main/setup.sh | bash
```
The script asks for your Gitea **username and password**, verifies them,
downloads the harness archive, and runs its `install.sh`.
Non-interactive (headless servers):
```bash
GITEA_USER=you GITEA_PASS=token \
curl -fsSL https://git.srmr.xyz/snowspeeder/scripts/raw/branch/main/setup.sh | bash
```
Extra options are passed through to the harness `install.sh` (see
`install.sh --help` in the harness repo for the full list):
```bash
curl -fsSL https://git.srmr.xyz/snowspeeder/scripts/raw/branch/main/setup.sh | bash -s -- --dry-run
```
### Environment overrides
| Variable | Meaning | Default |
| --- | --- | --- |
| `GITEA_URL` | Gitea host | `https://git.srmr.xyz` |
| `GITEA_USER` | username (skips the prompt) | — |
| `GITEA_PASS` | password / application token (skips the prompt) | — |
| `HARNESS_REPO` | owner/repo to install | `snowspeeder/harness` |
| `HARNESS_BRANCH` | branch to fetch | `main` |