{"slug": "nix", "name": "Nix", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Purely functional package manager and build system for reproducible, declarative software environments.", "recommenders": 45, "commenters": 77, "warners": 12, "score": 34.465, "rising": 6.18, "first": "2025-11-02", "latest": "2026-10-23", "why": "HN commenters like Nix for reproducible, declarative dev environments, as a more stable Homebrew replacement on macOS, and for easy rollbacks after breaking changes.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 49, "neutral": 18, "compare": 5, "warn": 12}, "spark": [1, 4, 9, 2, 7, 3, 1, 6, 0, 4, 3, 9], "listed": true, "loved": ["Reproducible environments", "Agents and LLMs"], "caveat": "Learning curve", "short_quote": "I cannot sufficiently convey how absolutely barbaric everything else feels in comparison.", "icon": true, "domain": "jvns.ca", "github_repo": null, "official_url": "https://nixos.org", "pricing": "open source", "aliases": ["Nix"], "verdict": [{"text": "HN commenters like Nix for reproducible, declarative dev environments", "cites": [{"id": 745871537, "item_id": 46616971, "url": "https://news.ycombinator.com/item?id=46616971", "by": "arximboldi", "date": "2026-01-14", "stance": "recommend", "quote": "For me what worked wonders was adopting Nix.", "excerpt": "I like Github Actions and it is better than what I used before (Travis) and I think it solves an important problem. For OSS projects it's a super valuable free resource. For me what worked wonders was adopting Nix. Make sure you have a reproducible dev environment and wrap your commands in `nix-shell --run`, or even better `nix develop --command`, or even better your most of your CI tasks derivations that run with `n", "context": "", "use_case": "reproducible dev environments and CI", "switched_from": "", "story": "I Hate GitHub Actions with Passion"}, {"id": 772667680, "item_id": 48291730, "url": "https://news.ycombinator.com/item?id=48291730", "by": "sshine", "date": "2026-05-27", "stance": "recommend", "quote": "The number one power move I have is Nix integration.", "excerpt": "The number one power move I have is Nix integration. The availability of tooling, secrets, environment and the ability for the agent to modify its own environment is... well, I don't know how people live without it. I guess you guys still install things using commands and hope everything you need is present on the next machine? Developer machine, CI environment, deployment environment: They're all derived from a sing", "context": "", "use_case": "reproducible environments for agents", "switched_from": "", "story": "Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs"}, {"id": 765532624, "item_id": 47845789, "url": "https://news.ycombinator.com/item?id=47845789", "by": "sshine", "date": "2026-04-21", "stance": "recommend", "quote": "I handle polyglot monorepos using Nix.", "excerpt": "I handle polyglot monorepos using Nix. Because Nix is a package manager not tied to one programming language ecosystem, I can install all the tools for every language I need, and have the tooling consistent and modular, even between monorepos. For formatting I usee treefmt-nix, which quickly format all syntaxes in my repo (.nix, .rs, .md, etc.) by calling individual formatters (installed via Nix), such as rustfmt, md", "context": "", "use_case": "polyglot monorepo tooling", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}]}, {"text": ", as a more stable Homebrew replacement on macOS", "cites": [{"id": 800090769, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "Nix isn\u2019t for everyone, but I find it to be far more stable.", "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": "package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 760181793, "item_id": 47511362, "url": "https://news.ycombinator.com/item?id=47511362", "by": "denkmoon", "date": "2026-03-24", "stance": "recommend", "quote": "since using nixpkgs for my macos dev requirements it's been so much nicer.", "excerpt": "Brew is a leaky piece of crap. nix 4 lyf. Seriously, I used to hate any time I needed to install something with brew not knowing if it was going to break everything else, since using nixpkgs for my macos dev requirements it's been so much nicer.", "context": "", "use_case": "macOS dev environment", "switched_from": "Homebrew", "story": "Nanobrew: The fastest macOS package manager compatible with brew"}]}, {"text": ", and for easy rollbacks after breaking changes.", "cites": [{"id": 800691664, "item_id": 50043229, "url": "https://news.ycombinator.com/item?id=50043229", "by": "hamburglar", "date": "2026-10-11", "stance": "recommend", "quote": "it\u2019s insanely liberating to know how easy it is to screw everything up and roll it back trivially", "excerpt": "I used nix years ago on a Mac just as a sort of alternative to what I\u2019d otherwise use homebrew for and I really liked it, so I decided a few times that i would try nixos for my laptop. Each time I was stopped by the awful documentation and the weird \u201cflakes are experimental but kinda required\u201d state of the project and I gave up. This year I decided to give it another try and set it up on an ancient laptop using Claud", "context": "", "use_case": "managing configs across machines", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800646737, "item_id": 50040421, "url": "https://news.ycombinator.com/item?id=50040421", "by": "chickensong", "date": "2026-10-11", "stance": "recommend", "quote": "It's definitely not beta software.", "excerpt": "Nix daily driver for years here. I don't know what they did to screw up their system like that, but it's unusual IME. Normally you can just reboot and load the previous profile. Even in the absolute worst case, as long as you have your config, you could boot the installer and then load your config and your system comes back exactly as it was. It's definitely not beta software. FWIW, I used Debian more than anything o", "context": "Nix daily driver for years, Linux user", "use_case": "daily driver", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 749314832, "item_id": 46832177, "url": "https://news.ycombinator.com/item?id=46832177", "by": "linux4dummies", "date": "2026-01-30", "stance": "recommend", "quote": "Check out Nix and NixOS.", "excerpt": "Check out Nix and NixOS. NixOS is designed to keep a record on system changes, and rollbacks are easy (atleast regarding configuration changes).", "context": "", "use_case": "reversible system changes", "switched_from": "", "story": "Ask HN: Do you bother making state changes reversible?"}]}, {"text": " The most common complaint is a steep learning curve with poor documentation and awkward UX", "cites": [{"id": 768686225, "item_id": 48042889, "url": "https://news.ycombinator.com/item?id=48042889", "by": "Lazare", "date": "2026-05-06", "stance": "warn", "quote": "found it a bit daunting (large, complex, poorly documented, and felt hard to partially adopt)", "excerpt": "Not exactly on topic, but I have to endorse mise; it's a really, really great tool that solves a number of different problems. Example: I was recently working on a large project that needed a specific version of Python, and there's a lot of ways to solve that, but mise was an easy and robust one. But also, the project needed a bunch of different tools to build it, deploy it, do local dev, perform certain maintenance ", "context": "", "use_case": "tool and environment management", "switched_from": "", "story": "Going Full Time on Open Source"}, {"id": 800691664, "item_id": 50043229, "url": "https://news.ycombinator.com/item?id=50043229", "by": "hamburglar", "date": "2026-10-11", "stance": "recommend", "quote": "it\u2019s insanely liberating to know how easy it is to screw everything up and roll it back trivially", "excerpt": "I used nix years ago on a Mac just as a sort of alternative to what I\u2019d otherwise use homebrew for and I really liked it, so I decided a few times that i would try nixos for my laptop. Each time I was stopped by the awful documentation and the weird \u201cflakes are experimental but kinda required\u201d state of the project and I gave up. This year I decided to give it another try and set it up on an ancient laptop using Claud", "context": "", "use_case": "managing configs across machines", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 759715936, "item_id": 47482246, "url": "https://news.ycombinator.com/item?id=47482246", "by": "dewey", "date": "2026-03-22", "stance": "recommend", "quote": "I'll stick with it as I didn't find anything better and LLMs are great for building up the config over time", "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": "encoding environment config", "switched_from": "Homebrew", "story": "Why I love NixOS"}]}, {"text": ", though several users say LLMs now make writing the config manageable.", "cites": [{"id": 800605248, "item_id": 50037828, "url": "https://news.ycombinator.com/item?id=50037828", "by": "bentcorner", "date": "2026-10-10", "stance": "recommend", "quote": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend.", "excerpt": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend. I can code review config changes and keep it all in git - also makes it easy to pick up the entire config and deploy it on a different machine.", "context": "", "use_case": "machine configuration in git", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 757443296, "item_id": 47340206, "url": "https://news.ycombinator.com/item?id=47340206", "by": "the_real_cher", "date": "2026-03-11", "stance": "recommend", "quote": "But with an LLM I'm pretty happy with nix.", "excerpt": "Counterpoint, I have been using Nix for several months and have no problems. I use LLM's ALOT for the config file which is in a custom nix DSL. I couldn't imagine how long it would take before LLM's. But with an LLM I'm pretty happy with nix.", "context": "", "use_case": "system configuration", "switched_from": "", "story": "I stopped using NixOS and went back to Arch Linux"}, {"id": 779541216, "item_id": 48721326, "url": "https://news.ycombinator.com/item?id=48721326", "by": "bjtitus", "date": "2026-06-29", "stance": "recommend", "quote": "I've used this set up for 3 or 4 years now and love it.", "excerpt": "I've used this set up for 3 or 4 years now and love it. I used to hit bottlenecks having to edit some nix files once or twice a month and forgetting the language but LLMs dramatically reduce that barrier.", "context": "", "use_case": "macOS package/config management", "switched_from": "", "story": "NixOS 26.05 Released"}]}], "praise": [{"label": "Reproducible environments", "summary": "Declared tools and dependencies keep dev machines, CI and deployment consistent.", "quotes": [{"id": 772667680, "item_id": 48291730, "url": "https://news.ycombinator.com/item?id=48291730", "by": "sshine", "date": "2026-05-27", "stance": "recommend", "quote": "The number one power move I have is Nix integration.", "excerpt": "The number one power move I have is Nix integration. The availability of tooling, secrets, environment and the ability for the agent to modify its own environment is... well, I don't know how people live without it. I guess you guys still install things using commands and hope everything you need is present on the next machine? Developer machine, CI environment, deployment environment: They're all derived from a sing", "context": "", "use_case": "reproducible environments for agents", "switched_from": "", "story": "Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs"}, {"id": 745871537, "item_id": 46616971, "url": "https://news.ycombinator.com/item?id=46616971", "by": "arximboldi", "date": "2026-01-14", "stance": "recommend", "quote": "For me what worked wonders was adopting Nix.", "excerpt": "I like Github Actions and it is better than what I used before (Travis) and I think it solves an important problem. For OSS projects it's a super valuable free resource. For me what worked wonders was adopting Nix. Make sure you have a reproducible dev environment and wrap your commands in `nix-shell --run`, or even better `nix develop --command`, or even better your most of your CI tasks derivations that run with `n", "context": "", "use_case": "reproducible dev environments and CI", "switched_from": "", "story": "I Hate GitHub Actions with Passion"}, {"id": 765532624, "item_id": 47845789, "url": "https://news.ycombinator.com/item?id=47845789", "by": "sshine", "date": "2026-04-21", "stance": "recommend", "quote": "I handle polyglot monorepos using Nix.", "excerpt": "I handle polyglot monorepos using Nix. Because Nix is a package manager not tied to one programming language ecosystem, I can install all the tools for every language I need, and have the tooling consistent and modular, even between monorepos. For formatting I usee treefmt-nix, which quickly format all syntaxes in my repo (.nix, .rs, .md, etc.) by calling individual formatters (installed via Nix), such as rustfmt, md", "context": "", "use_case": "polyglot monorepo tooling", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}]}, {"label": "Agents and LLMs", "summary": "LLMs help write Nix config, and Nix provides controlled environments for coding agents.", "quotes": [{"id": 800605248, "item_id": 50037828, "url": "https://news.ycombinator.com/item?id=50037828", "by": "bentcorner", "date": "2026-10-10", "stance": "recommend", "quote": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend.", "excerpt": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend. I can code review config changes and keep it all in git - also makes it easy to pick up the entire config and deploy it on a different machine.", "context": "", "use_case": "machine configuration in git", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 750313088, "item_id": 46894568, "url": "https://news.ycombinator.com/item?id=46894568", "by": "jamesmstone", "date": "2026-02-04", "stance": "recommend", "quote": "This general idea is exactly why I love nix. The immutability of it is powerful.", "excerpt": "This general idea is exactly why I love nix. The immutability of it is powerful. It can be useful for both running your agents in a certain environment AND your agents are useful at writing your nix config. I expand on this in a blog post here https://jamesst.one/posts/agents-nix", "context": "", "use_case": "reproducible environments for agents", "switched_from": "", "story": "Claude Code for Infrastructure"}, {"id": 757443296, "item_id": 47340206, "url": "https://news.ycombinator.com/item?id=47340206", "by": "the_real_cher", "date": "2026-03-11", "stance": "recommend", "quote": "But with an LLM I'm pretty happy with nix.", "excerpt": "Counterpoint, I have been using Nix for several months and have no problems. I use LLM's ALOT for the config file which is in a custom nix DSL. I couldn't imagine how long it would take before LLM's. But with an LLM I'm pretty happy with nix.", "context": "", "use_case": "system configuration", "switched_from": "", "story": "I stopped using NixOS and went back to Arch Linux"}]}, {"label": "Homebrew replacement", "summary": "Used with nix-darwin and Home Manager as a steadier package manager on macOS.", "quotes": [{"id": 800090769, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "Nix isn\u2019t for everyone, but I find it to be far more stable.", "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": "package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 760181793, "item_id": 47511362, "url": "https://news.ycombinator.com/item?id=47511362", "by": "denkmoon", "date": "2026-03-24", "stance": "recommend", "quote": "since using nixpkgs for my macos dev requirements it's been so much nicer.", "excerpt": "Brew is a leaky piece of crap. nix 4 lyf. Seriously, I used to hate any time I needed to install something with brew not knowing if it was going to break everything else, since using nixpkgs for my macos dev requirements it's been so much nicer.", "context": "", "use_case": "macOS dev environment", "switched_from": "Homebrew", "story": "Nanobrew: The fastest macOS package manager compatible with brew"}, {"id": 775912993, "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": "CLI package management", "switched_from": "Homebrew", "story": "Homebrew 6.0.0"}]}, {"label": "Rollbacks", "summary": "Users can break the system and roll back to a previous configuration easily.", "quotes": [{"id": 800691664, "item_id": 50043229, "url": "https://news.ycombinator.com/item?id=50043229", "by": "hamburglar", "date": "2026-10-11", "stance": "recommend", "quote": "it\u2019s insanely liberating to know how easy it is to screw everything up and roll it back trivially", "excerpt": "I used nix years ago on a Mac just as a sort of alternative to what I\u2019d otherwise use homebrew for and I really liked it, so I decided a few times that i would try nixos for my laptop. Each time I was stopped by the awful documentation and the weird \u201cflakes are experimental but kinda required\u201d state of the project and I gave up. This year I decided to give it another try and set it up on an ancient laptop using Claud", "context": "", "use_case": "managing configs across machines", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800646737, "item_id": 50040421, "url": "https://news.ycombinator.com/item?id=50040421", "by": "chickensong", "date": "2026-10-11", "stance": "recommend", "quote": "It's definitely not beta software.", "excerpt": "Nix daily driver for years here. I don't know what they did to screw up their system like that, but it's unusual IME. Normally you can just reboot and load the previous profile. Even in the absolute worst case, as long as you have your config, you could boot the installer and then load your config and your system comes back exactly as it was. It's definitely not beta software. FWIW, I used Debian more than anything o", "context": "Nix daily driver for years, Linux user", "use_case": "daily driver", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 749314832, "item_id": 46832177, "url": "https://news.ycombinator.com/item?id=46832177", "by": "linux4dummies", "date": "2026-01-30", "stance": "recommend", "quote": "Check out Nix and NixOS.", "excerpt": "Check out Nix and NixOS. NixOS is designed to keep a record on system changes, and rollbacks are easy (atleast regarding configuration changes).", "context": "", "use_case": "reversible system changes", "switched_from": "", "story": "Ask HN: Do you bother making state changes reversible?"}]}, {"label": "Multi-machine config", "summary": "One config kept in git can set up several machines quickly.", "quotes": [{"id": 800605248, "item_id": 50037828, "url": "https://news.ycombinator.com/item?id=50037828", "by": "bentcorner", "date": "2026-10-10", "stance": "recommend", "quote": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend.", "excerpt": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend. I can code review config changes and keep it all in git - also makes it easy to pick up the entire config and deploy it on a different machine.", "context": "", "use_case": "machine configuration in git", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 737640657, "item_id": 46102541, "url": "https://news.ycombinator.com/item?id=46102541", "by": "Ingon", "date": "2025-11-30", "stance": "recommend", "quote": "I use nix via flakes on my own machines (via NixOS), in my projects (with direnv)", "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": "uses Nix on personal machines, servers, and at work", "use_case": "project environments", "switched_from": "", "story": "NixOS 25.11 released"}, {"id": 787505296, "item_id": 49219081, "url": "https://news.ycombinator.com/item?id=49219081", "by": "garn810", "date": "2026-08-07", "stance": "recommend", "quote": "Ever since I migrated my dev workflow to nix package manager (and home manager for system depa), my life became simpler like 10 times", "excerpt": "Ah, yearly I hate/love nix post.. I tell you what. Ever since I migrated my dev workflow to nix package manager (and home manager for system depa), my life became simpler like 10 times I can configure any macos machine in like 20 mins (I use Determinate)", "context": "", "use_case": "dev workflow and machine configuration", "switched_from": "", "story": "The Nixpkgs core team has disbanded"}]}, {"label": "Package library", "summary": "Seen as more polished than Guix, with a larger package library and easy static binaries.", "quotes": [{"id": 748213936, "item_id": 46763371, "url": "https://news.ycombinator.com/item?id=46763371", "by": "rudhdb773b", "date": "2026-01-26", "stance": "recommend", "quote": "I've had to stick with Nix because its more polished with a large library of packages.", "excerpt": "I love Guix documentation, but unfortunately I've had to stick with Nix because its more polished with a large library of packages. LLMs have also made writing syntacticly correct Nix scripts much easier, so I don't miss Guix's Guile that much.", "context": "", "use_case": "package management", "switched_from": "", "story": "Guix for Development"}, {"id": 748216272, "item_id": 46763517, "url": "https://news.ycombinator.com/item?id=46763517", "by": "tetris11", "date": "2026-01-26", "stance": "recommend", "quote": "the one killer feature Nix has that Guix doesn\u2019t is making a single static binary of common programs", "excerpt": "I love Guile over Nix syntax, but the one killer feature Nix has that Guix doesn\u2019t is making a single static binary of common programs and then deploying them elsewhere. In Nix, this is a single flag. In Guix, you either deploy with all libraries on a custom /guix path, or nothing.", "context": "", "use_case": "packaging static binaries", "switched_from": "", "story": "Guix for Development"}]}], "caveats": [{"label": "Learning curve", "summary": "Commenters find it large, complex, poorly documented and hard to remember.", "quotes": [{"id": 768686225, "item_id": 48042889, "url": "https://news.ycombinator.com/item?id=48042889", "by": "Lazare", "date": "2026-05-06", "stance": "warn", "quote": "found it a bit daunting (large, complex, poorly documented, and felt hard to partially adopt)", "excerpt": "Not exactly on topic, but I have to endorse mise; it's a really, really great tool that solves a number of different problems. Example: I was recently working on a large project that needed a specific version of Python, and there's a lot of ways to solve that, but mise was an easy and robust one. But also, the project needed a bunch of different tools to build it, deploy it, do local dev, perform certain maintenance ", "context": "", "use_case": "tool and environment management", "switched_from": "", "story": "Going Full Time on Open Source"}, {"id": 759715936, "item_id": 47482246, "url": "https://news.ycombinator.com/item?id=47482246", "by": "dewey", "date": "2026-03-22", "stance": "recommend", "quote": "I'll stick with it as I didn't find anything better and LLMs are great for building up the config over time", "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": "encoding environment config", "switched_from": "Homebrew", "story": "Why I love NixOS"}, {"id": 783717746, "item_id": 48982359, "url": "https://news.ycombinator.com/item?id=48982359", "by": "tombert", "date": "2026-07-20", "stance": "warn", "quote": "Not even to mention how quickly Nix can get annoying.", "excerpt": "I have grown pretty negative opinions of \u201cusing a programming language as a config language\u201d after semi-recently having to spend a lot of time screwing around with someone\u2019s Gradle Groovy abomination. Not even to mention how quickly Nix can get annoying. I have to ask\u2026why do people want a Turing complete language to configure stuff? I use Sway personally, which is very configurable but for any even remotely complicat", "context": "", "use_case": "configuration", "switched_from": "", "story": "Hyprland 0.55 announced the switch to Lua for its config files"}]}, {"label": "Partial adoption", "summary": "Mixing Nix with non-Nix tools or prebuilt pieces gets hard, and adoption can require reworking workflows.", "quotes": [{"id": 797724320, "item_id": 49857770, "url": "https://news.ycombinator.com/item?id=49857770", "by": "aidanhs", "date": "2026-09-26", "stance": "warn", "quote": "it starts making life hard", "excerpt": "I know it technically isn't true and I use the word 'practically' deliberately. The problem is that as soon as you opt into one part of nixpkgs (say a compiler) you end up implicitly opting into large parts of it because of common code in nixpkgs that make assumptions about undocumented magic environment variables etc that other packages (e.g. libc) may make use of or set. I feel like a core problem though is the ass", "context": "", "use_case": "build system", "switched_from": "", "story": "From Thin Air to Bootable Images: The Tine Build System"}, {"id": 768686225, "item_id": 48042889, "url": "https://news.ycombinator.com/item?id=48042889", "by": "Lazare", "date": "2026-05-06", "stance": "warn", "quote": "found it a bit daunting (large, complex, poorly documented, and felt hard to partially adopt)", "excerpt": "Not exactly on topic, but I have to endorse mise; it's a really, really great tool that solves a number of different problems. Example: I was recently working on a large project that needed a specific version of Python, and there's a lot of ways to solve that, but mise was an easy and robust one. But also, the project needed a bunch of different tools to build it, deploy it, do local dev, perform certain maintenance ", "context": "", "use_case": "tool and environment management", "switched_from": "", "story": "Going Full Time on Open Source"}, {"id": 744498434, "item_id": 46531152, "url": "https://news.ycombinator.com/item?id=46531152", "by": "mohamedattahri", "date": "2026-01-07", "stance": "warn", "quote": "Artifactory/Nix are heavy (they require rebuilding your workflow or hosting servers).", "excerpt": "OP here. Sharing this early because I'm trying to gauge if this specific pain point is widespread, or if I'm just scratching a niche itch. Context: I\u2019ve been working in a regulated monorepo and realized that almost all existing supply chain tools assume you are a large enterprise with dedicated infrastructure. The gap I found: Scanners are reactive (they yell at you after the fact). Artifactory/Nix are heavy (they re", "context": "", "use_case": "supply chain control", "switched_from": "", "story": "SBoM \u2013 treating dependencies like code, not artifacts"}]}, {"label": "Broken systems", "summary": "Some report bricked or broken setups or wasted time trying it.", "quotes": [{"id": 775919331, "item_id": 48494958, "url": "https://news.ycombinator.com/item?id=48494958", "by": "satvikpendem", "date": "2026-06-11", "stance": "warn", "quote": "Last time I used Nix on my MacBook a few years ago it seemed to brick my whole system", "excerpt": "Thank you for your work on Homebrew, I use it every day. On the matter of speed and parallel downloads, how does this release compare to Zerobrew [0]? On another note, to commenters here, I've been using brew bundle with the Brewfile more and more these days as a declarative list of all user packages installed, should I just move to Mise or Nix instead? What are the benefits and drawbacks? Last time I used Nix on my ", "context": "", "use_case": "package management", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 800631168, "item_id": 50039448, "url": "https://news.ycombinator.com/item?id=50039448", "by": "stuxnet79", "date": "2026-10-11", "stance": "warn", "quote": "stories like these give me pause", "excerpt": "This sounds like a total nightmare. I am very interested in Nix and was strongly considering setting it up on my new travel laptop as a daily driver but stories like these give me pause. I would love to get a more detailed explanation of what happened here. Either way I am past the phase where I'm comfortable or patient enough to beta test software so Debian / Ubuntu it is for me.", "context": "", "use_case": "daily driver on laptop", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 784895415, "item_id": 49055963, "url": "https://news.ycombinator.com/item?id=49055963", "by": "faangguyindia", "date": "2026-07-26", "stance": "warn", "quote": "I even tried nix and wasted a day on that!", "excerpt": "I mostly use Go + SQLite for all the things I used to use Rails, JavaScript, or Python for. I find python django wastes too much resources, just look at memory usage. One of my web app backend (go) is serving approx 100 req/s right now and i look at pprof i see it's not bottlenecked by CPU but mostly IO and i love this. Writing concurrent code in Go is easy, the code i wrote 10yrs ago still compiles with no issue! Th", "context": "", "use_case": "deployment", "switched_from": "", "story": "Some more things about Django I've been enjoying"}]}, {"label": "Team adoption", "summary": "Hard to propose at work because most engineers are unfamiliar with it.", "quotes": [{"id": 777447105, "item_id": 48590444, "url": "https://news.ycombinator.com/item?id=48590444", "by": "solatic", "date": "2026-06-18", "stance": "warn", "quote": "Nix and home-manager do not.", "excerpt": "I ran NixOS for a while, before I switched to Apple Silicon, so I consider myself fairly well-versed-enough (although nowhere near an expert) in Nix and the Nix ecosystem. My last four jobs have all issued me MacBook Pros; the last three with Apple Silicon. Ultimately, my workplace setup is what has the most gravity. And the most I can get most workplaces to standardize on is Homebrew for package management of off-th", "context": "former NixOS user", "use_case": "environment management", "switched_from": "", "story": "Migrating from GNU Stow to Chezmoi"}]}, {"label": "Ecosystem rough edges", "summary": "Some ecosystem projects are called sloppy, and cross-compiling got harder after flakes.", "quotes": [{"id": 746675840, "item_id": 46667240, "url": "https://news.ycombinator.com/item?id=46667240", "by": "verdverm", "date": "2026-01-18", "stance": "warn", "quote": "I would contend the nix ecosystem is sloppy", "excerpt": "I would contend the nix ecosystem is sloppy, 3 of the primary projects I use are wrong for various reasons. I'm not really sure what's here beyond a prebuilt image with nix and open code, is there? Can this be adjusted to give the agents access to environments rather than being boxed into them. You want their exec's and fs work boxed in, and likely you also want them to use multiple agents in multiple envs, or have a", "context": "", "use_case": "", "switched_from": "", "story": "OpenCode with superpowers. It can do everything in a container with Docker / Nix"}, {"id": 741991248, "item_id": 46374453, "url": "https://news.ycombinator.com/item?id=46374453", "by": "OneDeuxTriSeiGo", "date": "2025-12-24", "stance": "recommend", "quote": "I love NixOS and Nix in general", "excerpt": "I'm super appreciative to see posts like this. I love NixOS and Nix in general but getting cross compile to \"just work\" became a lot less trivial in a post-flake world and I feel like every time I have to do it I need to relearn the entire process. Having a clear guide like this to keep as a handy reference is massively appreciated.", "context": "", "use_case": "cross compilation", "switched_from": "", "story": "Custom Cross Compiler with Nix"}]}, {"label": "FreeBSD support", "summary": "Nix on FreeBSD was described as broken and unusable.", "quotes": [{"id": 759707024, "item_id": 47481689, "url": "https://news.ycombinator.com/item?id=47481689", "by": "sidkshatriya", "date": "2026-03-22", "stance": "warn", "quote": "Seems quite broken and unusable, which is a pity because nix on macOS seems decent.", "excerpt": "[From the article \"Why I love NixOS\"] > There is also community-maintained support for FreeBSD, though I have not used it personally I have tried to use the nix package manager on FreeBSD recently. I tried doing some basic things without success. Seems quite broken and unusable, which is a pity because nix on macOS seems decent. FreeBSD is much closer to Linux so there is no technical reason why nix can't be a succes", "context": "", "use_case": "package manager on FreeBSD", "switched_from": "", "story": "Why I love NixOS"}]}], "who": [{"by": "routelastresort", "context": "daily Nix user", "url": "https://news.ycombinator.com/item?id=50186895", "date": "2026-10-21"}, {"by": "chickensong", "context": "Nix daily driver for years, Linux user", "url": "https://news.ycombinator.com/item?id=50040421", "date": "2026-10-11"}, {"by": "SmasherEpilepti", "context": "uses macOS at work, prefers KDE/Gnome", "url": "https://news.ycombinator.com/item?id=49734278", "date": "2026-09-16"}, {"by": "psyclyx", "context": "works on a Nix evaluator implementation", "url": "https://news.ycombinator.com/item?id=49309529", "date": "2026-08-15"}, {"by": "jchw", "context": "Rust developer", "url": "https://news.ycombinator.com/item?id=48937530", "date": "2026-07-16"}, {"by": "darkteflon", "context": "uses macOS and Linux", "url": "https://news.ycombinator.com/item?id=48591666", "date": "2026-06-18"}, {"by": "klodolph", "context": "uses Nix at work", "url": "https://news.ycombinator.com/item?id=48496718", "date": "2026-06-11"}, {"by": "alembic_fumes", "context": "Has used Nix for years and likes tweaking the OS and window managers", "url": "https://news.ycombinator.com/item?id=47482095", "date": "2026-03-22"}, {"by": "DHolzer", "context": "former Windows user for 30 years", "url": "https://news.ycombinator.com/item?id=47480760", "date": "2026-03-22"}, {"by": "zcoyle", "context": "mobile and web developer seeking work", "url": "https://news.ycombinator.com/item?id=47290357", "date": "2026-03-07"}, {"by": "Terretta", "context": "firm required to care about infosec", "url": "https://news.ycombinator.com/item?id=47221138", "date": "2026-03-02"}, {"by": "bojo", "context": "NixOS user", "url": "https://news.ycombinator.com/item?id=46852578", "date": "2026-02-01"}], "tags": ["for macOS users", "for AI agent environments", "for polyglot monorepos", "for CI pipelines", "for dotfile management"], "use_cases": ["package management", "package manager", "configuration", "package management on macos", "system configuration", "cli package management"], "compared": [{"slug": "homebrew", "name": "Homebrew", "co": 15, "switched_from": 5, "switched_to": 1}, {"slug": "nixos", "name": "NixOS", "co": 10, "switched_from": 0, "switched_to": 0}, {"slug": "mise", "name": "mise", "co": 6, "switched_from": 0, "switched_to": 2}, {"slug": "nix-darwin", "name": "nix-darwin", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "home-manager", "name": "Home Manager", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "gnu-stow", "name": "GNU Stow", "co": 3, "switched_from": 2, "switched_to": 0}, {"slug": "gnu-guix", "name": "GNU Guix", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "claude", "name": "Claude", "co": 5, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 802685584, "item_id": 50167849, "url": "https://news.ycombinator.com/item?id=50167849", "by": "ronef", "date": "2026-10-20", "stance": "recommend", "quote": "Disclosure, fully Nix pilled Ron here from flox.dev and the NixOS foundation.", "excerpt": "Your title is verbatim how Nix made me feel when I first started years ago. It does so many small things in a pure format that it was hard to immediately come up with the \"key ROI\" the larger industry expected. Did it just speed up dev envs? Did it just make my builds faster? Back then, a lot of folks barely cared or understood the impact of the deterministic and reproducible foundation using Nix sets. I used to hear", "context": "works at flox.dev and the NixOS foundation", "use_case": "reproducible builds and dev environments", "switched_from": "", "story": "NixOS is making me less afraid"}], "threads": [{"url": "https://news.ycombinator.com/item?id=50017247", "title": "Nix wrote half of my debugger", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=48490024", "title": "Homebrew 6.0.0", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=48588413", "title": "Migrating from GNU Stow to Chezmoi", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=47479751", "title": "Why I love NixOS", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=50165484", "title": "NixOS is making me less afraid", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49879883", "title": "Nvidia wants to put a watchdog chip next to every AI agent", "mentions": 2}], "sentiment_by_month": {"2025-11": {"neutral": 3, "warn": 1, "compare": 1, "recommend": 1}, "2025-12": {"warn": 1, "recommend": 4}, "2026-01": {"neutral": 2, "recommend": 9, "warn": 2}, "2026-02": {"recommend": 2}, "2026-03": {"recommend": 7, "warn": 1, "compare": 1, "neutral": 1}, "2026-04": {"recommend": 3}, "2026-05": {"warn": 1, "recommend": 1, "neutral": 1}, "2026-06": {"compare": 3, "recommend": 6, "warn": 2, "neutral": 2}, "2026-07": {"neutral": 1, "warn": 2}, "2026-08": {"recommend": 4, "neutral": 3}, "2026-09": {"recommend": 3, "neutral": 2, "warn": 1}, "2026-10": {"recommend": 9, "neutral": 3, "warn": 1}}, "quotes": [{"id": 803469746, "item_id": 50216859, "url": "https://news.ycombinator.com/item?id=50216859", "by": "ectoloph", "date": "2026-10-23", "stance": "recommend", "quote": "Nix has become one of the ways I manage the environments for the LLMs.", "excerpt": "I have been using systemd-nspawn recently through NixOS containers[1]. The combination feels quite powerful if you are in the ecosystem. Though it is slightly ironic that I find Nix more approachable with the help of LLMs and then Nix has become one of the ways I manage the environments for the LLMs. [1] https://wiki.nixos.org/wiki/NixOS_Containers", "context": "", "use_case": "managing LLM environments", "switched_from": "", "story": "A whirlwind tour of systemd-nspawn containers (2025)"}, {"id": 802990321, "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", "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": "package and system management", "switched_from": "", "story": "NixOS is making me less afraid"}, {"id": 802821104, "item_id": 50176319, "url": "https://news.ycombinator.com/item?id=50176319", "by": "chuckadams", "date": "2026-10-21", "stance": "recommend", "quote": "Guix being ideologically opposed to supporting macOS is what keeps me using Nix on my daily driver box.", "excerpt": "Guix being ideologically opposed to supporting macOS is what keeps me using Nix on my daily driver box. My NixOS box is there to run Steam, which I suspect is something Guix would also regard as anathema.", "context": "", "use_case": "daily driver package management on macOS", "switched_from": "", "story": "NixOS is making me less afraid"}, {"id": 802411748, "item_id": 50150734, "url": "https://news.ycombinator.com/item?id=50150734", "by": "Tooster", "date": "2026-10-19", "stance": "neutral", "quote": "snap + deb + nix nowadays", "excerpt": "AppImage works in the same way downloading a binary from the web and running it with `./program` works. It is dumb simple, but it has really poor integration with the system. I've been using AppImages for several years but the manual churn got to tedious \u2014 auto updates, system integration, background services, keeping it tidy. I contributed AppImage packaging workflow to some apps \u2014 mechanism itself is messy, support", "context": "", "use_case": "package management", "switched_from": "", "story": "Flatpak \u2013 An Insecurity Nightmare (2023)"}, {"id": 800691664, "item_id": 50043229, "url": "https://news.ycombinator.com/item?id=50043229", "by": "hamburglar", "date": "2026-10-11", "stance": "recommend", "quote": "it\u2019s insanely liberating to know how easy it is to screw everything up and roll it back trivially", "excerpt": "I used nix years ago on a Mac just as a sort of alternative to what I\u2019d otherwise use homebrew for and I really liked it, so I decided a few times that i would try nixos for my laptop. Each time I was stopped by the awful documentation and the weird \u201cflakes are experimental but kinda required\u201d state of the project and I gave up. This year I decided to give it another try and set it up on an ancient laptop using Claud", "context": "", "use_case": "managing configs across machines", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800646737, "item_id": 50040421, "url": "https://news.ycombinator.com/item?id=50040421", "by": "chickensong", "date": "2026-10-11", "stance": "recommend", "quote": "It's definitely not beta software.", "excerpt": "Nix daily driver for years here. I don't know what they did to screw up their system like that, but it's unusual IME. Normally you can just reboot and load the previous profile. Even in the absolute worst case, as long as you have your config, you could boot the installer and then load your config and your system comes back exactly as it was. It's definitely not beta software. FWIW, I used Debian more than anything o", "context": "Nix daily driver for years, Linux user", "use_case": "daily driver", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800631168, "item_id": 50039448, "url": "https://news.ycombinator.com/item?id=50039448", "by": "stuxnet79", "date": "2026-10-11", "stance": "warn", "quote": "stories like these give me pause", "excerpt": "This sounds like a total nightmare. I am very interested in Nix and was strongly considering setting it up on my new travel laptop as a daily driver but stories like these give me pause. I would love to get a more detailed explanation of what happened here. Either way I am past the phase where I'm comfortable or patient enough to beta test software so Debian / Ubuntu it is for me.", "context": "", "use_case": "daily driver on laptop", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800627249, "item_id": 50039203, "url": "https://news.ycombinator.com/item?id=50039203", "by": "unshavedyak", "date": "2026-10-11", "stance": "neutral", "quote": "Nix just had a way of leaving me super confused and stranded.", "excerpt": "Heck i used Claude when it sucked just to ask it questions. It was wrong on 50% of the questions back then but it still was easier than randomly searching for the solutions. Claude helped unblock me when i got stuck on obtuse nix errors, foreign compilation issues, etc. These days it's magical, but it was even a huge boon when it was barely functional. Nix just had a way of leaving me super confused and stranded.", "context": "", "use_case": "configuration", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800622656, "item_id": 50038916, "url": "https://news.ycombinator.com/item?id=50038916", "by": "jeremyjh", "date": "2026-10-11", "stance": "recommend", "quote": "I wanted an agent to manage my machine\u2019s configuration without giving it much access.", "excerpt": "I think that ratio is possible, and certainly I\u2019m counted among those numbers. However, it is not so much the case that I longed to use Nix and agents made it more feasible. What happened is that I wanted an agent to manage my machine\u2019s configuration without giving it much access. It\u2019s not the only thing that agents have changed for me - I also went back to using neovim and tmux; partly because of how I use remote de", "context": "", "use_case": "machine configuration managed by agent", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800605248, "item_id": 50037828, "url": "https://news.ycombinator.com/item?id=50037828", "by": "bentcorner", "date": "2026-10-10", "stance": "recommend", "quote": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend.", "excerpt": "I use an agent to author my nix config - personally I don't have the determination to have picked Nix up entirely on my own so I find it to be a godsend. I can code review config changes and keep it all in git - also makes it easy to pick up the entire config and deploy it on a different machine.", "context": "", "use_case": "machine configuration in git", "switched_from": "", "story": "Nix wrote half of my debugger"}, {"id": 800270274, "item_id": 50016892, "url": "https://news.ycombinator.com/item?id=50016892", "by": "sigbottle", "date": "2026-10-09", "stance": "neutral", "quote": "all of this is in vresion control + nix; this is how I use dotfiles", "excerpt": "How hard do you think it would be to rewrite a large subset of userspace tools to codesign with a completely new terminal protocol? I feel like in the age of personal computing, this should be possible and would be nice if it were possible. Nushell already kind of has this philosophy - there is a separation between the actually scripting of tools (prints out structured json), and the visualization back to the user if", "context": "", "use_case": "managing dotfiles", "switched_from": "", "story": "A Terminal Protocol for Program Status (OSC 7501)"}, {"id": 800090769, "item_id": 50005673, "url": "https://news.ycombinator.com/item?id=50005673", "by": "theCodeStig", "date": "2026-10-08", "stance": "recommend", "quote": "Nix isn\u2019t for everyone, but I find it to be far more stable.", "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": "package management", "switched_from": "Homebrew", "story": "Zerobrew: A faster alternative to Homebrew"}, {"id": 799148449, "item_id": 49946778, "url": "https://news.ycombinator.com/item?id=49946778", "by": "pkulak", "date": "2026-10-03", "stance": "recommend", "quote": "I use Systemd containers in Nix. That\u2019s really cool", "excerpt": "I use Systemd containers in Nix. That\u2019s really cool because I can selectively link in the parts of my desktop that I want it to have access to. https://github.com/pkulak/opencrow", "context": "", "use_case": "sandboxing agents", "switched_from": "", "story": "Show HN: Pi pod \u2013 Run your pi coding agent in sandboxes on your own server"}, {"id": 798144976, "item_id": 49884061, "url": "https://news.ycombinator.com/item?id=49884061", "by": "themgt", "date": "2026-09-28", "stance": "recommend", "quote": "(I use nix for this)", "excerpt": "(I use nix for this) ... If the shell doesn't have what it needs, that's a bug which the agent can fix by declaring new dependencies Few realize that computing and AI alignment were solved by nix years ago. As each nix user transcends towards enlightenment, they cut themselves off from all internet and human contact. Total ego death. Only nix remains.", "context": "", "use_case": "declaring agent dependencies", "switched_from": "", "story": "Nvidia wants to put a watchdog chip next to every AI agent"}, {"id": 798094944, "item_id": 49880934, "url": "https://news.ycombinator.com/item?id=49880934", "by": "__MatrixMan__", "date": "2026-09-28", "stance": "recommend", "quote": "(I use nix for this)", "excerpt": "If your project truly depends on those things, they should be declared dependencies. Presumably you have some tool for injecting such things into a shell that the agent can use (I use nix for this). So if you run the agent from that shell, it has what it needs. If the shell doesn't have what it needs, that's a bug which the agent can fix by declaring new dependencies, but you have to relaunch the agent in the updated", "context": "", "use_case": "declaring dependencies for agent shells", "switched_from": "", "story": "Nvidia wants to put a watchdog chip next to every AI agent"}, {"id": 797724320, "item_id": 49857770, "url": "https://news.ycombinator.com/item?id=49857770", "by": "aidanhs", "date": "2026-09-26", "stance": "warn", "quote": "it starts making life hard", "excerpt": "I know it technically isn't true and I use the word 'practically' deliberately. The problem is that as soon as you opt into one part of nixpkgs (say a compiler) you end up implicitly opting into large parts of it because of common code in nixpkgs that make assumptions about undocumented magic environment variables etc that other packages (e.g. libc) may make use of or set. I feel like a core problem though is the ass", "context": "", "use_case": "build system", "switched_from": "", "story": "From Thin Air to Bootable Images: The Tine Build System"}, {"id": 797546880, "item_id": 49846680, "url": "https://news.ycombinator.com/item?id=49846680", "by": "overtone1000", "date": "2026-09-25", "stance": "neutral", "quote": "nix-shell -p $PACKAGE", "excerpt": "When I just want to make something work and there isn't a nix package that can instantly give me what I want with `nix-shell -p $PACKAGE` then I use containers. That's what I've done when playing around with llama.", "context": "", "use_case": "ad hoc package environments", "switched_from": "", "story": "Dutch governments builds alternative for Microsoft based on NixOS"}, {"id": 797297954, "item_id": 49831122, "url": "https://news.ycombinator.com/item?id=49831122", "by": "orbital-decay", "date": "2026-09-24", "stance": "neutral", "quote": "I use Nix to set up my entire desktop", "excerpt": ">Many of the UX \"solutions\" are either invented problems or not my problems or worse, grinding some anti-me agenda. >These UI \"innovations\" are great for movie props but do they actually help in reality? Not that I see. Scott Jenson specifically mentioned in this talk that he doesn't view open source devs as programmers who couldn't care less about needs of non-power users, but this is exactly that sort of a tone dea", "context": "", "use_case": "desktop configuration", "switched_from": "", "story": "Ideas on modernizing the open-source desktop"}, {"id": 795748449, "item_id": 49734278, "url": "https://news.ycombinator.com/item?id=49734278", "by": "SmasherEpilepti", "date": "2026-09-16", "stance": "recommend", "quote": "Homebrew/nix: The most obvious one. MacOS just has no good package manager.", "excerpt": "Homebrew/nix: The most obvious one. MacOS just has no good package manager. It's even worse than Windows, which is also pretty bad, but at least on Windows you can install an app and manage it in a central \"Add and Remove Programs\" view, and they've standardized an installer format that cares about and manages versions and upgrades. Middle Click: This is a galling one. Rectangle: Far better than the MacOS's native sn", "context": "uses macOS at work, prefers KDE/Gnome", "use_case": "package management on macOS", "switched_from": "", "story": "macOS 27 Golden Gate \u2013 Review"}, {"id": 792000720, "item_id": 49500045, "url": "https://news.ycombinator.com/item?id=49500045", "by": "jchw", "date": "2026-08-30", "stance": "recommend", "quote": "I routinely use 20-30 flake inputs for large system configurations and I've never really minded this at all.", "excerpt": "I'm not entirely sure if it's a good idea per se, but hell, what's the point in making everything properly lazy if you couldn't. I mean me personally, I routinely use 20-30 flake inputs for large system configurations and I've never really minded this at all. The only real concern I have is that overriding Nixpkgs to avoid duplicates can occasionally break since the dependency may not be ready for the latest Nixpkgs,", "context": "", "use_case": "system configuration with flakes", "switched_from": "", "story": "One Nix flake to rule them all"}, {"id": 791769042, "item_id": 49485565, "url": "https://news.ycombinator.com/item?id=49485565", "by": "embedding-shape", "date": "2026-08-28", "stance": "neutral", "quote": "I used Nix as a framework for a static website builder", "excerpt": "Yeah, typically I end up building websites (for myself and others) in basically three \"lanes\". Static HTML/CSS files, great for docs, presentations, reports and similar. Or, websites with some interactive/dynamic elements, HTMX is great for this. Or, fully fledged \"client-side apps\" where it's more of an application than website, then I go full out dynamic programming with ClojureScript and similar approaches. I'm no", "context": "", "use_case": "static website builder", "switched_from": "", "story": "Htmx 4.0"}, {"id": 791530000, "item_id": 49470625, "url": "https://news.ycombinator.com/item?id=49470625", "by": "mikepurvis", "date": "2026-08-27", "stance": "recommend", "quote": "It really is an awfully nice system, and shockingly modern in its sensibilities considering how old the Nix fundamentals are.", "excerpt": "Yeah, Nix flakes can be a static URL path, but they inherit your VCS refs directly, so nix run github:tailscale/tailcat Gets you the default branch. Tailcat doesn't yet have any tags, but if you want a build of the main tailscale repo at a particular tag, it's just: nix build github:tailscale/tailscale/v1.102.3 But because this can be any ref, you can specify an arbitrary branch or tag, so like if you're trying to ge", "context": "", "use_case": "reproducible builds with flakes", "switched_from": "", "story": "Tailcat \u2013 Like netcat, but over Tailscale\u2019s data plane"}, {"id": 790720560, "item_id": 49420035, "url": "https://news.ycombinator.com/item?id=49420035", "by": "hombre_fatal", "date": "2026-08-24", "stance": "neutral", "quote": "I use nix on macOS and any time it's making changes to /nix/store, the Finder and fsevents processes peg cpu.", "excerpt": "Lots of small fs operations on macOS is apparently rough. I use nix on macOS and any time it's making changes to /nix/store, the Finder and fsevents processes peg cpu. IIRC his video shows fs-heavy ops like file deltions and pnpm install taking much longer on a macbook despite better specs. Frankly, things like the lack of a universal cmd-c/v clipboard on linux has been 1000x worse for usability than slower bulk fs.", "context": "", "use_case": "package management on macOS", "switched_from": "", "story": "Omakase Computing"}, {"id": 788952464, "item_id": 49309529, "url": "https://news.ycombinator.com/item?id=49309529", "by": "psyclyx", "date": "2026-08-15", "stance": "neutral", "quote": "it ended up being useful as a memory pressure test while working on a Nix evaluator implementation", "excerpt": "Neat! Very sad to have missed Nix Vegas, sounds like it was particularly good this year. I[0] hacked together something similar[1] for the Game Boy a couple months ago[2], outputting frames with builtins.trace instead of images, and it ended up being useful as a memory pressure test while working on a Nix evaluator implementation[3]. Pokemon was so slow that coming up with TAS scripts, even with state saves/loads for", "context": "works on a Nix evaluator implementation", "use_case": "evaluator stress testing", "switched_from": "", "story": "Super Mario Derivations"}, {"id": 787505296, "item_id": 49219081, "url": "https://news.ycombinator.com/item?id=49219081", "by": "garn810", "date": "2026-08-07", "stance": "recommend", "quote": "Ever since I migrated my dev workflow to nix package manager (and home manager for system depa), my life became simpler like 10 times", "excerpt": "Ah, yearly I hate/love nix post.. I tell you what. Ever since I migrated my dev workflow to nix package manager (and home manager for system depa), my life became simpler like 10 times I can configure any macos machine in like 20 mins (I use Determinate)", "context": "", "use_case": "dev workflow and machine configuration", "switched_from": "", "story": "The Nixpkgs core team has disbanded"}, {"id": 786950626, "item_id": 49184414, "url": "https://news.ycombinator.com/item?id=49184414", "by": "eska", "date": "2026-08-05", "stance": "recommend", "quote": "I use nix + own configure script + ninja.", "excerpt": "Always glad to see authors on here. Thanks for your insight! Since they had to rewrite the build file for their program I also assume that something is missing. Didn\u2019t see any mention of verifying that. I also really didn\u2019t like their denigrating tone. It totally turns me off trying build2, because it seems they don\u2019t understand the point of separating build stages like environment setup (getting dependencies), confi", "context": "", "use_case": "environment setup", "switched_from": "CMake", "story": "Faster Than Ninja"}, {"id": 784895415, "item_id": 49055963, "url": "https://news.ycombinator.com/item?id=49055963", "by": "faangguyindia", "date": "2026-07-26", "stance": "warn", "quote": "I even tried nix and wasted a day on that!", "excerpt": "I mostly use Go + SQLite for all the things I used to use Rails, JavaScript, or Python for. I find python django wastes too much resources, just look at memory usage. One of my web app backend (go) is serving approx 100 req/s right now and i look at pprof i see it's not bottlenecked by CPU but mostly IO and i love this. Writing concurrent code in Go is easy, the code i wrote 10yrs ago still compiles with no issue! Th", "context": "", "use_case": "deployment", "switched_from": "", "story": "Some more things about Django I've been enjoying"}, {"id": 783717746, "item_id": 48982359, "url": "https://news.ycombinator.com/item?id=48982359", "by": "tombert", "date": "2026-07-20", "stance": "warn", "quote": "Not even to mention how quickly Nix can get annoying.", "excerpt": "I have grown pretty negative opinions of \u201cusing a programming language as a config language\u201d after semi-recently having to spend a lot of time screwing around with someone\u2019s Gradle Groovy abomination. Not even to mention how quickly Nix can get annoying. I have to ask\u2026why do people want a Turing complete language to configure stuff? I use Sway personally, which is very configurable but for any even remotely complicat", "context": "", "use_case": "configuration", "switched_from": "", "story": "Hyprland 0.55 announced the switch to Lua for its config files"}, {"id": 783000480, "item_id": 48937530, "url": "https://news.ycombinator.com/item?id=48937530", "by": "jchw", "date": "2026-07-16", "stance": "neutral", "quote": "I make heavy use of Nix for various things", "excerpt": "Go's approach to generics is decent. It gets some of the benefits with some of the downsides. When coding in Rust, I am always so desperate for better compile times, especially for \"clean\" compilation because I make heavy use of Nix for various things and that comes into play a lot. (I don't run all of my builds in Nix, but I use Nix for virtual machine based integration testing for example, and that would involve do", "context": "Rust developer", "use_case": "builds and VM integration testing", "switched_from": "", "story": "GC shape stenciling in Go generics"}, {"id": 779541216, "item_id": 48721326, "url": "https://news.ycombinator.com/item?id=48721326", "by": "bjtitus", "date": "2026-06-29", "stance": "recommend", "quote": "I've used this set up for 3 or 4 years now and love it.", "excerpt": "I've used this set up for 3 or 4 years now and love it. I used to hit bottlenecks having to edit some nix files once or twice a month and forgetting the language but LLMs dramatically reduce that barrier.", "context": "", "use_case": "macOS package/config management", "switched_from": "", "story": "NixOS 26.05 Released"}, {"id": 778331104, "item_id": 48645694, "url": "https://news.ycombinator.com/item?id=48645694", "by": "unmanageduck", "date": "2026-06-23", "stance": "recommend", "quote": "Package manager: Nix(alternative to homebrew)", "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": "package manager", "switched_from": "", "story": "Ask HN: New clean macOS install. Must-have apps? Best browser?"}, {"id": 777479523, "item_id": 48592470, "url": "https://news.ycombinator.com/item?id=48592470", "by": "technojamin", "date": "2026-06-18", "stance": "compare", "quote": "I might eventually make the jump to something like chezmoi or nix", "excerpt": "I've checked out stow, chezmoi, yadm, and others over the years, but I originally started off by rolling my own dotfiles setup with a Git repo about 6 years ago: https://github.com/jaminthorns/environment I don't really recommend it to others, since there's all these great tools that have the features you need (per-machine config, secrets, templating), but I get a deep satisfaction from the fact that I understand eve", "context": "", "use_case": "dotfiles management", "switched_from": "", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 777466656, "item_id": 48591666, "url": "https://news.ycombinator.com/item?id=48591666", "by": "darkteflon", "date": "2026-06-18", "stance": "recommend", "quote": "I had had a pretty great experience building a Nix VM recently.", "excerpt": "Ok, I came into this thread intending to say \u201cI\u2019ve been using stow for years and am perfectly happy with it\u201d, started RTFA and the comments, realised that I was actually not happy with it, started considering chezmoi then remembered that I had had a pretty great experience building a Nix VM recently. Now I want to use Nix* to manage my multi-machine MacOS and Linux setup (with lots of dotfile config overlap, of cours", "context": "uses macOS and Linux", "use_case": "managing dotfiles across machines", "switched_from": "GNU Stow", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 777447105, "item_id": 48590444, "url": "https://news.ycombinator.com/item?id=48590444", "by": "solatic", "date": "2026-06-18", "stance": "warn", "quote": "Nix and home-manager do not.", "excerpt": "I ran NixOS for a while, before I switched to Apple Silicon, so I consider myself fairly well-versed-enough (although nowhere near an expert) in Nix and the Nix ecosystem. My last four jobs have all issued me MacBook Pros; the last three with Apple Silicon. Ultimately, my workplace setup is what has the most gravity. And the most I can get most workplaces to standardize on is Homebrew for package management of off-th", "context": "former NixOS user", "use_case": "environment management", "switched_from": "", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 777426832, "item_id": 48589177, "url": "https://news.ycombinator.com/item?id=48589177", "by": "drdexebtjl", "date": "2026-06-18", "stance": "recommend", "quote": "I had similar problems with GNU Stow, but switched to Nix and Home Manager instead.", "excerpt": "I had similar problems with GNU Stow, but switched to Nix and Home Manager instead. I think Chezmoi's templates and file naming conventions don't click for me, but it's nice to see a good variety in this problem space.", "context": "", "use_case": "dotfile management", "switched_from": "GNU Stow", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 777001649, "item_id": 48562603, "url": "https://news.ycombinator.com/item?id=48562603", "by": "idle_zealot", "date": "2026-06-16", "stance": "neutral", "quote": "I think Nix tried to unify this for people, but it arrived too close to LLMs", "excerpt": "I used to dread the promised deep system integration of AI, but honestly after setting Claude up on a server box and having it do sysadmin stuff for me that I've been putting off for ages I see the vision. I don't really want to mess with the details of working through system orchestration tasks, I want to say \"spin up this service\" and start using it, \"change my config so X happens\" and it does, and knows what needs", "context": "", "use_case": "system configuration", "switched_from": "", "story": "GrapheneOS has been ported to Android 17 and official releases are coming soon"}, {"id": 776565232, "item_id": 48535327, "url": "https://news.ycombinator.com/item?id=48535327", "by": "rrvsh", "date": "2026-06-14", "stance": "recommend", "quote": "I love working with Nix so much I wish I could do it for a job", "excerpt": "A Nix flake for a GregTech New Horizons server updated to the latest daily build. This normally requires quite a lot of administration with a ton of manual bootstrapping steps, and even though there are solutions for normal modded Minecraft servers, GTNH requires a bit more legwork. My hope is to make it an extremely simple home-manager module that works on NixOS and darwin that syncs the manifest to a configured ser", "context": "", "use_case": "packaging modded Minecraft server", "switched_from": "", "story": "Ask HN: What are you working on? (June 2026)"}, {"id": 776273904, "item_id": 48517119, "url": "https://news.ycombinator.com/item?id=48517119", "by": "notgiorgi", "date": "2026-06-13", "stance": "neutral", "quote": "I use nix for my MacOS", "excerpt": "I use nix for my MacOS but never gave NixOS a try, now that I think of it openclaw (hermes in my case) is a great usecase", "context": "", "use_case": "macOS configuration", "switched_from": "", "story": "Show HN: NixOS on Hetzner with OpenClaw in 15 Minutes"}, {"id": 775947491, "item_id": 48496718, "url": "https://news.ycombinator.com/item?id=48496718", "by": "klodolph", "date": "2026-06-11", "stance": "neutral", "quote": "We use Nix at work for all sorts of stuff.", "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": "uses Nix at work", "use_case": "dependency management at work", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 775946129, "item_id": 48496633, "url": "https://news.ycombinator.com/item?id=48496633", "by": "commandersaki", "date": "2026-06-11", "stance": "compare", "quote": "But all it does is usually run defaults or some intermediatary.", "excerpt": "I was interested in Nix because it could automate setup and configuration of macOS features. But all it does is usually run defaults or some intermediatary. In the end I stuck with brew and wrote an idempotent setupmac() function in my bash_profile (I use bash 5) with the aid of chatgpt since it knows all the cool defaults commands, and it\u2019s pretty much solved setting up a new account or mac (alongside a Brewfile I m", "context": "", "use_case": "automating macOS setup", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 772667680, "item_id": 48291730, "url": "https://news.ycombinator.com/item?id=48291730", "by": "sshine", "date": "2026-05-27", "stance": "recommend", "quote": "The number one power move I have is Nix integration.", "excerpt": "The number one power move I have is Nix integration. The availability of tooling, secrets, environment and the ability for the agent to modify its own environment is... well, I don't know how people live without it. I guess you guys still install things using commands and hope everything you need is present on the next machine? Developer machine, CI environment, deployment environment: They're all derived from a sing", "context": "", "use_case": "reproducible environments for agents", "switched_from": "", "story": "Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs"}, {"id": 768686225, "item_id": 48042889, "url": "https://news.ycombinator.com/item?id=48042889", "by": "Lazare", "date": "2026-05-06", "stance": "warn", "quote": "found it a bit daunting (large, complex, poorly documented, and felt hard to partially adopt)", "excerpt": "Not exactly on topic, but I have to endorse mise; it's a really, really great tool that solves a number of different problems. Example: I was recently working on a large project that needed a specific version of Python, and there's a lot of ways to solve that, but mise was an easy and robust one. But also, the project needed a bunch of different tools to build it, deploy it, do local dev, perform certain maintenance ", "context": "", "use_case": "tool and environment management", "switched_from": "", "story": "Going Full Time on Open Source"}, {"id": 765532624, "item_id": 47845789, "url": "https://news.ycombinator.com/item?id=47845789", "by": "sshine", "date": "2026-04-21", "stance": "recommend", "quote": "I handle polyglot monorepos using Nix.", "excerpt": "I handle polyglot monorepos using Nix. Because Nix is a package manager not tied to one programming language ecosystem, I can install all the tools for every language I need, and have the tooling consistent and modular, even between monorepos. For formatting I usee treefmt-nix, which quickly format all syntaxes in my repo (.nix, .rs, .md, etc.) by calling individual formatters (installed via Nix), such as rustfmt, md", "context": "", "use_case": "polyglot monorepo tooling", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}, {"id": 760181793, "item_id": 47511362, "url": "https://news.ycombinator.com/item?id=47511362", "by": "denkmoon", "date": "2026-03-24", "stance": "recommend", "quote": "since using nixpkgs for my macos dev requirements it's been so much nicer.", "excerpt": "Brew is a leaky piece of crap. nix 4 lyf. Seriously, I used to hate any time I needed to install something with brew not knowing if it was going to break everything else, since using nixpkgs for my macos dev requirements it's been so much nicer.", "context": "", "use_case": "macOS dev environment", "switched_from": "Homebrew", "story": "Nanobrew: The fastest macOS package manager compatible with brew"}, {"id": 759715936, "item_id": 47482246, "url": "https://news.ycombinator.com/item?id=47482246", "by": "dewey", "date": "2026-03-22", "stance": "recommend", "quote": "I'll stick with it as I didn't find anything better and LLMs are great for building up the config over time", "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": "encoding environment config", "switched_from": "Homebrew", "story": "Why I love NixOS"}, {"id": 757443296, "item_id": 47340206, "url": "https://news.ycombinator.com/item?id=47340206", "by": "the_real_cher", "date": "2026-03-11", "stance": "recommend", "quote": "But with an LLM I'm pretty happy with nix.", "excerpt": "Counterpoint, I have been using Nix for several months and have no problems. I use LLM's ALOT for the config file which is in a custom nix DSL. I couldn't imagine how long it would take before LLM's. But with an LLM I'm pretty happy with nix.", "context": "", "use_case": "system configuration", "switched_from": "", "story": "I stopped using NixOS and went back to Arch Linux"}, {"id": 749314832, "item_id": 46832177, "url": "https://news.ycombinator.com/item?id=46832177", "by": "linux4dummies", "date": "2026-01-30", "stance": "recommend", "quote": "Check out Nix and NixOS.", "excerpt": "Check out Nix and NixOS. NixOS is designed to keep a record on system changes, and rollbacks are easy (atleast regarding configuration changes).", "context": "", "use_case": "reversible system changes", "switched_from": "", "story": "Ask HN: Do you bother making state changes reversible?"}, {"id": 745871537, "item_id": 46616971, "url": "https://news.ycombinator.com/item?id=46616971", "by": "arximboldi", "date": "2026-01-14", "stance": "recommend", "quote": "For me what worked wonders was adopting Nix.", "excerpt": "I like Github Actions and it is better than what I used before (Travis) and I think it solves an important problem. For OSS projects it's a super valuable free resource. For me what worked wonders was adopting Nix. Make sure you have a reproducible dev environment and wrap your commands in `nix-shell --run`, or even better `nix develop --command`, or even better your most of your CI tasks derivations that run with `n", "context": "", "use_case": "reproducible dev environments and CI", "switched_from": "", "story": "I Hate GitHub Actions with Passion"}]}