Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

For macOS users

macOS is a Unix \u2014 certified UNIX, in fact \u2014 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 \u2014 bluntly \u2014 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 \u2014 the same "dependency-aware supervisor with a repository" idea; svcs, svcadmSMF services
launchctl list / Console.app logssvcs -x + /var/svc/log/<fmri>.logSMF \u00b7 Debugging
Homebrew / MacPorts (brew install)Nix \u2014 pkgs.solnix.*, declarative + reproducible, whole-systemLearning Nix
APFS + Disk Utility, snapshotsZFS \u2014 pool + datasets, checksums, snapshots, clones (APFS’s snapshot idea, deeper)ZFS storage
Time MachineZFS 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 binariesZones \u00b7 LX zones
dtrace / InstrumentsDTrace \u2014 the original; Instruments is built on DTrace. Same tool, native.DTrace
lldb / crash reportsMDB (mdb), coreadm, crash dumpsDebugging
sudopfexec \u2014 RBAC roles + fine-grained kernel privilegessee RBAC below
pf firewall (pfctl)ipfilter (ipf / ipnat)Networking
networksetup / ifconfigCrossbow: dladm, ipadm, flowadmNetworking (Crossbow)
System Integrity Protection / sealed system volumeZFS boot environments \u2014 atomic OS updates, instant rollback (via Nix generations)Boot environments
dyld, .dylib, install_name_toolELF + Solaris link-editor (RUNPATH), elfdumpHow Solnix is built

What actually feels different

You know DTrace already \u2014 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 \u2192 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 \u2192 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 \u2014 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 \u2014 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 \u2014 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 \u2014 we would rather tell you straight.

What Solnix is not

  • Not macOS/Darwin \u2014 different kernel (illumos, not XNU/Mach) and no Cocoa.
  • Not Linux \u2014 different kernel, libc, and init.
  • Not a finished desktop \u2014 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 \u00b7 DTrace.
  • Want the backstory? the history.