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, svcadm | SMF services |
launchctl list / Console.app logs | svcs -x + /var/svc/log/<fmri>.log | SMF \u00b7 Debugging |
Homebrew / MacPorts (brew install) | Nix \u2014 pkgs.solnix.*, declarative + reproducible, whole-system | Learning Nix |
| APFS + Disk Utility, snapshots | ZFS \u2014 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 \u00b7 LX zones |
| dtrace / Instruments | DTrace \u2014 the original; Instruments is built on DTrace. Same tool, native. | DTrace |
| lldb / crash reports | MDB (mdb), coreadm, crash dumps | Debugging |
sudo | pfexec \u2014 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 \u2014 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 \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.