:PROPERTIES: :ID: 3b3fdcbf-eb40-4c89-81f3-9d937a0be53c :END: #+title: Nix package manager #+date: "2020-09-04 16:07:47 +08:00" #+date_modified: "2021-06-11 10:54:42 +08:00" #+language: en [[https://nixos.org/][Nix]] is a package manager that pioneered [[id:bfed6daf-4c2b-4426-bab9-2804caa5e079][Functional package management]] which addresses the criticisms of traditional Unix systems while making it as a specialized tool for [[id:6eeb7a24-b662-46d6-9ece-00a5028ff4d8][Reproducible research]]. It features a handrolled configuration language (also called Nix) that leans into functional paradigm, making it easier if you have experience on it. A popular tool mostly featured in Haskell programming projects. Eventually inspired GNU to create a fork, [[id:be917383-84c4-4bf5-9ca0-b04bfb778f4f][Guix package manager]], that takes it to another direction with more focus on reproducibility and its extensions such as bootstrapping. To see more details, refer to [[id:892676b3-76cb-4cd4-9689-910c1fe6587a][The basics of Nix package manager]].