Check out FlakeHub — the best place to discover and publish Nix flakes, from Determinate Systems.

We use a single, first-party analytics cookie to focus our limited time and energy on the most important documentation. Check out our privacy policy .

Package management

The art of building and distributing software packages

Concepts / Package management

We recommend starting with the Nix quick start and consulting concept docs primarily for clarification. Feel free to click x to the right to disable this notification on all concept docs.

Package management is the art of building and distributing software packages.

Nix is different from package managers like apt, dpkg, and yum in several important ways:

  • Nix always builds all packages from scratch, including the entire closure, or dependency tree, of that package. But if a dependency is already present in the Nix store or in a remote cache, Nix can use that instead of rebuilding it, which means that Nix can provide incremental builds.
  • Nix has a language—also called Nix—that you can use to define your own package builds
  • Nix works on several platforms, including Linux, macOS, and Windows WSL.

Was this page helpful?