Nix consists of two parts: a package manager and a language. Nix programming language is a rather simple lazy (almost) pure functional with dynamic typing that specializes in building packages.
- makes no assumption about the global state of the system
- everything is installed under the
nix/store
- nix has derivations instead of just 'packages'