feat(fw): qemu-vm os option (ubuntu|nixos) — clean NixOS image, drop infect for dev #167
No reviewers
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos!167
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/qemu-vm-nixos-os"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds an
os = "ubuntu" | "nixos"option tocloonar.vms.<name>, so a guest can be provisioned as a clean NixOS instead of Ubuntu +nixos-infect. Default isubuntu(openclaw unchanged).Why: infecting the Ubuntu cloud image in place left the dev VM with a broken boot layout — a phantom ESP
boot.mount,dbus-brokerfailing226/NAMESPACE, andmkdir /boot/grub: No such deviceon every switch (see #161 thread). In-place conversion of a cloud image is too fragile.os = "nixos": the init builds a minimal NixOS qcow with nixpkgs'make-disk-imageon a legacy MBR / BIOS-GRUB partition layout (no GPT/ESP → none of the dead-/bootbreakage), carrying onlysshd+ root login withsshKeys+ static MAC-matched networking. It's a seed: boots clean, you SSH in and onboard (re-key + bento →hosts/dev). The qemu runner is unchanged; the cloud-init seed ISO is skipped for NixOS. The image derivation is generic (nothosts/dev) and lazily evaluated, so it doesn't re-couple fw and onlyos = "nixos"guests build it.Also: lifted
sshKeysto a top-level option (both OSes use it);cloudInit.{packages,runcmd,writeFiles}stay ubuntu-only. Flippeddev-temptoos = "nixos".This supersedes the
nixos-infectstep in PR2 — ADR-0018's provisioning section should be amended (follow-up).Pre-commit dry-build green for all hosts (the seed-image derivation evaluates; the qcow builds on fw at deploy).
Part of #161.