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

Sign up for the Determinate Systems mailing list

* indicates required

System specificity

The fact that all Nix derivations have a system property that describes which architecture the package is built on

Concepts / System specificity

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.

In Nix, the term system specificity expresses the fact that all Nix derivations have a system attribute that specifies which system the derivation is built on. In order to realize a Nix derivation into a package, each derivation in the package’s closure needs to be supported on the target system. So if you want to build the package foo on an x86_64-linux system, any dependency of the foo derivation needs to be supported on x86_64-linux.

System specificity is essential to Nix being a truly multi-platform system. Because all derivations—and thus all packages—are system specific, things like Nix development environments and NixOS configurations are also system specific.


Was this page helpful?