3 ms·
Using Nix as a package manager works best with a repository called "Nixpkgs". Nixpkgs focuses on reproducible builds, that means that for the same inputs, you
by Rucadi 3y ago
Using Nix as a package manager works best with a repository called "Nixpkgs".
Nixpkgs focuses on reproducible builds, that means that for the same inputs, you always are going to get the same binary output.
All of Nixpkgs are built using nixpkgs, and they don't depend on any library outside nixpkgs, including glibc and compilers.
That means that you can "lock" your packages into a version, and you ensure that it will run the exact same version and configuration in all machines that you install it, no matter the underlying OS or how old/new it is, glibc problems etc...
This is the power of Nix.
All of this can be done via a simple
Flake.nix -> define the system
Flake.lock -> automatically generated, defines the exact version of nixpkgs among others.
(Can also be done via channels but flakes are better imo)
- Foxboron 3y ago> Nixpkgs focuses on reproducible builds, that means that for the same inputs, you always are going to get the same binary output. This is a common misconception, nixpkgs only really supports "repeatable builds" and "reproducible build environments". The Reproducible Builds aspect of nixpkgs is still very much a work in progress as it is with all the other linux distributions and hardly a focus.