January 2, 2026
Freeze your Mac, thaw your sanity
Going immutable on macOS, using Nix-Darwin
Mac devs freeze their Macs: Nix hype meets real talk
TLDR: Antonin switched his Mac to an “immutable” setup using Nix-Darwin for repeatable installs and easy rollbacks. Commenters are split: some love shareable configs and quick onboarding, others warn about time sinks and macOS update risks—making this a key debate for anyone tired of fragile dev machines.
New year, new Mac… and a bold move to “freeze” it. In Antonin’s post, he ditches the old habit of random installs and broken paths for the promise of an immutable setup with Nix-Darwin—think your computer’s setup as a recipe you can replay, with save points (rollbacks) and pinned versions that don’t surprise you. Sounds like peace at last, right?
The comments bring the fireworks. One camp is dreaming big: turtleyacht wants “instant onboarding”—share a single config file and boom, anyone’s Mac looks the same. Others go practical: CraigJPerry adds a pro tip to include App Store installs, bragging they rebuild a fresh Mac with just two commands, but admits dev environments are still the final boss. The skeptics show up too. otikik questions whether swapping “hours of debugging” for “lots of time moving to Nix” is actually a win unless you’re constantly reinstalling. And exitb throws a spicy question: will Nix-Darwin survive those surprise macOS updates?
Meanwhile, fredrikaverpil flexes: one setup for both Mac and homelab, all mirrored like a neatly organized closet. The thread jokes Nix is Marie Kondo for Macs, a save-state button for your laptop life, and “git-commit your personality.” It’s a showdown between control and convenience, with the crowd split between zen-like reproducibility and the fear of trading chaos for a new kind of maintenance.
Key Points
- •The article contrasts Homebrew’s imperative installs with Nix’s declarative approach on macOS.
- •Nix stores packages in /nix/store with unique hashes, enabling reproducibility and side-by-side versions (e.g., Odin compiler).
- •Rollbacks are supported via Nix generations on macOS, with states stored on read-only volumes and viewable via nix-env.
- •Nix flakes and flake.lock pin configurations to specific git commits to ensure identical setups across machines.
- •nix-darwin enables declarative management of macOS system settings like Finder, Dock, Trackpad, and the application firewall.