brain initiation
This commit is contained in:
14
20251105080253-nix_flake.org
Normal file
14
20251105080253-nix_flake.org
Normal file
@@ -0,0 +1,14 @@
|
||||
:PROPERTIES:
|
||||
:ID: 93b1f780-66ce-41c8-848d-ff8054d96a32
|
||||
:END:
|
||||
#+title: nix-flake
|
||||
|
||||
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 [[id:04b1edf2-9532-4060-8b2f-f37199cbfd92][nix]] installations. The experimental nix [[id:d71414fc-349c-4763-a703-9f7092fc90d6][command-line]] interface (CLI) lets you evaluate or build an expression contained within a flake, install a derivation from a flake into a User Environment, and operate on flake outputs much like the original nix-{build,eval,...} commands would.
|
||||
|
||||
A flake refers to a file-system tree whose root directory contains the Nix file specification called flake.nix.
|
||||
An installation may contain any number of flakes, independent of each other or even call each other.
|
||||
The contents of flake.nix file follow the uniform naming schema for expressing [[id:6d025430-76e3-4b42-898d-8d88bad10afa][packages]] and dependencies on Nix.
|
||||
Flakes use the standard Nix [[id:bd5b34ba-aa98-4808-b97b-2376aa7b8866][protocols]], including the URL-like syntax for specifying repositories and package names.
|
||||
To simplify the long URL syntax with shorter names, flakes uses a registry of symbolic identifiers.
|
||||
Flakes also allow for locking references and versions that can then be easily queried and updated programmatically.
|
||||
Nix command-line interface accepts flake references for expressions that build, run, and deploy packages.
|
||||
Reference in New Issue
Block a user