Nix, meet illumos.

Solnix is a distribution of illumos built with the Nix package manager and the NixOS module system: declarative machines, ZFS boot environments as generations, SMF instead of systemd. Atomic upgrades, instant rollback — the illumos analog of NixOS.

It's early. The first bootable image just landed — an unstable-edition x86_64 ISO + raw disk image (v2026.08.07), preview-grade. What works today: a signed binary cache for x86_64-solaris, aarch64-solaris, and sparcv9-solaris, full-text package search, and a handbook that's further along than the code.

packages: … cached paths: … cache: online updated: …

Why Solnix

Declarative · planned

One module, one machine

illumos already boots and runs production machines. Solnix will let you describe one declaratively in Nix and rebuild it reproducibly. How it will work →

Atomic · planned

ZFS boot environments

illumos already gives every machine atomic upgrade and instant rollback through beadm boot environments. Solnix will map each Nix generation onto one. How it will work →

Native · planned

SMF, not systemd

illumos already runs services under SMF and svc.startd. Solnix will render SMF manifests from an smf.services.* module. How it will work →

Who Solnix is for

illumos operators

who want declarative, rollback-safe machines without hand-rolling SMF manifests and IPS packages.

Nix users

who need a target that isn't Linux or Darwin, and want the same module system on a ZFS-native kernel.

Anyone running ZFS in anger

who'd rather their OS upgrades were boot environments than a package transaction.

