feat(sbx): VM dev-toolchain bootstrap + save/load parity across backends

Reorganize the help menu into one VIRTUAL MACHINES cluster covering all
backends, and bring docker/multipass/vbox to save+load parity:

- Launch-time dev toolchain: sandbox-bootstrap.sh + editable
  sandbox-tools.json (vim/curl guaranteed), installed in docker AND
  multipass sandboxes at provision time.
- Vbox load: vm_restore + `/sbx vmload <vm> [label]` (restore snapshot
  then boot the GUI).
- Multipass load: `/sbx load` is now backend-aware (locate_snapshot +
  SnapKind), mp_restore re-attaches the shared shell; teardown stops
  (not purges) an instance that still has snapshots so they survive
  `/sbx stop`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
leetcrypt
2026-06-06 22:29:24 -07:00
parent cb1f6134f6
commit d448314e5e
5 changed files with 385 additions and 47 deletions
+28
View File
@@ -0,0 +1,28 @@
{
"_comment": "Packages apt-get installs in every hack-house Docker sandbox at launch. Edit `packages` to add dev tools, then relaunch the sandbox. `vim` and `curl` are ALWAYS installed even if absent here. Names must be valid for the base image (ubuntu:24.04); unknown names are skipped, not fatal. Per-launch override: HH_SBX_PKGS=\"vim tmux\".",
"packages": [
"vim",
"curl",
"wget",
"ca-certificates",
"git",
"less",
"nano",
"build-essential",
"pkg-config",
"procps",
"iproute2",
"iputils-ping",
"net-tools",
"jq",
"unzip",
"zip",
"tree",
"htop",
"file",
"ripgrep",
"python3",
"python3-pip",
"python3-venv"
]
}