Flakes
Flakes are a (currently) experimental feature replacing the
channel
mechanism along with a few other Nix interfaces
(default.nix
, shell.nix
).
Reproducibility is achieved by declaring inputs in
flake.nix
whose resolved versions are pinned in
flake.lock
, like the package managers for many
programming languages, enabling easy updates of dependencies. In
addition, the project's interface is also declared in
flake.nix
, creating a unified experience for
interacting with any Flake project.