For macOS users
macOS is a Unix — certified UNIX,
in fact — so your terminal muscle memory (the shell, ssh, pipes, man)
transfers directly. What changes is everything under the hood: a different
kernel, a different service manager, a different filesystem, a different package
story, and — bluntly — Solnix is a server/developer OS without the polished
desktop you have today (graphics are in active bring-up; see the
status). If you live in Terminal and like how
coherent macOS feels, you will recognize the philosophy. This page maps what
you know onto Solnix; each row points at the deeper chapter.
Solnix is illumos managed with Nix.
The one-screen map
| You know (macOS / Darwin) | On Solnix (illumos) | Where |
|---|---|---|
launchd (launchctl, .plist) | SMF — the same "dependency-aware supervisor with a repository" idea; svcs, svcadm | SMF services |
launchctl list / Console.app logs | svcs -x + /var/svc/log/<fmri>.log | SMF · Debugging |
Homebrew / MacPorts (brew install) | Nix — pkgs.solnix.*, declarative + reproducible, whole-system | Learning Nix |
| APFS + Disk Utility, snapshots | ZFS — pool + datasets, checksums, snapshots, clones (APFS’s snapshot idea, deeper) | ZFS storage |
| Time Machine | ZFS snapshots + zfs send/recv (manual today; the primitives are stronger) | ZFS storage |
| Docker Desktop (a Linux VM) | Zones (native, no VM) + LX zones for Linux binaries | Zones · LX zones |
| dtrace / Instruments | DTrace — the original; Instruments is built on DTrace. Same tool, native. | DTrace |
| lldb / crash reports | MDB (mdb), coreadm, crash dumps | Debugging |
sudo | pfexec — RBAC roles + fine-grained kernel privileges | see RBAC below |
pf firewall (pfctl) | ipfilter (ipf / ipnat) | Networking |
networksetup / ifconfig | Crossbow: dladm, ipadm, flowadm | Networking (Crossbow) |
| System Integrity Protection / sealed system volume | ZFS boot environments — atomic OS updates, instant rollback (via Nix generations) | Boot environments |
dyld, .dylib, install_name_tool | ELF + Solaris link-editor (RUNPATH), elfdump | How Solnix is built |
What actually feels different
You know DTrace already — this is its home. Apple shipped DTrace and built
Instruments on it; on Solnix you get the reference implementation, unsandboxed and
complete. Your sudo dtrace -n '...' becomes pfexec dtrace -n '...'. See
DTrace.
launchd → SMF is a near-one-to-one mental move. Both replace shell init with a
dependency-aware supervisor backed by a declarative description and a queryable
state. You stop writing .plist files and start describing smf.services.* in
Nix; launchctl list becomes svcs, and a broken service is diagnosed with
svcs -x instead of digging through Console. See SMF services.
Homebrew → Nix is a bigger leap than it looks. brew is imperative and
per-package; Nix builds a reproducible closure for the entire machine and makes
every change an atomic, rollback-able boot environment.
No more "works on my Mac" drift — the config is the system. See
Learning Nix.
Containers are zones, and there is no hidden Linux VM. Docker Desktop on macOS runs a Linux VM behind the scenes; illumos zones are native kernel-shared isolation with no VM, and LX-branded zones present the Linux ABI directly on the illumos kernel. On Solnix this tooling is early; see Zones and LX zones.
pfexec, not sudo — and the firewall is ipf, not pfctl. Confusingly,
macOS’s pf and illumos’s ipf are different firewalls (macOS adopted BSD
pf; illumos kept the older IPF that pf succeeded). Privilege is RBAC +
fine-grained kernel privileges via pfexec. See Networking.
The honest part
macOS gives you a world-class desktop. Solnix does not, yet — it installs and runs headless on real hardware with wifi, and a graphical desktop (COSMIC) is in active bring-up but not working on hardware today (see the news for dated status). If you are here for a Unix server or a reproducible development OS with the best filesystem and tracing in the business, Solnix is for you now. If you need a daily-driver GUI laptop, it is not there yet — we would rather tell you straight.
What Solnix is not
- Not macOS/Darwin — different kernel (illumos, not XNU/Mach) and no Cocoa.
- Not Linux — different kernel, libc, and init.
- Not a finished desktop — see the status note above and the roadmap.
Where to go from here
- New to Nix (coming from Homebrew)? Learning Nix.
- Want the filesystem/tracing depth you’ll actually enjoy? ZFS · DTrace.
- Want the backstory? the history.