Dry run on a second machine #60

Closed
opened 2026-08-22 19:00:32 +01:00 by joshquinlan · 2 comments
Owner

Install from scratch in a VM with a different machine.lua; fix what assumes this laptop.

Install from scratch in a VM with a different machine.lua; fix what assumes this laptop.
Author
Owner

Running now in a Fedora 44 cloud VM (qemu, cloud-init seed, root grown onto a second disk with btrfs device add), driven by the new tools/vm-dry-run, which fetches the image, boots it headless, copies the checkout and the themes in and runs donbox install. The dry run found and fixed two real faults before a single step could complete: packages.toml named ansible-lint and tea as mise tools that are not in mise's registry (ansible-lint is now pipx:ansible-lint, tea is dropped), and the rendered ~/.config/mise/config.toml wrote a backend-prefixed name as a bare key, which is not TOML (keys are quoted now, and the renderer's output is parsed in the suite). Third run is past dnf (1130 packages, 8 flatpaks) and into mise downloads; the VM's mirror speed is ~200 kB/s, so the later steps follow in a while. Open findings so far: a mirror timeout failed the packages step once (dnf retried the next run), and the themes step fetches from the forge, which a machine off the NetBird network cannot reach.

Running now in a Fedora 44 cloud VM (qemu, cloud-init seed, root grown onto a second disk with btrfs device add), driven by the new tools/vm-dry-run, which fetches the image, boots it headless, copies the checkout and the themes in and runs `donbox install`. The dry run found and fixed two real faults before a single step could complete: packages.toml named `ansible-lint` and `tea` as mise tools that are not in mise's registry (ansible-lint is now `pipx:ansible-lint`, tea is dropped), and the rendered ~/.config/mise/config.toml wrote a backend-prefixed name as a bare key, which is not TOML (keys are quoted now, and the renderer's output is parsed in the suite). Third run is past dnf (1130 packages, 8 flatpaks) and into mise downloads; the VM's mirror speed is ~200 kB/s, so the later steps follow in a while. Open findings so far: a mirror timeout failed the packages step once (dnf retried the next run), and the themes step fetches from the forge, which a machine off the NetBird network cannot reach.
Author
Owner

Done: the third run in the Fedora 44 VM finished every step ("install finished" at 19:05): packages 1435 s (1130 rpms, 8 flatpaks, mise from the COPR with claude, go, node, python, helm, kubectl, opentofu, superfile, slk), then environment, links, themed, themes (pre-pinned, since the forge is off the VM's network), units, crash, snapshots, docs, skills. The machine-specific assumptions the issue feared turned out to live in machine.lua only; what the dry run actually caught were the two manifest faults fixed earlier. tools/vm-dry-run reproduces the whole run. What it does not prove is a graphical login: the VM has no display, so the first Hyprland session on a second machine is still a real-hardware moment.

Done: the third run in the Fedora 44 VM finished every step ("install finished" at 19:05): packages 1435 s (1130 rpms, 8 flatpaks, mise from the COPR with claude, go, node, python, helm, kubectl, opentofu, superfile, slk), then environment, links, themed, themes (pre-pinned, since the forge is off the VM's network), units, crash, snapshots, docs, skills. The machine-specific assumptions the issue feared turned out to live in machine.lua only; what the dry run actually caught were the two manifest faults fixed earlier. tools/vm-dry-run reproduces the whole run. What it does not prove is a graphical login: the VM has no display, so the first Hyprland session on a second machine is still a real-hardware moment.
Sign in to join this conversation.
No description provided.