mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 01:57:54 +00:00
17 lines
1.0 KiB
Org Mode
17 lines
1.0 KiB
Org Mode
:PROPERTIES:
|
|
:ID: 3b3fdcbf-eb40-4c89-81f3-9d937a0be53c
|
|
:END:
|
|
#+title: Nix package manager
|
|
#+date: "2020-09-04 16:07:47 +08:00"
|
|
#+date_modified: "2021-05-04 20:52:09 +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]].
|
|
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.
|