A derivation is a persistent data structure that specifies an executable, arguments and environment variables for its invocation (see execve), and other files to be read from the Nix store.
The executable is then run in a sandbox that prohibits access to anything but the explicitly specified input files and only allows writing to the designated output path.
Nix preserves dependency information in output files by scanning for the distinctive hashes used for package directory names.
Unique directory names allow installing many packages with differing versions of shared libraries, and is claimed to eliminate so-called dependency hell.
Packages for these architectures are built regularly, using a continuous integration service called Hydra,[14] and the results of these builds are uploaded to a public binary cache.
[21] In 2021, a reimplementation by the name Tvix was announced,[22] with the goals of modularity, full compatibility with Nixpkgs, and improved evaluator performance.
[26] In 2024, a team of volunteers released the first version of Lix,[27][non-primary source needed] a fork of Nix focused on correctness and compatibility that uses the Meson build automation system.