Nix Package Manager

Nix Package Manager

github.com

2

About this website

Nix is a free and open-source package manager and build system that takes a unique approach to package management and deployment by using a purely functional programming language to describe packages, builds, and entire system configurations. Created by Eelco Dolstra in 2003 at Utrecht University, Nix is the foundation of the NixOS Linux distribution and the Nixpkgs collection (the largest package repository with over 100,000 packages). Key features: purely functional builds: every build input (source code, dependencies, build scripts, environment variables) is captured as a cryptographic hash, producing a unique store path. Two builds with the same inputs always produce the same output (bit-for-bit reproducibility). This eliminates the 'works on my machine' problem. Immutable store: all packages are stored in the Nix store (/nix/store) as content-addressed, immutable directories, preventing conflicts between different versions of the same package. Multiple versions: multiple versions of the same package can coexist without conflicts, because each version has its own store path. Atomic upgrades and rollbacks: package installations and system updates are atomic — if an upgrade fails, the system automatically reverts to the previous state. Rollbacks to any previous system generation are always available. User environments: each user has their own profile, allowing non-root users to install packages without system-wide effects. Binary caches: Nix can substitute build results from binary caches (like cache.nixos.org), avoiding local compilation when a pre-built binary is available. Flakes: a newer module system (stabilized in 2024) for reproducible, hermetic builds and portable configurations. Cross-compilation and cross-platform support. Nix language: a lazy, pure, functional DSL for writing package derivations. LGPLv2.1 (package manager) + various licenses (Nixpkgs).

Tags & Categories

Statistics

2
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!