What problems does Nix solve?
- Reproducibility
- Declarative Nature
- Version Control - Rollback
Resources used for Understanding / Learning
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.