December 23, 2025
One image to boot them all
The Polyglot NixOS
One image boots Intel, ARM and RISC‑V—fans cheer, skeptics squint
TLDR: A single NixOS image now boots on Intel, ARM, and RISC‑V using simple firmware defaults, but saves little space and skips a full boot menu. Commenters praised NixOS simplicity, joked about “blobs,” and worried different chips might behave differently—sparking a predictability vs. convenience debate.
NixOS just dropped a neat trick: one disk image that boots on three very different kinds of machines—Intel x86, ARM, and RISC‑V—by placing a per‑architecture starter file in the machine’s firmware folder. No traditional boot menu, just lean, fast starts using a unified kernel image (UKI). The vibe? Mixed and loud. The author admits space savings are tiny, and the community smelled drama.
Pro‑NixOS voices were glowing. User teekert said the “surprisingly simple” thing keeps happening with NixOS and roasted a recent Fedora detour as “the worst installer I’ve ever used,” while still giving a nod to Fedora’s web admin tool Cockpit. On the comedy stage, TOGoS lobbed a meme‑ready zinger about “ternary blobs” being cross‑platform—cue the nerdy giggles and reaction GIFs.
Then came the cold water: actionfromafar warned you could get completely different behavior depending on which chip you boot on. That spooked folks who want predictable results everywhere. Others wished for a full bootloader with multiple “generations” (basically easy rollbacks) and a friendlier menu—the author even invites someone to build it and links a quick demo repo.
TL;DR vibe: bold idea, slick demo, tiny space gains, and a comment section split between “NixOS is magic” and “please don’t surprise me across architectures.”
Key Points
- •A single NixOS disk image is built to boot on x86_64, ARM AArch64, and RISC‑V 64-bit UEFI systems.
- •Per-architecture UKIs are placed at UEFI default firmware paths on the ESP to select the correct system at boot.
- •The method avoids using a traditional bootloader, which simplifies the setup but removes multi-generation support.
- •All architecture-specific closures are stored in one /nix/store partition; expected deduplication savings were minimal in this example.
- •An example repository with build and boot instructions is provided, and readers are encouraged to extend it with a full bootloader and generations.