wiki/2020-09-04-16-07-47.org
Gabriel Arazas aea7015cd5 Update the files for convention
Apparently, the convention (at least starting from 2018) is to make the
keywords and block names to be in lowercase as stated from one of the
following discussions at
https://orgmode.org/list/87tuuw3n15.fsf@nicolasgoaziou.fr/.

The files was updated with a one liner of shell. However, this is Emacs
and org-mode does have an API to let you do stuff in your config and
interact with the documents internally so it is not an elegant solution
in any way.
2021-04-02 00:08:15 +08:00

1.6 KiB

Nix package manager

Nix is a package manager that pioneered Functional package management which addresses the criticisms of traditional Unix systems while making it as a specialized tool for 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.

Furthermore, it also offers one of the must-haves as a power user (in my opinion) which is declarative configuration. You can write the whole system configuration in a plain-text file giving you all of the little knobs and switches of the system. Even then, it also applies some abstraction if you don't want the full control which is an attractive option if you're looking for a quick setup. Finally, they are suitable to be used under a version control system like Git and Subversion giving more room for experimentation 1 and control.


1

As if the rollback feature for NixOS wasn't enough.