{"slug": "nix-darwin", "name": "nix-darwin", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Nix modules for declaratively configuring and managing macOS systems, similar to NixOS.", "recommenders": 12, "commenters": 18, "warners": 1, "score": 11.358, "rising": -1.27, "first": "2025-11-30", "latest": "2026-10-21", "why": "Liked for keeping a reproducible macOS setup declared in a git-tracked config, and for replacing or declaratively managing Homebrew packages.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 12, "neutral": 5, "compare": 0, "warn": 1}, "spark": [0, 0, 3, 0, 1, 0, 0, 5, 1, 0, 0, 2], "listed": true, "loved": ["Declarative config", "Homebrew management"], "caveat": "Learning curve", "short_quote": "You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well.", "icon": true, "domain": null, "github_repo": "github.com/nix-darwin/nix-darwin", "official_url": "https://github.com/nix-darwin/nix-darwin", "pricing": "open source", "aliases": ["nix-darwin"], "verdict": [{"text": "Liked for keeping a reproducible macOS setup declared in a git-tracked config", "cites": [{"id": 780207153, "item_id": 48762947, "url": "https://news.ycombinator.com/item?id=48762947", "by": "czxtm", "date": "2026-07-02", "stance": "recommend", "quote": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole", "excerpt": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole of wanting to make more and more of my system reproducible. Eventually `claude -p` allowed me to write a script that let me just prompt the changes I wanted to my config rather than have to keep looking up the options in the nix-darwin docs. Over time I found that it would rarely fail to one-shot my request, and I realized I was an Ele", "context": "", "use_case": "reproducible macOS config", "switched_from": "dotfiles", "story": "I made a macOS desktop app to manage Nix-Darwin and Home Manager"}, {"id": 779874561, "item_id": 48742160, "url": "https://news.ycombinator.com/item?id=48742160", "by": "pmarreck", "date": "2026-06-30", "stance": "recommend", "quote": "NixOS (or nix-darwin on Mac) offers both.", "excerpt": "The entire system configuration is one file or a small set of files. If you copy it to a different machine, you can \"run\" it and get pretty much the same machine. If you screw up the config, the system tells you before it even tries to apply it. If something breaks while applying it (which is rare), NOTHING is broken because the entire system still points at the old instance, since cutover is atomic. This is already ", "context": "", "use_case": "reproducible config on Mac", "switched_from": "", "story": "NixOS 26.05 Released"}, {"id": 743425904, "item_id": 46464119, "url": "https://news.ycombinator.com/item?id=46464119", "by": "bryceneal", "date": "2026-01-02", "stance": "recommend", "quote": "if having (most of) your machine defined declaratively in a git repository sounds exciting/useful/comfy, then I would encourage you to give it a try.", "excerpt": "I do this too. It's not for everyone. At this point it's easily been positive ROI for me, but that's after about two years now of maintaining my configs through multiple machines and MacOS upgrades. I would recommend it only if this type of thing naturally interests you. I can't imagine powering through the initial learning curve if it felt like a frustrating chore. That said, if having (most of) your machine defined", "context": "", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}]}, {"text": ", and for replacing or declaratively managing Homebrew packages.", "cites": [{"id": 800090768, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years.", "excerpt": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years. Nix isn\u2019t for everyone, but I find it to be far more stable.", "context": "", "use_case": "macOS package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 743510368, "item_id": 46469398, "url": "https://news.ycombinator.com/item?id=46469398", "by": "perrygeo", "date": "2026-01-02", "stance": "recommend", "quote": "You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well.", "excerpt": "Don't think of nix-darwin as an alternative to homebrew. Por que no los dos? You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well. I stick to nixpkgs for most of the foundational system tools, lsps, build tools - basically anything that works in the terminal and is fully open source. For everything else (zoom, slack, vscode, firefox, etc) I use homebrew packages. The", "context": "macOS user", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 775959280, "item_id": 48497455, "url": "https://news.ycombinator.com/item?id=48497455", "by": "bodzioney", "date": "2026-06-11", "stance": "recommend", "quote": "I use nix-darwin for everything.", "excerpt": "To brew? Sort of. I use nix-darwin for everything. However, some things don\u2019t play nice with nix. In that case you can use nix-darwin to manage brew. Basically you give it all the packages you want, and it generates a brew file and uses it.", "context": "", "use_case": "macOS system configuration", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 775930224, "item_id": 48495639, "url": "https://news.ycombinator.com/item?id=48495639", "by": "Fethbita", "date": "2026-06-11", "stance": "recommend", "quote": "I use nix-darwin and also manage my homebrew packages with it.", "excerpt": "I use nix-darwin and also manage my homebrew packages with it. Maybe you can take a look at that. May I ask for what do you use it at work? I have a few places I think nix might suit but I can\u2019t really put my finger on it.", "context": "", "use_case": "macOS config and Homebrew management", "switched_from": "", "story": "Homebrew 6.0.0"}]}, {"text": " The most common caveat is a steep learning curve that makes it not for everyone", "cites": [{"id": 743425904, "item_id": 46464119, "url": "https://news.ycombinator.com/item?id=46464119", "by": "bryceneal", "date": "2026-01-02", "stance": "recommend", "quote": "if having (most of) your machine defined declaratively in a git repository sounds exciting/useful/comfy, then I would encourage you to give it a try.", "excerpt": "I do this too. It's not for everyone. At this point it's easily been positive ROI for me, but that's after about two years now of maintaining my configs through multiple machines and MacOS upgrades. I would recommend it only if this type of thing naturally interests you. I can't imagine powering through the initial learning curve if it felt like a frustrating chore. That said, if having (most of) your machine defined", "context": "", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 800090768, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years.", "excerpt": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years. Nix isn\u2019t for everyone, but I find it to be far more stable.", "context": "", "use_case": "macOS package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 743460080, "item_id": 46466255, "url": "https://news.ycombinator.com/item?id=46466255", "by": "n8henrie", "date": "2026-01-02", "stance": "recommend", "quote": "for tinkerers would recommend giving it a shot", "excerpt": "After a decade of homebrew, a few years ago I got tired of their very grumpy maintainers and switched to nix-darwin + home-manager. I've been overall fairly happy, and for tinkerers would recommend giving it a shot. Admittedly I bounced off my first try a year before that. A few of my favorite parts, which I see less represented in this thread so far: - I simultaneously jumped into nixos on several Linux machines (st", "context": "tinkerer managing macOS and NixOS machines", "use_case": "declarative macOS config", "switched_from": "Homebrew", "story": "Going immutable on macOS, using Nix-Darwin"}]}, {"text": ", along with hard-to-memorize commands.", "cites": [{"id": 759715937, "item_id": 47482246, "url": "https://news.ycombinator.com/item?id=47482246", "by": "dewey", "date": "2026-03-22", "stance": "neutral", "quote": "nix run nix-darwin -- switch --flake", "excerpt": "I've recently switched to nix as a way to encode my environment across my server and work / private devices a bit more than just having some Brewfiles. I know it's not worth it for the computer switch every few years but having a somewhat opinionated place to centralize my config is worth it over regular dot files. My first impression after a week of using: - I really dislike the complexity of terraform, and this is ", "context": "", "use_case": "macOS system config", "switched_from": "", "story": "Why I love NixOS"}]}], "praise": [{"label": "Declarative config", "summary": "Commenters like defining most of the machine in a reproducible config instead of dotfiles.", "quotes": [{"id": 780207153, "item_id": 48762947, "url": "https://news.ycombinator.com/item?id=48762947", "by": "czxtm", "date": "2026-07-02", "stance": "recommend", "quote": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole", "excerpt": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole of wanting to make more and more of my system reproducible. Eventually `claude -p` allowed me to write a script that let me just prompt the changes I wanted to my config rather than have to keep looking up the options in the nix-darwin docs. Over time I found that it would rarely fail to one-shot my request, and I realized I was an Ele", "context": "", "use_case": "reproducible macOS config", "switched_from": "dotfiles", "story": "I made a macOS desktop app to manage Nix-Darwin and Home Manager"}, {"id": 743425904, "item_id": 46464119, "url": "https://news.ycombinator.com/item?id=46464119", "by": "bryceneal", "date": "2026-01-02", "stance": "recommend", "quote": "if having (most of) your machine defined declaratively in a git repository sounds exciting/useful/comfy, then I would encourage you to give it a try.", "excerpt": "I do this too. It's not for everyone. At this point it's easily been positive ROI for me, but that's after about two years now of maintaining my configs through multiple machines and MacOS upgrades. I would recommend it only if this type of thing naturally interests you. I can't imagine powering through the initial learning curve if it felt like a frustrating chore. That said, if having (most of) your machine defined", "context": "", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 779874561, "item_id": 48742160, "url": "https://news.ycombinator.com/item?id=48742160", "by": "pmarreck", "date": "2026-06-30", "stance": "recommend", "quote": "NixOS (or nix-darwin on Mac) offers both.", "excerpt": "The entire system configuration is one file or a small set of files. If you copy it to a different machine, you can \"run\" it and get pretty much the same machine. If you screw up the config, the system tells you before it even tries to apply it. If something breaks while applying it (which is rare), NOTHING is broken because the entire system still points at the old instance, since cutover is atomic. This is already ", "context": "", "use_case": "reproducible config on Mac", "switched_from": "", "story": "NixOS 26.05 Released"}]}, {"label": "Homebrew management", "summary": "Used as a Homebrew replacement or to manage brew packages declaratively alongside nixpkgs.", "quotes": [{"id": 743510368, "item_id": 46469398, "url": "https://news.ycombinator.com/item?id=46469398", "by": "perrygeo", "date": "2026-01-02", "stance": "recommend", "quote": "You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well.", "excerpt": "Don't think of nix-darwin as an alternative to homebrew. Por que no los dos? You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well. I stick to nixpkgs for most of the foundational system tools, lsps, build tools - basically anything that works in the terminal and is fully open source. For everything else (zoom, slack, vscode, firefox, etc) I use homebrew packages. The", "context": "macOS user", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 775959280, "item_id": 48497455, "url": "https://news.ycombinator.com/item?id=48497455", "by": "bodzioney", "date": "2026-06-11", "stance": "recommend", "quote": "I use nix-darwin for everything.", "excerpt": "To brew? Sort of. I use nix-darwin for everything. However, some things don\u2019t play nice with nix. In that case you can use nix-darwin to manage brew. Basically you give it all the packages you want, and it generates a brew file and uses it.", "context": "", "use_case": "macOS system configuration", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 800090768, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years.", "excerpt": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years. Nix isn\u2019t for everyone, but I find it to be far more stable.", "context": "", "use_case": "macOS package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}]}, {"label": "Cross-machine sharing", "summary": "Commenters share one flake and mostly shared code across macOS and NixOS machines.", "quotes": [{"id": 743460080, "item_id": 46466255, "url": "https://news.ycombinator.com/item?id=46466255", "by": "n8henrie", "date": "2026-01-02", "stance": "recommend", "quote": "for tinkerers would recommend giving it a shot", "excerpt": "After a decade of homebrew, a few years ago I got tired of their very grumpy maintainers and switched to nix-darwin + home-manager. I've been overall fairly happy, and for tinkerers would recommend giving it a shot. Admittedly I bounced off my first try a year before that. A few of my favorite parts, which I see less represented in this thread so far: - I simultaneously jumped into nixos on several Linux machines (st", "context": "tinkerer managing macOS and NixOS machines", "use_case": "declarative macOS config", "switched_from": "Homebrew", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 802990320, "item_id": 50186895, "url": "https://news.ycombinator.com/item?id=50186895", "by": "routelastresort", "date": "2026-10-21", "stance": "recommend", "quote": "I use nix-darwin and nix on CachyOS (and pretty much everything else, including a little NixOS for fun), daily.", "excerpt": "I use nix-darwin and nix on CachyOS (and pretty much everything else, including a little NixOS for fun), daily. I can confirm all of your comments, and someone will come up with something similar that's easier on the eyes.", "context": "daily Nix user", "use_case": "system configuration on macOS", "switched_from": "", "story": "NixOS is making me less afraid"}, {"id": 737640660, "item_id": 46102541, "url": "https://news.ycombinator.com/item?id=46102541", "by": "Ingon", "date": "2025-11-30", "stance": "neutral", "quote": "at work (nix-darwin and projects)", "excerpt": "I am excited for having a new version of NixOS. Few days ago I realized that November is almost gone and went looking for when I can expect the new release. And right on schedule it popped out (was checking throughout the day). Big props to the release managers (and of course the maintainers) I use nix via flakes on my own machines (via NixOS), in my projects (with direnv), on my infrastructure/servers (NixOS deployi", "context": "", "use_case": "macOS config at work", "switched_from": "", "story": "NixOS 25.11 released"}]}, {"label": "Stability", "summary": "Commenters describe it as stable, with atomic changes and rollback to a known-good state.", "quotes": [{"id": 800090768, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years.", "excerpt": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years. Nix isn\u2019t for everyone, but I find it to be far more stable.", "context": "", "use_case": "macOS package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 779874561, "item_id": 48742160, "url": "https://news.ycombinator.com/item?id=48742160", "by": "pmarreck", "date": "2026-06-30", "stance": "recommend", "quote": "NixOS (or nix-darwin on Mac) offers both.", "excerpt": "The entire system configuration is one file or a small set of files. If you copy it to a different machine, you can \"run\" it and get pretty much the same machine. If you screw up the config, the system tells you before it even tries to apply it. If something breaks while applying it (which is rare), NOTHING is broken because the entire system still points at the old instance, since cutover is atomic. This is already ", "context": "", "use_case": "reproducible config on Mac", "switched_from": "", "story": "NixOS 26.05 Released"}]}, {"label": "AI-assisted setup", "summary": "Coding agents make writing nix-darwin config easier for some commenters.", "quotes": [{"id": 759867905, "item_id": 47491744, "url": "https://news.ycombinator.com/item?id=47491744", "by": "brungarc", "date": "2026-03-23", "stance": "recommend", "quote": "I love NixOS and nix-darwing too.", "excerpt": "I love NixOS and nix-darwing too. Specially now that I can use it without having to learn a bunch of stuff before even getting started. My coding agent is great at it.", "context": "", "use_case": "macOS configuration", "switched_from": "", "story": "Why I love NixOS"}, {"id": 780207153, "item_id": 48762947, "url": "https://news.ycombinator.com/item?id=48762947", "by": "czxtm", "date": "2026-07-02", "stance": "recommend", "quote": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole", "excerpt": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole of wanting to make more and more of my system reproducible. Eventually `claude -p` allowed me to write a script that let me just prompt the changes I wanted to my config rather than have to keep looking up the options in the nix-darwin docs. Over time I found that it would rarely fail to one-shot my request, and I realized I was an Ele", "context": "", "use_case": "reproducible macOS config", "switched_from": "dotfiles", "story": "I made a macOS desktop app to manage Nix-Darwin and Home Manager"}]}], "caveats": [{"label": "Learning curve", "summary": "Commenters say it is not for everyone, and the initial learning curve can feel like a chore.", "quotes": [{"id": 743425904, "item_id": 46464119, "url": "https://news.ycombinator.com/item?id=46464119", "by": "bryceneal", "date": "2026-01-02", "stance": "recommend", "quote": "if having (most of) your machine defined declaratively in a git repository sounds exciting/useful/comfy, then I would encourage you to give it a try.", "excerpt": "I do this too. It's not for everyone. At this point it's easily been positive ROI for me, but that's after about two years now of maintaining my configs through multiple machines and MacOS upgrades. I would recommend it only if this type of thing naturally interests you. I can't imagine powering through the initial learning curve if it felt like a frustrating chore. That said, if having (most of) your machine defined", "context": "", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 743460080, "item_id": 46466255, "url": "https://news.ycombinator.com/item?id=46466255", "by": "n8henrie", "date": "2026-01-02", "stance": "recommend", "quote": "for tinkerers would recommend giving it a shot", "excerpt": "After a decade of homebrew, a few years ago I got tired of their very grumpy maintainers and switched to nix-darwin + home-manager. I've been overall fairly happy, and for tinkerers would recommend giving it a shot. Admittedly I bounced off my first try a year before that. A few of my favorite parts, which I see less represented in this thread so far: - I simultaneously jumped into nixos on several Linux machines (st", "context": "tinkerer managing macOS and NixOS machines", "use_case": "declarative macOS config", "switched_from": "Homebrew", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 800090768, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years.", "excerpt": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years. Nix isn\u2019t for everyone, but I find it to be far more stable.", "context": "", "use_case": "macOS package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}]}, {"label": "Clunky UX", "summary": "One user found the commands and flags hard to memorize and needed shell aliases.", "quotes": [{"id": 759715937, "item_id": 47482246, "url": "https://news.ycombinator.com/item?id=47482246", "by": "dewey", "date": "2026-03-22", "stance": "neutral", "quote": "nix run nix-darwin -- switch --flake", "excerpt": "I've recently switched to nix as a way to encode my environment across my server and work / private devices a bit more than just having some Brewfiles. I know it's not worth it for the computer switch every few years but having a somewhat opinionated place to centralize my config is worth it over regular dot files. My first impression after a week of using: - I really dislike the complexity of terraform, and this is ", "context": "", "use_case": "macOS system config", "switched_from": "", "story": "Why I love NixOS"}]}, {"label": "Dependency versions", "summary": "One user stopped using it on a dev machine because of trouble getting correct dependency versions.", "quotes": [{"id": 741879984, "item_id": 46367499, "url": "https://news.ycombinator.com/item?id=46367499", "by": "throw-12-16", "date": "2025-12-23", "stance": "warn", "quote": "Great project, but I had to discontinue using it on my dev machine because of some issues getting the correct versions of dependencies installed.", "excerpt": "Is this a valid alternative to Nix Darwin? https://github.com/nix-darwin/nix-darwin Great project, but I had to discontinue using it on my dev machine because of some issues getting the correct versions of dependencies installed.", "context": "", "use_case": "managing macOS dev machine config", "switched_from": "", "story": "The Polyglot NixOS"}]}, {"label": "Package gaps", "summary": "Some software does not work well with Nix, so Homebrew is still needed for it.", "quotes": [{"id": 775959280, "item_id": 48497455, "url": "https://news.ycombinator.com/item?id=48497455", "by": "bodzioney", "date": "2026-06-11", "stance": "recommend", "quote": "I use nix-darwin for everything.", "excerpt": "To brew? Sort of. I use nix-darwin for everything. However, some things don\u2019t play nice with nix. In that case you can use nix-darwin to manage brew. Basically you give it all the packages you want, and it generates a brew file and uses it.", "context": "", "use_case": "macOS system configuration", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 775912995, "item_id": 48494562, "url": "https://news.ycombinator.com/item?id=48494562", "by": "sunaookami", "date": "2026-06-11", "stance": "recommend", "quote": "For CLI stuff I use Nix, Home-Manager and Nix-Darwin.", "excerpt": "Yeah they also removed support for --no-quarantine flag :/ I only use it for a few casks nowadays and try to avoid Homebrew as much as possible. For CLI stuff I use Nix, Home-Manager and Nix-Darwin.", "context": "", "use_case": "macOS configuration", "switched_from": "", "story": "Homebrew 6.0.0"}]}, {"label": "Unclear benefit", "summary": "One commenter saw no benefit without a need for configuration management on personal machines.", "quotes": [{"id": 775947488, "item_id": 48496718, "url": "https://news.ycombinator.com/item?id=48496718", "by": "klodolph", "date": "2026-06-11", "stance": "neutral", "quote": "I\u2019m not sure what I would get out of nix-Darwin.", "excerpt": "I\u2019m not sure what I would get out of nix-Darwin. It looks like it does not solve any of the problems I am trying to solve? I don\u2019t need or want configuration management on my personal systems, except for the web servers, which I manage using Terraform and Ansible (I am happy with these). We use Nix at work for all sorts of stuff. Binaries run in production from Nix paths. Software we build has dependencies in Nix. Pe", "context": "", "use_case": "", "switched_from": "", "story": "Homebrew 6.0.0"}]}], "who": [{"by": "routelastresort", "context": "daily Nix user", "url": "https://news.ycombinator.com/item?id=50186895", "date": "2026-10-21"}, {"by": "smohare", "context": "former Linux daily driver, now on Mac", "url": "https://news.ycombinator.com/item?id=50147571", "date": "2026-10-19"}, {"by": "perrygeo", "context": "macOS user", "url": "https://news.ycombinator.com/item?id=46469398", "date": "2026-01-02"}, {"by": "n8henrie", "context": "tinkerer managing macOS and NixOS machines", "url": "https://news.ycombinator.com/item?id=46466255", "date": "2026-01-02"}], "tags": ["for macOS users", "for Homebrew users", "for NixOS users", "for tinkerers"], "use_cases": ["macos configuration", "declarative macos configuration", "system configuration on macos", "macos package management", "reproducible macos config", "reproducible config on mac"], "compared": [{"slug": "homebrew", "name": "Homebrew", "co": 7, "switched_from": 2, "switched_to": 0}, {"slug": "nix", "name": "Nix", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "home-manager", "name": "Home Manager", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "nixos", "name": "NixOS", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "terraform", "name": "Terraform", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48490024", "title": "Homebrew 6.0.0", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=46462719", "title": "Going immutable on macOS, using Nix-Darwin", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=47479751", "title": "Why I love NixOS", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50165484", "title": "NixOS is making me less afraid", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50143154", "title": "What the heck is /pkg?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50001580", "title": "Zerobrew: A faster alternative to Homebrew", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"warn": 1}, "2026-01": {"recommend": 3}, "2026-02": {}, "2026-03": {"neutral": 1, "recommend": 1}, "2026-04": {"neutral": 1}, "2026-05": {}, "2026-06": {"recommend": 5, "neutral": 1}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 2, "neutral": 1}}, "quotes": [{"id": 802990320, "item_id": 50186895, "url": "https://news.ycombinator.com/item?id=50186895", "by": "routelastresort", "date": "2026-10-21", "stance": "recommend", "quote": "I use nix-darwin and nix on CachyOS (and pretty much everything else, including a little NixOS for fun), daily.", "excerpt": "I use nix-darwin and nix on CachyOS (and pretty much everything else, including a little NixOS for fun), daily. I can confirm all of your comments, and someone will come up with something similar that's easier on the eyes.", "context": "daily Nix user", "use_case": "system configuration on macOS", "switched_from": "", "story": "NixOS is making me less afraid"}, {"id": 802361136, "item_id": 50147571, "url": "https://news.ycombinator.com/item?id=50147571", "by": "smohare", "date": "2026-10-19", "stance": "neutral", "quote": "I let things like nix-darwin and home-manager do the heavy lifting.", "excerpt": "I think you need to add another adjective in there to describe this group that feels like their rights are taken away by Apple. I used Linux as my daily driver for many years. I enjoy deeply tweaking my system. But I switched to macs when life got busier because I didn\u2019t feel particularly keen being forced to tweak my system constantly. I\u2019ve personally not felt constrained by macOS, so maybe I\u2019m not as erudite of a c", "context": "former Linux daily driver, now on Mac", "use_case": "macOS configuration", "switched_from": "", "story": "What the heck is /pkg?"}, {"id": 800090768, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years.", "excerpt": "I use nix-darwin as a replacement for homebrew, and it\u2019s served me well for circa 8 years. Nix isn\u2019t for everyone, but I find it to be far more stable.", "context": "", "use_case": "macOS package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 780207153, "item_id": 48762947, "url": "https://news.ycombinator.com/item?id=48762947", "by": "czxtm", "date": "2026-07-02", "stance": "recommend", "quote": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole", "excerpt": "Ever since I switched from dotfiles to nix-darwin I've fallen into the rabbit hole of wanting to make more and more of my system reproducible. Eventually `claude -p` allowed me to write a script that let me just prompt the changes I wanted to my config rather than have to keep looking up the options in the nix-darwin docs. Over time I found that it would rarely fail to one-shot my request, and I realized I was an Ele", "context": "", "use_case": "reproducible macOS config", "switched_from": "dotfiles", "story": "I made a macOS desktop app to manage Nix-Darwin and Home Manager"}, {"id": 779874561, "item_id": 48742160, "url": "https://news.ycombinator.com/item?id=48742160", "by": "pmarreck", "date": "2026-06-30", "stance": "recommend", "quote": "NixOS (or nix-darwin on Mac) offers both.", "excerpt": "The entire system configuration is one file or a small set of files. If you copy it to a different machine, you can \"run\" it and get pretty much the same machine. If you screw up the config, the system tells you before it even tries to apply it. If something breaks while applying it (which is rare), NOTHING is broken because the entire system still points at the old instance, since cutover is atomic. This is already ", "context": "", "use_case": "reproducible config on Mac", "switched_from": "", "story": "NixOS 26.05 Released"}, {"id": 778331105, "item_id": 48645694, "url": "https://news.ycombinator.com/item?id=48645694", "by": "unmanageduck", "date": "2026-06-23", "stance": "recommend", "quote": "Package management: Nix-darwin", "excerpt": "Package manager: Nix(alternative to homebrew) https://nixos.org/download/#nix-install-macos Package management: Nix-darwin https://github.com/nix-darwin/nix-darwin Browsers: - Librewolf https://librewolf.net - Tor https://www.torproject.org - Orion https://orionbrowser.com Video downloader: Yt-dlp https://github.com/yt-dlp/yt-dlp Video/audio player: Mpv https://github.com/mpv-player/mpv Video editor: LosslessCut http", "context": "", "use_case": "macOS config management", "switched_from": "", "story": "Ask HN: New clean macOS install. Must-have apps? Best browser?"}, {"id": 775959280, "item_id": 48497455, "url": "https://news.ycombinator.com/item?id=48497455", "by": "bodzioney", "date": "2026-06-11", "stance": "recommend", "quote": "I use nix-darwin for everything.", "excerpt": "To brew? Sort of. I use nix-darwin for everything. However, some things don\u2019t play nice with nix. In that case you can use nix-darwin to manage brew. Basically you give it all the packages you want, and it generates a brew file and uses it.", "context": "", "use_case": "macOS system configuration", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 775947488, "item_id": 48496718, "url": "https://news.ycombinator.com/item?id=48496718", "by": "klodolph", "date": "2026-06-11", "stance": "neutral", "quote": "I\u2019m not sure what I would get out of nix-Darwin.", "excerpt": "I\u2019m not sure what I would get out of nix-Darwin. It looks like it does not solve any of the problems I am trying to solve? I don\u2019t need or want configuration management on my personal systems, except for the web servers, which I manage using Terraform and Ansible (I am happy with these). We use Nix at work for all sorts of stuff. Binaries run in production from Nix paths. Software we build has dependencies in Nix. Pe", "context": "", "use_case": "", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 775930224, "item_id": 48495639, "url": "https://news.ycombinator.com/item?id=48495639", "by": "Fethbita", "date": "2026-06-11", "stance": "recommend", "quote": "I use nix-darwin and also manage my homebrew packages with it.", "excerpt": "I use nix-darwin and also manage my homebrew packages with it. Maybe you can take a look at that. May I ask for what do you use it at work? I have a few places I think nix might suit but I can\u2019t really put my finger on it.", "context": "", "use_case": "macOS config and Homebrew management", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 775912995, "item_id": 48494562, "url": "https://news.ycombinator.com/item?id=48494562", "by": "sunaookami", "date": "2026-06-11", "stance": "recommend", "quote": "For CLI stuff I use Nix, Home-Manager and Nix-Darwin.", "excerpt": "Yeah they also removed support for --no-quarantine flag :/ I only use it for a few casks nowadays and try to avoid Homebrew as much as possible. For CLI stuff I use Nix, Home-Manager and Nix-Darwin.", "context": "", "use_case": "macOS configuration", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 761911665, "item_id": 47619479, "url": "https://news.ycombinator.com/item?id=47619479", "by": "danslo", "date": "2026-04-02", "stance": "neutral", "quote": "Guess I'll just stick with CLI only for now (via darwin-nix)", "excerpt": "The only reason I used Tailscale's menubar applet was to change exit nodes, I definitely don't need a whole UI. Guess I'll just stick with CLI only for now (via darwin-nix)", "context": "", "use_case": "installing Tailscale CLI on macOS", "switched_from": "", "story": "Tailscale's New macOS Home"}, {"id": 759867905, "item_id": 47491744, "url": "https://news.ycombinator.com/item?id=47491744", "by": "brungarc", "date": "2026-03-23", "stance": "recommend", "quote": "I love NixOS and nix-darwing too.", "excerpt": "I love NixOS and nix-darwing too. Specially now that I can use it without having to learn a bunch of stuff before even getting started. My coding agent is great at it.", "context": "", "use_case": "macOS configuration", "switched_from": "", "story": "Why I love NixOS"}, {"id": 759715937, "item_id": 47482246, "url": "https://news.ycombinator.com/item?id=47482246", "by": "dewey", "date": "2026-03-22", "stance": "neutral", "quote": "nix run nix-darwin -- switch --flake", "excerpt": "I've recently switched to nix as a way to encode my environment across my server and work / private devices a bit more than just having some Brewfiles. I know it's not worth it for the computer switch every few years but having a somewhat opinionated place to centralize my config is worth it over regular dot files. My first impression after a week of using: - I really dislike the complexity of terraform, and this is ", "context": "", "use_case": "macOS system config", "switched_from": "", "story": "Why I love NixOS"}, {"id": 743510368, "item_id": 46469398, "url": "https://news.ycombinator.com/item?id=46469398", "by": "perrygeo", "date": "2026-01-02", "stance": "recommend", "quote": "You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well.", "excerpt": "Don't think of nix-darwin as an alternative to homebrew. Por que no los dos? You can run homebrew (declaratively!) via nix-darwin, and I think they complement each other quite well. I stick to nixpkgs for most of the foundational system tools, lsps, build tools - basically anything that works in the terminal and is fully open source. For everything else (zoom, slack, vscode, firefox, etc) I use homebrew packages. The", "context": "macOS user", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 743460080, "item_id": 46466255, "url": "https://news.ycombinator.com/item?id=46466255", "by": "n8henrie", "date": "2026-01-02", "stance": "recommend", "quote": "for tinkerers would recommend giving it a shot", "excerpt": "After a decade of homebrew, a few years ago I got tired of their very grumpy maintainers and switched to nix-darwin + home-manager. I've been overall fairly happy, and for tinkerers would recommend giving it a shot. Admittedly I bounced off my first try a year before that. A few of my favorite parts, which I see less represented in this thread so far: - I simultaneously jumped into nixos on several Linux machines (st", "context": "tinkerer managing macOS and NixOS machines", "use_case": "declarative macOS config", "switched_from": "Homebrew", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 743425904, "item_id": 46464119, "url": "https://news.ycombinator.com/item?id=46464119", "by": "bryceneal", "date": "2026-01-02", "stance": "recommend", "quote": "if having (most of) your machine defined declaratively in a git repository sounds exciting/useful/comfy, then I would encourage you to give it a try.", "excerpt": "I do this too. It's not for everyone. At this point it's easily been positive ROI for me, but that's after about two years now of maintaining my configs through multiple machines and MacOS upgrades. I would recommend it only if this type of thing naturally interests you. I can't imagine powering through the initial learning curve if it felt like a frustrating chore. That said, if having (most of) your machine defined", "context": "", "use_case": "declarative macOS configuration", "switched_from": "", "story": "Going immutable on macOS, using Nix-Darwin"}, {"id": 741879984, "item_id": 46367499, "url": "https://news.ycombinator.com/item?id=46367499", "by": "throw-12-16", "date": "2025-12-23", "stance": "warn", "quote": "Great project, but I had to discontinue using it on my dev machine because of some issues getting the correct versions of dependencies installed.", "excerpt": "Is this a valid alternative to Nix Darwin? https://github.com/nix-darwin/nix-darwin Great project, but I had to discontinue using it on my dev machine because of some issues getting the correct versions of dependencies installed.", "context": "", "use_case": "managing macOS dev machine config", "switched_from": "", "story": "The Polyglot NixOS"}, {"id": 737640660, "item_id": 46102541, "url": "https://news.ycombinator.com/item?id=46102541", "by": "Ingon", "date": "2025-11-30", "stance": "neutral", "quote": "at work (nix-darwin and projects)", "excerpt": "I am excited for having a new version of NixOS. Few days ago I realized that November is almost gone and went looking for when I can expect the new release. And right on schedule it popped out (was checking throughout the day). Big props to the release managers (and of course the maintainers) I use nix via flakes on my own machines (via NixOS), in my projects (with direnv), on my infrastructure/servers (NixOS deployi", "context": "", "use_case": "macOS config at work", "switched_from": "", "story": "NixOS 25.11 released"}]}