System specificity

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

Concepts / System specificity

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?