What problems does Nix solve?
- Reproducibility
- Declarative Nature
- Version Control - Rollback
Resources used for Understanding / Learning
- https://zero-to-nix.com/
- Nix is my favorite package manager to use on macOS - Dreams of Autonomy
- https://x.com/jessfraz/status/1911129140516061540?s=46
- https://evantravers.com/articles/2025/04/17/reorganizing-my-nix-dotfiles/
- https://x.com/mitchellh/status/1452721115009191938?s=46
- https://evantravers.com/articles/2024/02/06/switching-to-nix-darwin-and-flakes/
Term | Definition | Key Purpose |
---|---|---|
Nix | A package manager and language for reproducible builds and deployments. | Manage software packages and environments. |
Nix Flakes | An extension to Nix adding a standardized format (flake.nix) and lock file for dependency pinning. | Improve reproducibility and dependency management. |
Nix-Darwin | A set of Nix modules to configure macOS systems declaratively, built on top of Nix. | Manage macOS system settings and packages. |
- Nix: The core tool. Installs packages and manages environments, works on any OS.
- Nix Flakes: Adds structure and version locking to Nix projects, making them more consistent.
- Nix-Darwin: Uses Nix to control macOS, like system configs and apps, similar to NixOS for Linux.