- 1. Introduction
- 2. Quick Start
- 3. Installation
- 3.1. Installing Nix from Source
- 3.1.1. Prerequisites
- 3.1.2. Obtaining a Source Distribution
- 3.1.3. Building Nix from Source
- 3.2. Using Nix within Docker
- 3.3. Security
- 3.4. Upgrading Nix
- 3.5. 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 Derivation and Deriving Path
- 4.4.1. Derivation Outputs and Types of Derivations
- 4.4.1.1. Content-addressing derivation outputs
- 4.4.1.2. Input-addressing derivation outputs
- 4.5. Building
- 4.6. Store Types
- 4.6.1. Dummy Store
- 4.6.2. Experimental Local Overlay Store
- 4.6.3. Experimental SSH Store
- 4.6.4. Experimental SSH Store with filesystem mounted
- 4.6.5. HTTP Binary Cache Store
- 4.6.6. Local Binary Cache Store
- 4.6.7. Local Daemon Store
- 4.6.8. Local Store
- 4.6.9. S3 Binary Cache Store
- 4.6.10. SSH Store
- 5. Nix Language
- 5.1. Data Types
- 5.1.1. String context
- 5.2. Syntax and semantics
- 5.2.1. Evaluation
- 5.2.2. Variables
- 5.2.3. String literals
- 5.2.4. Identifiers
- 5.2.5. Scoping rules
- 5.2.6. String interpolation
- 5.2.7. 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. Subcommands
- 8.3.1. nix
- 8.3.2. nix build
- 8.3.3. nix bundle
- 8.3.4. nix config
- 8.3.5. nix config check
- 8.3.6. nix config show
- 8.3.7. nix copy
- 8.3.8. nix daemon
- 8.3.9. nix derivation
- 8.3.10. nix derivation add
- 8.3.11. nix derivation show
- 8.3.12. nix develop
- 8.3.13. nix edit
- 8.3.14. nix env
- 8.3.15. nix env shell
- 8.3.16. nix eval
- 8.3.17. nix flake
- 8.3.18. nix flake archive
- 8.3.19. nix flake check
- 8.3.20. nix flake clone
- 8.3.21. nix flake info
- 8.3.22. nix flake init
- 8.3.23. nix flake lock
- 8.3.24. nix flake metadata
- 8.3.25. nix flake new
- 8.3.26. nix flake prefetch
- 8.3.27. nix flake show
- 8.3.28. nix flake update
- 8.3.29. nix fmt
- 8.3.30. nix formatter
- 8.3.31. nix formatter build
- 8.3.32. nix formatter run
- 8.3.33. nix hash
- 8.3.34. nix hash convert
- 8.3.35. nix hash file
- 8.3.36. nix hash path
- 8.3.37. nix hash to-base16
- 8.3.38. nix hash to-base32
- 8.3.39. nix hash to-base64
- 8.3.40. nix hash to-sri
- 8.3.41. nix help
- 8.3.42. nix help-stores
- 8.3.43. nix key
- 8.3.44. nix key convert-secret-to-public
- 8.3.45. nix key generate-secret
- 8.3.46. nix log
- 8.3.47. nix nar
- 8.3.48. nix nar cat
- 8.3.49. nix nar dump-path
- 8.3.50. nix nar ls
- 8.3.51. nix nar pack
- 8.3.52. nix path-info
- 8.3.53. nix print-dev-env
- 8.3.54. nix profile
- 8.3.55. nix profile add
- 8.3.56. nix profile diff-closures
- 8.3.57. nix profile history
- 8.3.58. nix profile list
- 8.3.59. nix profile remove
- 8.3.60. nix profile rollback
- 8.3.61. nix profile upgrade
- 8.3.62. nix profile wipe-history
- 8.3.63. nix realisation
- 8.3.64. nix realisation info
- 8.3.65. nix registry
- 8.3.66. nix registry add
- 8.3.67. nix registry list
- 8.3.68. nix registry pin
- 8.3.69. nix registry remove
- 8.3.70. nix repl
- 8.3.71. nix run
- 8.3.72. nix search
- 8.3.73. nix store
- 8.3.74. nix store add
- 8.3.75. nix store add-file
- 8.3.76. nix store add-path
- 8.3.77. nix store cat
- 8.3.78. nix store copy-log
- 8.3.79. nix store copy-sigs
- 8.3.80. nix store delete
- 8.3.81. nix store diff-closures
- 8.3.82. nix store dump-path
- 8.3.83. nix store gc
- 8.3.84. nix store info
- 8.3.85. nix store ls
- 8.3.86. nix store make-content-addressed
- 8.3.87. nix store optimise
- 8.3.88. nix store path-from-hash-part
- 8.3.89. nix store prefetch-file
- 8.3.90. nix store repair
- 8.3.91. nix store sign
- 8.3.92. nix store verify
- 8.3.93. nix upgrade-nix
- 8.3.94. nix why-depends
- 8.4. Deprecated Commands
- 8.4.1. nix-build
- 8.4.2. nix-channel
- 8.4.3. nix-shell
- 8.4.4. nix-store
- 8.4.4.1. nix-store --add-fixed
- 8.4.4.2. nix-store --add
- 8.4.4.3. nix-store --delete
- 8.4.4.4. nix-store --dump-db
- 8.4.4.5. nix-store --dump
- 8.4.4.6. nix-store --export
- 8.4.4.7. nix-store --gc
- 8.4.4.8. nix-store --generate-binary-cache-key
- 8.4.4.9. nix-store --import
- 8.4.4.10. nix-store --load-db
- 8.4.4.11. nix-store --optimise
- 8.4.4.12. nix-store --print-env
- 8.4.4.13. nix-store --query
- 8.4.4.14. nix-store --read-log
- 8.4.4.15. nix-store --realise
- 8.4.4.16. nix-store --repair-path
- 8.4.4.17. nix-store --restore
- 8.4.4.18. nix-store --serve
- 8.4.4.19. nix-store --verify-path
- 8.4.4.20. nix-store --verify
- 8.4.5. nix-env
- 8.4.5.1. nix-env --delete-generations
- 8.4.5.2. nix-env --install
- 8.4.5.3. nix-env --list-generations
- 8.4.5.4. nix-env --query
- 8.4.5.5. nix-env --rollback
- 8.4.5.6. nix-env --set-flag
- 8.4.5.7. nix-env --set
- 8.4.5.8. nix-env --switch-generation
- 8.4.5.9. nix-env --switch-profile
- 8.4.5.10. nix-env --uninstall
- 8.4.5.11. nix-env --upgrade
- 8.5. Utilities
- 8.5.1. nix-collect-garbage
- 8.5.2. nix-copy-closure
- 8.5.3. nix-daemon
- 8.5.4. nix-hash
- 8.5.5. nix-instantiate
- 8.5.6. nix-prefetch-url
- 8.6. Files
- 8.6.1. nix.conf
- 8.6.2. Profiles
- 8.6.2.1. manifest.nix
- 8.6.2.2. manifest.json
- 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. Determinate Nix Release Notes
- 14.1. Changes between Nix and Determinate Nix
- 14.2. Release 3.6.1 (2025-05-24)
- 14.3. Release 3.6.0 (2025-05-22)
- 14.4. Release 3.5.2 (2025-05-12)
- 14.5. Release 3.5.1 (2025-05-09)
- 14.6. ~~Release 3.5.0 (2025-05-09)~~
- 14.7. Release 3.4.2 (2025-05-05)
- 14.8. Release 3.4.0 (2025-04-25)
- 14.9. Release 3.3.0 (2025-04-11)
- 14.10. Release 3.1.0 (2025-03-27)
- 14.11. Release 3.0.0 (2025-03-04)
- 15. Nix Release Notes
- 15.1. Upcoming release
- 15.2. Release 2.29 (2025-05-14)
- 15.3. Release 2.28 (2025-04-02)
- 15.4. Release 2.27 (2025-03-03)
- 15.5. Release 2.26 (2025-01-22)