Developer tools · package manager
Nix
Hacker Approved
Recommended for reproducible, declarative builds and per-project dev environments with multiple versions side by side, but the learning curve, docs and overall UX are widely called brutal.
Summarized from 801 comments.
Recommended for reproducible, declarative builds and per-project dev environments with multiple versions side by side, but the learning curve, docs and overall UX are widely called brutal.
- recommend
- 378
- criticize
- 150
- months recommended
- 13 of 13
- median owned, 24 owners said
- 3 years
Why people love it
Reproducible, declarative system state · 8
Nix lets you naturally encode that understanding in code (and in comments), making sure it never drifts from what the state of the system really is.
Aug 2026 · commentNix makes sure that everything is exactly as you declared, and that in case of [INSERT APOCALYPTIC EVENT], you'll be able to recover much faster
Feb 2026 · commentreproducible builds for this kind of testing infrastructure is important because you need the exact same chaos injection behavior across CI runs
Feb 2026 · commentEasy per-project dev environments · 6
others are using Mise or Nix on a per project basis to automate the development environment setup and that works well on GitHub Actions
Feb 2026 · commentIf you structure it correctly using task runners and an environment manager you can do everything locally using the same versions etc.
Dec 2025 · commentI personally use direnv with nix to have per-project dependency versions installed automatically, and I've never had too much trouble.
Aug 2026 · commentMultiple versions coexist without conflicts · 4
As long as the specific version of Erlang you’re using is present in either your Nix store or the global cache for your OS and arch, you should not need to compile anything.
Nov 2025 · commentThis is different from most package managers, where trying to install anything old means spinning up a complex build environment and learning a bunch of new tools.
Oct 2026 · commentThey were built from the ground up to be able to have multiple, simultaneous versions of everything installed in separate store
Feb 2026 · commentBinary cache avoids rebuilding · 3
As long as the specific version of Erlang you’re using is present in either your Nix store or the global cache for your OS and arch, you should not need to compile anything.
Nov 2025 · commentNix has the whole content addressed build DAG with caching, the intermediate language, and the ability to produce arbitrary outputs
Feb 2026 · commentadopt the Nix approach of caching common binary artifacts in a content addressable store and rebuild from source only when needed
Oct 2026 · comment
What people warn about
Brutal learning curve · 4
I am about seven years into using Nix for various things, and can mostly solve most problems, but I won't deny that the learning curve at the beginning was brutal.
Jun 2026 · commentNix the language and ecosystem has historically been completely unapproachable for people unwilling to beat their head against the wall
Jul 2026 · commentIt's a pretty special language, lazy evaluation and very basic types. However after spending the time to learn it to an intermediate level I think it's pretty great.
Dec 2025 · commentHostile UX and rough DX · 3
Although you're right about nix's DX being quite rough, the problem isn't exactly that it "tries to be everything for package management".
Jan 2026 · commentI've got a couple using Nix, which laughs at everything else (but damn, the overall UX is still even more hostile than git)
Jun 2026 · commentits discoverability and transparency are sometimes very poor. Its module system is anything but lean and straightforward.
Oct 2026 · commentPoor documentation and discoverability · 2
The documentation is not great (especially since it tends to document nix-the-language and not the conventions actually used in Nixpkgs)
Dec 2025 · commentits discoverability and transparency are sometimes very poor. Its module system is anything but lean and straightforward.
Oct 2026 · commentFrequent breakage in projects · 2
Seeing that flake.nix badge of complexity lets me know a project will be a nightmare to set up and will break every other week.
Dec 2025 · commentEverywhere it shows up it infects projects, creates constant breakage, and requires at least 1 person to become a nix expert
Oct 2026 · comment
What hackers pick instead
- HomebrewA package manager for macOS and Linux with a huge catalog, one-line installs and handy casks for Mac apps; critics cite weak supply-chain security and dropped older macOS support.271recommend
- npmRecommended for JavaScript's huge package ecosystem and easy package installs, though critics say it's a frequent supply-chain attack target and runs install scripts by default.161recommend
- pnpmA faster, disk-efficient npm replacement whose blocked-by-default install scripts and release-age cooldowns help against supply chain attacks, though critics note it doesn't fully stop them.124recommend
- CargoRust's all-in-one build tool and package manager that handles building, testing, docs and publishing with little fuss, though critics cite npm-style supply-chain risks and weak C/C++ interop.123recommend
- GNU GuixFree Linux distribution and package manager for reproducible environments, with rollbacks and source bootstrapping. Critics call it niche, weak on desktop use, and unavailable on Windows and macOS.84recommend
Every quote
The 40 most detailed of 801 comments. Each links to the original.
As long as the specific version of Erlang you’re using is present in either your Nix store or the global cache for your OS and arch, you should not need to compile anything.
Recommends · Nov 2025 · in “Writing your own BEAM”
It's a pretty special language, lazy evaluation and very basic types. However after spending the time to learn it to an intermediate level I think it's pretty great.
Mixed · Dec 2025 · in “Nixtml: Static website and blog generator written in Nix”
I am about seven years into using Nix for various things, and can mostly solve most problems, but I won't deny that the learning curve at the beginning was brutal.
Mixed · Jun 2026 · in “Show HN: machine0 – Persistent NixOS VMs You Control from the CLI”
excellent at fixing a lot of problems in the software packaging and installation space that are great from a security perspective but are famously difficult to use
Mixed · Jan 2026 · in “Install.md: A standard for LLM-executable installation”
This is different from most package managers, where trying to install anything old means spinning up a complex build environment and learning a bunch of new tools.
Recommends · Oct 2026 · in “The Tao of Backup”
Nix lets you naturally encode that understanding in code (and in comments), making sure it never drifts from what the state of the system really is.
Recommends · Aug 2026 · in “Show HN: NixOS-DGX-Spark – Nix and NixOS on the DGX Spark”
Nix makes sure that everything is exactly as you declared, and that in case of [INSERT APOCALYPTIC EVENT], you'll be able to recover much faster
Recommends · Feb 2026 · in “Don't rent the cloud, own instead”
reproducible builds for this kind of testing infrastructure is important because you need the exact same chaos injection behavior across CI runs
Recommends · Feb 2026 · in “Show HN: Chaos Monkey but for Audio Video Testing (WebRTC and UDP)”
I value the completeness (thoroughness may be a better word) as well as the reproducability and portability that nix ensures over convenience
Recommends · Jun 2026 · in “Migrating from GNU Stow to Chezmoi”
There’s a sense of order and tidiness in running Nix on multiple machines with diverse uses and hardware, all based on single configuration
Recommends · Nov 2025 · in “CachyOS: Fast and Customizable Linux Distribution”
Although you're right about nix's DX being quite rough, the problem isn't exactly that it "tries to be everything for package management".
Mixed · Jan 2026 · in “Going immutable on macOS, using Nix-Darwin”
The documentation is not great (especially since it tends to document nix-the-language and not the conventions actually used in Nixpkgs)
Mixed · Dec 2025 · in “Self-hosting my photos with Immich”
Nix the language and ecosystem has historically been completely unapproachable for people unwilling to beat their head against the wall
Mixed · Jul 2026 · in “NixOS is more complicated than you think but OpenCode fixed it”
others are using Mise or Nix on a per project basis to automate the development environment setup and that works well on GitHub Actions
Recommends · Feb 2026 · in “GitHub Actions Is Slowly Killing Your Engineering Team”
If you structure it correctly using task runners and an environment manager you can do everything locally using the same versions etc.
Recommends · Dec 2025 · in “Pricing Changes for GitHub Actions”
I personally use direnv with nix to have per-project dependency versions installed automatically, and I've never had too much trouble.
Recommends · Aug 2026 · in “The Nixpkgs core team has disbanded”
Because Nix is a package manager not tied to one programming language ecosystem, I can install all the tools for every language I need
Recommends · Apr 2026 · in “Using Changesets in a polyglot monorepo”
Nix has the whole content addressed build DAG with caching, the intermediate language, and the ability to produce arbitrary outputs
Recommends · Feb 2026 · in “BuildKit: Docker's Hidden Gem That Can Build Almost Anything”
There is no risk of someone running install on one box and someone running it on another and them getting different exact versions
Recommends · Mar 2026 · in “Why I love NixOS”
adopt the Nix approach of caching common binary artifacts in a content addressable store and rebuild from source only when needed
Recommends · Oct 2026 · in “A plea not to use uv-build”
They were built from the ground up to be able to have multiple, simultaneous versions of everything installed in separate store
Recommends · Feb 2026 · in “I Fixed Windows Native Development”
Nix is somewhat all-encompassing, but it can simultaneously run multiple applications with incompatible sets of dependencies
Mixed · Jan 2026 · in “The C-Shaped Hole in Package Management”
I've got a couple using Nix, which laughs at everything else (but damn, the overall UX is still even more hostile than git)
Mixed · Jun 2026 · in “Homebrew 6.0.0”
the tooling is easy enough that nonetheless, my team generally has no problems spinning up new Nix environments without me
Recommends · May 2026 · in “I love Linux, but I can't quit Windows”
Nothing compares to nix. I've been using it on macOS, for Linux hosts, for years now, and it's been incredibly rock solid.
Recommends · Nov 2025 · in “NixOS 25.11 released”
It has been a game changer for me at least as a first time dev to just run 'nix develop' and have 'cargo build' just work
Recommends · Dec 2025 · in “The Polyglot NixOS”
its discoverability and transparency are sometimes very poor. Its module system is anything but lean and straightforward.
Mixed · Oct 2026 · in “Nix wrote half of my debugger”
more broad usage of the deterministic systems like nix etc, which are built upon functional principles of immutability
Recommends · Jul 2026 · in “Steel Bank Common Lisp version 2.6.7”
Seeing that flake.nix badge of complexity lets me know a project will be a nightmare to set up and will break every other week.
Criticizes · Dec 2025 · in “Using Python for Scripting”
Everywhere it shows up it infects projects, creates constant breakage, and requires at least 1 person to become a nix expert
Criticizes · Oct 2026
it's a really great concept! The issue I have run into is that for running llama.cpp ... it seems like experimenting with different versions/configs/patches etc. was fighting with the Nix philosophy of immutable software
Mixed · Sep 2026 · in “Dutch governments builds alternative for Microsoft based on NixOS”
in exchange for some relatively minor strictness tradeoffs, the set of problems that that is solving never had to exist in the first place
Recommends · Aug 2026 · in “The Nixpkgs core team has disbanded”
openSUSE, ChromeOS, Nix, Guix, and indeed, TinyCore all achieve the same goal with tooling that is about 1% of the size or complexity
Recommends · Apr 2026 · in “PiCore - Raspberry Pi Port of Tiny Core Linux”
Nix/Nixpkgs provide well maintained package derivations and module configuration for the largest amount of software of any ecosystem
Recommends · Jun 2026 · in “Shrinking a NixOS ISO from 458 MiB to 183 MiB”
You avoid all the string templating bullshit and can use nix functions and the nixos module system to build proper abstractions.
Recommends · Oct 2026 · in “A skeptic's first contact with Kubernetes (2024)”
I've for example written an experimental C build system for Nix which handles all compiler orchestration and it works great
Recommends · Mar 2026 · in “A Decade of Docker Containers”
AI + nix makes it so easy to make reproducible personalized GUI software that generally doesn't just up and brick on you.
Recommends · Oct 2026 · in “Why Linux is picking up at a rapid pace for AI usage?”
Nix is very doable. With Deepseek or other cheaper models, you could get a whole headache-free setup done in one weekend
Recommends · Jun 2026 · in “Migrating from GNU Stow to Chezmoi”
Nix and AI is a match made in heaven and I think we're going to see a lot of good software that's amenable for us by AI
Recommends · Mar 2026 · in “Why I love NixOS”
For me personally (and also for everyone at work), I'm doing all package management with Nix. I'm happy with the setup.
Recommends · Apr 2026 · in “Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)”
Counts from 1,795,640 Hacker News comments, Nov 2025 to Nov 2026. How we count · Report a mistake