Build packages and configure OpenBSD with Nix, using a custom NixBSD branch. The native amd64 VM includes Nix, a native stdenv and an SMP kernel. Personal configurations support live updates and rollback.
This is experimental. Builds use separate users; sandboxing is opt-in and disabled by default. See status and limitations.
On x86_64 Linux with KVM and Nix flakes enabled:
nix run github:iamanaws/nix-openbsd#native-vmThe flake includes nix-openbsd.cachix.org as an optional binary cache to save
build time. A trusted cache can supply modified outputs, so only use it if you
trust me.
Log in as bestie with password toor, then run inside OpenBSD:
nix run github:iamanaws/nix-openbsd#helloIt prints Hello, world!. The VM has public test credentials; keep it off
untrusted networks. See VM details for SSH, shutdown, tagged
releases and experimental ARM Linux/macOS launchers.
| Guide | Contents |
|---|---|
| VM | Hosts, releases, resources and persistent state. |
| Configuration | Personal systems, live updates and rollback. |
| Networking | DHCP, SLAAC, DNS proposals, routing and VPNs. |
| Services | Directories, doas, local mail and maintenance. |
| Modules | Module integration and service handlers. |
| Development | Native packages, toolchains and build targets. |
| Testing | Suite selection, fixtures and reports. |
| Status | Recorded results and limitations. |
| Roadmap | Remaining work. |
| Nix internals | Runtime fixes and bootstrap history. |
| Build isolation | Sandbox configuration, lifecycle and limits. |
| Upstream | Patch owners, review notes and removal criteria. |