2026-07-24 — Created nexus-vm-forge (TUI VM forge) + Fossil repo¶
Status: ✅ TESTED (syntax clean; --help + check verified on host — qemu/qemu-img/KVM/CPU-virt all green). Interactive create/boot flow 🔵 not yet run end-to-end.
What: A stupid-simple, dependency-free pure-bash TUI that creates and remembers QEMU/KVM VMs — point at an ISO, enter RAM / cores / disk size / network / CPU-pass, keeps a per-VM registry as the history.
Why:nexus-vm.sh only live-boots an ISO and forgets it. The glibc-VM work (running agy/Antigravity on musl Alpine) proved we need persistent VMs we can keep, list, and re-run. Wanted zero deps (no dialog/whiptail/socat) and a built-in qemu/KVM dependency check.
How: Pure bash menu + ANSI; VM defs = plain key=val files in ~/.config/nexus/vms/<name>.vm; disks = ~/VMs/<name>.qcow2 via qemu-img; auto-allocates unique SSH-forward ports (2222+) and VNC displays (:1+); launches with -enable-kvm -cpu host -vga qxl (the fixes learned from the Antigravity VM). Preflight checks qemu-system-x86_64, qemu-img, /dev/kvm (read/write), and vmx/svm CPU flags, printing distro install one-liners if missing. Remove = archive (config always, disk opt-in), never destroy.
Files:
nexus-vm-forge.sh — the tool
nexus-vm-forge.help.md — help
README.md, .gitignore, docs/action_report.md
Testing: Not yet exercised: full create → install-from-CD → disk-boot cycle; the none network path; multi-VM port collision (logic in place, unproven). Next real test = re-forge the Artix glibc VM through the TUI.
Dependencies: bash, coreutils, qemu-system-x86_64, qemu-img, /dev/kvm (optional; falls back to TCG).
Repo: Fossil ~/museum/nexus-vm-forge.fossil, checkout ~/git/nexus-vm-forge/. Git mirror later via fossil git export.