#+title: Nix package manager #+date: "2020-09-04 16:07:47 +08:00" #+date_modified: "2021-04-24 01:46:41 +08:00" #+language: en [[https://nixos.org/][Nix]] is a package manager that pioneered [[file:2020-09-19-08-31-48.org][Functional package management]] which addresses the criticisms of traditional Unix systems while making it as a specialized tool for [[file:2020-04-12-11-20-53.org][Reproducible research]]. Holistically, Nix is made up of at least four components: the store, the language, the derivations, and the sandbox. - The store is a immutable centralized location where all of the outputs are placed. - The derivations are essentially build instructions. - The language (also called as Nix but we'll refer to it as Nixlang) is a domain-specific language for creating derivations. - The build process can be locked in a sandbox, improving the reproducibility of a setup and lowering the attack surface for a malicious package.