1.
Introduction
2.
Quick Start
3.
Installation
3.1.
Supported Platforms
3.2.
Installing a Binary Distribution
3.3.
Installing Nix from Source
3.3.1.
Prerequisites
3.3.2.
Obtaining a Source Distribution
3.3.3.
Building Nix from Source
3.4.
Using Nix within Docker
3.5.
Security
3.5.1.
Single-User Mode
3.5.2.
Multi-User Mode
3.6.
Environment Variables
3.7.
Upgrading Nix
3.8.
Uninstalling Nix
4.
Nix Store
4.1.
File System Object
4.1.1.
Content-Addressing File System Objects
4.2.
Store Object
4.2.1.
Content-Addressing Store Objects
4.3.
Store Path
4.4.
Store Types
4.4.1.
Dummy Store
4.4.2.
Experimental Local Overlay Store
4.4.3.
Experimental SSH Store
4.4.4.
Experimental SSH Store with filesystem mounted
4.4.5.
HTTP Binary Cache Store
4.4.6.
Local Binary Cache Store
4.4.7.
Local Daemon Store
4.4.8.
Local Store
4.4.9.
S3 Binary Cache Store
4.4.10.
SSH Store
5.
Nix Language
5.1.
Data Types
5.1.1.
String context
5.2.
Syntax and semantics
5.2.1.
Variables
5.2.2.
String literals
5.2.3.
Identifiers
5.2.4.
Scoping rules
5.2.5.
String interpolation
5.2.6.
Lookup path
5.3.
Operators
5.4.
Built-ins
5.4.1.
Derivations
5.4.1.1.
Advanced Attributes
5.4.1.2.
Import From Derivation
6.
Package Management
6.1.
Profiles
6.2.
Garbage Collection
6.2.1.
Garbage Collector Roots
7.
Advanced Topics
7.1.
Sharing Packages Between Machines
7.1.1.
Serving a Nix store via HTTP
7.1.2.
Serving a Nix store via SSH
7.2.
Remote Builds
7.3.
Tuning Cores and Jobs
7.4.
Verifying Build Reproducibility
7.5.
Using the post-build-hook
8.
Command Reference
8.1.
Common Options
8.2.
Common Environment Variables
8.3.
Main Commands
8.3.1.
nix-build
8.3.2.
nix-shell
8.3.3.
nix-store
8.3.3.1.
nix-store --add-fixed
8.3.3.2.
nix-store --add
8.3.3.3.
nix-store --delete
8.3.3.4.
nix-store --dump-db
8.3.3.5.
nix-store --dump
8.3.3.6.
nix-store --export
8.3.3.7.
nix-store --gc
8.3.3.8.
nix-store --generate-binary-cache-key
8.3.3.9.
nix-store --import
8.3.3.10.
nix-store --load-db
8.3.3.11.
nix-store --optimise
8.3.3.12.
nix-store --print-env
8.3.3.13.
nix-store --query
8.3.3.14.
nix-store --read-log
8.3.3.15.
nix-store --realise
8.3.3.16.
nix-store --repair-path
8.3.3.17.
nix-store --restore
8.3.3.18.
nix-store --serve
8.3.3.19.
nix-store --verify-path
8.3.3.20.
nix-store --verify
8.3.4.
nix-env
8.3.4.1.
nix-env --delete-generations
8.3.4.2.
nix-env --install
8.3.4.3.
nix-env --list-generations
8.3.4.4.
nix-env --query
8.3.4.5.
nix-env --rollback
8.3.4.6.
nix-env --set-flag
8.3.4.7.
nix-env --set
8.3.4.8.
nix-env --switch-generation
8.3.4.9.
nix-env --switch-profile
8.3.4.10.
nix-env --uninstall
8.3.4.11.
nix-env --upgrade
8.4.
Utilities
8.4.1.
nix-channel
8.4.2.
nix-collect-garbage
8.4.3.
nix-copy-closure
8.4.4.
nix-daemon
8.4.5.
nix-hash
8.4.6.
nix-instantiate
8.4.7.
nix-prefetch-url
8.5.
Experimental Commands
8.5.1.
nix
8.5.2.
nix build
8.5.3.
nix bundle
8.5.4.
nix config
8.5.5.
nix config check
8.5.6.
nix config show
8.5.7.
nix copy
8.5.8.
nix daemon
8.5.9.
nix derivation
8.5.10.
nix derivation add
8.5.11.
nix derivation show
8.5.12.
nix develop
8.5.13.
nix edit
8.5.14.
nix env
8.5.15.
nix env shell
8.5.16.
nix eval
8.5.17.
nix flake
8.5.18.
nix flake archive
8.5.19.
nix flake check
8.5.20.
nix flake clone
8.5.21.
nix flake info
8.5.22.
nix flake init
8.5.23.
nix flake lock
8.5.24.
nix flake metadata
8.5.25.
nix flake new
8.5.26.
nix flake prefetch
8.5.27.
nix flake show
8.5.28.
nix flake update
8.5.29.
nix fmt
8.5.30.
nix hash
8.5.31.
nix hash convert
8.5.32.
nix hash file
8.5.33.
nix hash path
8.5.34.
nix hash to-base16
8.5.35.
nix hash to-base32
8.5.36.
nix hash to-base64
8.5.37.
nix hash to-sri
8.5.38.
nix help
8.5.39.
nix help-stores
8.5.40.
nix key
8.5.41.
nix key convert-secret-to-public
8.5.42.
nix key generate-secret
8.5.43.
nix log
8.5.44.
nix nar
8.5.45.
nix nar cat
8.5.46.
nix nar dump-path
8.5.47.
nix nar ls
8.5.48.
nix nar pack
8.5.49.
nix path-info
8.5.50.
nix print-dev-env
8.5.51.
nix profile
8.5.52.
nix profile diff-closures
8.5.53.
nix profile history
8.5.54.
nix profile install
8.5.55.
nix profile list
8.5.56.
nix profile remove
8.5.57.
nix profile rollback
8.5.58.
nix profile upgrade
8.5.59.
nix profile wipe-history
8.5.60.
nix realisation
8.5.61.
nix realisation info
8.5.62.
nix registry
8.5.63.
nix registry add
8.5.64.
nix registry list
8.5.65.
nix registry pin
8.5.66.
nix registry remove
8.5.67.
nix repl
8.5.68.
nix run
8.5.69.
nix search
8.5.70.
nix store
8.5.71.
nix store add
8.5.72.
nix store add-file
8.5.73.
nix store add-path
8.5.74.
nix store cat
8.5.75.
nix store copy-log
8.5.76.
nix store copy-sigs
8.5.77.
nix store delete
8.5.78.
nix store diff-closures
8.5.79.
nix store dump-path
8.5.80.
nix store gc
8.5.81.
nix store info
8.5.82.
nix store ls
8.5.83.
nix store make-content-addressed
8.5.84.
nix store optimise
8.5.85.
nix store path-from-hash-part
8.5.86.
nix store ping
8.5.87.
nix store prefetch-file
8.5.88.
nix store repair
8.5.89.
nix store sign
8.5.90.
nix store verify
8.5.91.
nix upgrade-nix
8.5.92.
nix why-depends
8.6.
Files
8.6.1.
nix.conf
8.6.2.
Profiles
8.6.2.1.
manifest.nix
8.6.2.2.
manifest.json
8.6.3.
Channels
8.6.4.
Default Nix expression
9.
Architecture and Design
10.
Formats and Protocols
10.1.
JSON Formats
10.1.1.
Store Object Info
10.1.2.
Derivation
10.2.
Serving Tarball Flakes
10.3.
Store Path Specification
10.4.
Nix Archive (NAR) Format
10.5.
Derivation "ATerm" file format
11.
C API
12.
Glossary
13.
Development
13.1.
Building
13.2.
Testing
13.3.
Debugging
13.4.
Documentation
13.5.
CLI guideline
13.6.
JSON guideline
13.7.
C++ style guide
13.8.
Experimental Features
13.9.
Contributing
14.
Releases
14.1.
Release 2.25 (2024-11-07)
14.2.
Release 2.24 (2024-07-31)
14.3.
Release 2.23 (2024-06-03)
14.4.
Release 2.22 (2024-04-23)
14.5.
Release 2.21 (2024-03-11)
14.6.
Release 2.20 (2024-01-29)
14.7.
Release 2.19 (2023-11-17)
14.8.
Release 2.18 (2023-09-20)
14.9.
Release 2.17 (2023-07-24)
14.10.
Release 2.16 (2023-05-31)
14.11.
Release 2.15 (2023-04-11)
14.12.
Release 2.14 (2023-02-28)
14.13.
Release 2.13 (2023-01-17)
14.14.
Release 2.12 (2022-12-06)
14.15.
Release 2.11 (2022-08-25)
14.16.
Release 2.10 (2022-07-11)
14.17.
Release 2.9 (2022-05-30)
14.18.
Release 2.8 (2022-04-19)
14.19.
Release 2.7 (2022-03-07)
14.20.
Release 2.6 (2022-01-24)
14.21.
Release 2.5 (2021-12-13)
14.22.
Release 2.4 (2021-11-01)
14.23.
Release 2.3 (2019-09-04)
14.24.
Release 2.2 (2019-01-11)
14.25.
Release 2.1 (2018-09-02)
14.26.
Release 2.0 (2018-02-22)
14.27.
Release 1.11.10 (2017-06-12)
14.28.
Release 1.11 (2016-01-19)
14.29.
Release 1.10 (2015-09-03)
14.30.
Release 1.9 (2015-06-12)
14.31.
Release 1.8 (2014-12-14)
14.32.
Release 1.7 (2014-04-11)
14.33.
Release 1.6.1 (2013-10-28)
14.34.
Release 1.6 (2013-09-10)
14.35.
Release 1.5.2 (2013-05-13)
14.36.
Release 1.5 (2013-02-27)
14.37.
Release 1.4 (2013-02-26)
14.38.
Release 1.3 (2013-01-04)
14.39.
Release 1.2 (2012-12-06)
14.40.
Release 1.1 (2012-07-18)
14.41.
Release 1.0 (2012-05-11)
14.42.
Release 0.16 (2010-08-17)
14.43.
Release 0.15 (2010-03-17)
14.44.
Release 0.14 (2010-02-04)
14.45.
Release 0.13 (2009-11-05)
14.46.
Release 0.12 (2008-11-20)
14.47.
Release 0.11 (2007-12-31)
14.48.
Release 0.10.1 (2006-10-11)
14.49.
Release 0.10 (2006-10-06)
14.50.
Release 0.9.2 (2005-09-21)
14.51.
Release 0.9.1 (2005-09-20)
14.52.
Release 0.9 (2005-09-16)
14.53.
Release 0.8.1 (2005-04-13)
14.54.
Release 0.8 (2005-04-11)
14.55.
Release 0.7 (2005-01-12)
14.56.
Release 0.6 (2004-11-14)
14.57.
Release 0.5 and earlier
Light
Rust
Coal
Navy
Ayu
Nix Reference Manual
Protocols
This chapter documents various developer-facing interfaces provided by Nix.