Nix

Nix

Nix is a declarative language aiming produce reproducible systems. In can be used to produce dotfiles.

Follows three tools:

  • Home Manager : Manages user’s home. It can’t be used to install fonts for example.
  • Nix Darwin : Manages macOS systems.

The goal is to compose these tools to produce a reproducible generation of one’s environment. To aid this, Nix Flakes introduces another layer on top that aims to pin the versions the dependencies through a flake.lock file.

My dotfiles leverage Nix.