Flakes: Difference between revisions

imported>Emanueljg
Add info about secret managing scheme to disclaimer
imported>Sid-code
Rewrite introduction paragraph.
Line 3: Line 3:
====Introduction====
====Introduction====


Flakes is a feature of managing Nix packages to simplify usability and improve reproducibility of Nix installations. Flakes manages dependencies between Nix expressions, which are the primary protocols for specifying packages. Flakes implements these protocols in a consistent schema with a common set of policies for managing packages.
Nix flakes provide a standard way to write Nix expressions (and therefore packages) whose dependencies are version-pinned in a lock file, improving reproducibility of Nix installations. The experimental <code>nix</code> CLI lets you evaluate or build an expression contained within a flake, install a derivation from a flake into an [[User Environment]], and operate on flake outputs much like the original nix-{build,eval,...} commands would.


* A [https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake.html#description flake] refers to a file-system tree whose root directory contains the Nix file specification called <code>flake.nix</code>.
* A [https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-flake.html#description flake] refers to a file-system tree whose root directory contains the Nix file specification called <code>flake.nix</code>.