What Solnix is not: not Linux (different kernel, libc, and init); not NixOS (same Nix, different target OS); not Oracle Solaris (the open illumos branch, not Oracle's closed product).

News

Wifi works on the ThinkPad X1 (Intel AC 9560), packaged as Nix 2026-10-11
The X1's Intel Wireless-AC 9560 attaches, associates over WPA2/CCMP, and passes encrypted traffic both ways under Solnix — driven by a port of the OpenBSD iwm driver, packaged as a pure Nix derivation. Read more →

Two DRM drivers coexist in one illumos kernel — a graphics prerequisite, proven 2026-10-11
A correctness prerequisite for driving laptop GPUs is proven: the wifi (iwm) and Intel GPU (i915) drivers load into one running kernel at once with zero cross-wired symbols. This is a milestone, not a working desktop — the GPU does not yet drive the display. Read more →

Solnix installs on the ThinkPad X1 — a headless developer preview on real hardware 2026-10-10
Solnix installs and runs on a real Lenovo ThinkPad X1 Extreme from a USB image — a full disk install with the NixOS workflow intact (ZFS boot environments, solnix-rebuild, generations, sudo). Headless today; graphics are still in bring-up. Read more →

All news → · Atom · RSS

Try it

No install needed — boot a real Solnix riscv64 kernel in your browser. OpenSBI → kernel → init → a live $ shell running the actual coreutils, in a WebAssembly RISC-V emulator. Type ls, cat /etc/release, echo hi.

Try it →

Heads up: it boots the kernel's full self-test log first, and WASM is slower than native — the $ prompt appears after a minute or two. That's the emulator working, not hung.

Community

MAILING LISTS

Read the lists

announce@ and hackers@ have public archives you can read now at lists.solnix.io (web, IMAP, NNTP, and git). Subscribe on the community page, or mail subscribe to the list.

CONTRIBUTE

Send a patch

Patches by email to hackers@ (a PR bridge is coming), or the issue tracker. See the contributing guide.

P2P

Be a mirror (opt-in)

If you turn it on, your browser can share the site's static files with other visitors over WebRTC while the tab is open — origin load drops as the community grows. Off by default; peers see your IP. How it works.

COMMUNITY PULSE
Not measured — unique users
See the full community pulse →

Architecture support

ArchPlatform tupleStatusCachePackagesPhase
x86_64 (amd64)x86_64-solarisPrimary targetlive…1
aarch64aarch64-solarisOut-of-tree illumos port exists; integratinglive…3
SPARC v9 (sun4v)sparcv9-solarisBit-rotting in-gate; reviving with fork patcheslive…4
RISC-Vriscv64-solarisKernel boots to a shell (try it in your browser); no builder/cache yetplanned…5

Binary cache — skip the recompilation tax

Point nix at the Solnix cache and pull prebuilt store paths for every supported architecture. Every path is signed with the cache.solnix.io-1 key and verified before use.

# /etc/nix/nix.conf
substituters = https://cache.solnix.io https://cache.nixos.org
trusted-public-keys = cache.solnix.io-1:8UNrVAOSOrI9PGHc8/pD2Yqp265ZeYb3OId+gv4+wm8=

Nix already trusts cache.nixos.org by default, so you only add the Solnix key above.

Does it work? Ask the cache directly — no config needed:

nix store info --store https://cache.solnix.io

Cache objects are also distributed over BitTorrent, so bandwidth scales with the community instead of one origin's egress bill. seeding — HTTP works today and always stays the fallback; browser peer-sharing is opt-in. How it works →

Coming from Linux?

Most of your instincts transfer — it's Unix, and if you know Nix the Nix half is unchanged. What's different is the substrate: a different kernel, init, filesystem, and container model. Here's the map; the full translation table goes deeper on each.

You know (Linux / NixOS)On Solnix (illumos)
systemd — systemctl, units, journalctlSMF — svcs, svcadm, svccfg; broken? svcs -x
Docker / LXC (cgroups + namespaces)Zones (native, kernel-shared) + LX zones to run Linux binaries
ext4 / xfs / btrfs + LVM / mdadmZFS all the way down — pool + volume manager + FS in one
strace / perf / ftrace / eBPFDTrace — one language, kernel + userland, safe in prod (+ truss)
apt / dnf / pacmanNix — pkgs.solnix.*, declarative machines
iptables / nftables, bridges, veth, tcipfilter (ipf) + Crossbow (dladm/ipadm/flowadm)
sudo, capabilitiespfexec — RBAC roles + fine-grained kernel privileges
gdb, dmesg hardware errorsMDB (mdb) + FMA (fmadm faulty, fmdump)
GNU ld / patchelf / ldd, glibcSolaris link-editor (RUNPATH) + elfdump; illumos libc, not glibc
NixOS generations (Linux kernel)Nix generations → ZFS boot environments (atomic upgrade, instant rollback)

The ones that change how you think: SMF isn't a restart loop — a failing service lands in maintenance until you svcadm clear it. Containers are zones (Linux ELF needs an LX zone, no VM). Your OS upgrades are ZFS — each generation is a bootable clone of root. Observability is DTrace, and it's better than what you left. The differences that actually bite →

Coming from a BSD?

illumos will feel closer to home than Linux does — it's a SysV-Unix cousin with a real, coherent base system, and you already share ZFS and the bhyve/loader lineage with FreeBSD. The reflexes that differ are init, isolation, and packaging.

You know (FreeBSD / OpenBSD / NetBSD)On Solnix (illumos)
rc.d / service / rcctlSMF — dependency-aware, self-restarting; svcs, svcadm
jails (FreeBSD) / vmmZones (the original OS container, 2005) + LX zones for Linux ABI
ZFS (FreeBSD)ZFS — same lineage; illumos is where OpenZFS work lands too. Familiar.
bhyve / FreeBSD loaderbhyve (ported from FreeBSD) + the same FreeBSD-derived loader on x86
pf (packet filter)ipfilter (ipf/ipnat) — the pre-pf IPF, still first-class here
pkg / ports / pkg_addNix — declarative + reproducible; the base system is Nix-described too
ktrace / dtrace (FreeBSD/NetBSD)DTrace — the original, deepest implementation (illumos is its home)
base system = one coherent treesame philosophy — illumos is a unified kernel+userland gate, not a distro of parts

What's genuinely new: SMF (a real service manager, not shell rc scripts), RBAC + process privileges instead of plain root, and Nix for the whole system instead of ports/pkg. If you like BSD for its coherence, illumos keeps that and adds atomic ZFS boot environments. The full map →

Coming from macOS?

Your terminal transfers — macOS is a certified Unix — and you already know DTrace (Instruments is built on it) and snapshotting storage (APFS). launchd → SMF is nearly one-to-one, and Homebrew → Nix is the big upgrade. Honest caveat: Solnix is a server/dev OS — no polished desktop yet.

You know (macOS / Darwin)On Solnix (illumos)
launchd (launchctl, .plist)SMF — dependency-aware supervisor + repository; svcs, svcadm
Homebrew / MacPortsNix — declarative, reproducible, whole-system (not per-package)
APFS + Disk Utility / Time MachineZFS — snapshots + send/recv, deeper than APFS; boot environments
dtrace / InstrumentsDTrace — the original; Instruments is built on it
Docker Desktop (a hidden Linux VM)Zones (native, no VM) + LX zones for Linux binaries
pf (pfctl) / sudoipfilter (ipf) + pfexec (RBAC + kernel privileges)

The honest part: macOS gives you a world-class desktop; Solnix does not, yet — it installs headless on real hardware with wifi, and a GUI is in bring-up. Great for a Unix server or a reproducible dev OS now; not a daily-driver laptop yet. The full map →

Coming from Windows?

The longest trip — and we'll say so plainly. Solnix is a Unix server/developer OS: no registry, no .exe, no Explorer desktop (yet). But if you've used WSL, PowerShell, or Hyper-V, you already have the footholds. The core new habit: the system is described in text and rebuilt atomically, not clicked and patched in place.

You know (Windows)On Solnix (illumos)
Services (services.msc, sc.exe)SMF — dependency-aware, auto-restart, queryable; svcs, svcadm
winget / Chocolatey / MSI + the RegistryNix — declarative text config; no central binary hive, no installer drift
NTFS / Storage Spaces / Shadow CopyZFS — pool + FS + checksums + snapshots; boot environments for rollback
WSL (Linux on Windows)LX zones (Linux binaries on the illumos kernel, no VM)
Hyper-VZones (native containers) + bhyve (full VMs)
Run as administrator / UACpfexec + RBAC roles + fine-grained kernel privileges
PowerShell / ETW / PerfmonPOSIX shells + DTrace (the tool ETW aspired to be)

The honest part: Windows is a desktop OS first; Solnix is not a desktop OS today (headless install + wifi work; a GUI is in bring-up) and has no .exe compatibility. Choose it to learn Unix properly, run servers, or build reproducibly — not as a Windows desktop replacement. The full map →