Learn Nix | Nix & NixOS (original) (raw)
Search
Nix packages
NixOS options
Manuals
Nix Manual
Nix is a package manager which comes in a form of many command line tools. Packages that Nix can build are defined with the Nix Expression Language.
- Installation
- Basic package management
- Main command line tools:
- nix-env — manipulate or query Nix user environments
- nix-build — build a Nix expression
- nix-shell — start an interactive shell based on a Nix expression
- nix-store — manipulate or query the Nix store
- nix-channel - keep Nix expressions up to date
- Nix expression language
Nixpkgs Manual
The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the Nix package manager and NixOS Linux distribution.
- Configure nixpkgs
- Customize packages (override packages)
- Extend nixpkgs (via overlays)
- Adding a package to nixpkgs
- The Standard Environment
- Fetching sources
- Building images:
* Docker -Snap -AppImage -OCI - …
- Integrate Nix with programming languages:
* Javascript (Node) -Python -Ruby -Java -Go -Rust - R -Haskell -Elm - BEAM Languages (Erlang, Elixir, LFE) - Lua- Idris -Coq -Perl -OCaml -… - Integrate Nix with frameworks:
* Android -IOS -Titanium - Tex Live -Qt - … - Configure your editor with Nix:
* Vim -Emacs -Eclipse -Kakoune - … - Contributing to Nixpkgs
Other learning resources
The Nix hour
A weekly beginner-oriented interactive video lecture on all things Nix. Running since October 2022.
NixOS Wiki
The official wiki for Nix and NixOS (wiki.nixos.org); user contributions welcome!
Nix Pills
A low-level tutorial on building software packages with Nix, showing in detail how Nixpkgs is constructed.