nix3-flake-info(1)
π¦ nix3-flake-info(1) π¦
okay bestie, so this is a page from the General Commands Manual, and it's literally the glow-up guide to nix flake info. π
β οΈ Warning β this program is experimental and its interface is subject to change. no cap, they might switch it up on us. π
β¨ Name β¨
nix flake info β show flake metadata π
π Synopsis π
nix flake info [optionβ¦] flake-url
πΈ Examples πΈ
okay so first up, wanna see what dwarffs actually resolves to? iconic behavior:
# nix flake metadata dwarffs
Resolved URL: github:edolstra/dwarffs
Locked URL: github:edolstra/dwarffs/f691e2c991e75edb22836f1dbe632c40324215c5
Description: A filesystem that fetches DWARF debug info from the Internet on demand
Path: /nix/store/vdyf2s1pygcl4y3dn3bm9wy7mnl8hxcv-source
Revision: f691e2c991e75edb22836f1dbe632c40324215c5
Last modified: 2021-01-21 15:41:26
Inputs:
ββββnix: github:NixOS/nix/6254b1f5d298ff73127d7b0f0da48f142bdc753c
β ββββlowdown-src: github:kristapsdz/lowdown/1705b4a26fbf065d9574dce47a94e8c7c79e052f
β ββββnixpkgs: github:NixOS/nixpkgs/ad0d20345219790533ebe06571f82ed6b034db31
ββββnixpkgs follows input 'nix/nixpkgs'
next, get that same info as JSON because sometimes you just want machine-readable main character energy:
# nix flake metadata dwarffs --json | jq .
{
"description": "A filesystem that fetches DWARF debug info from the Internet on demand",
"lastModified": 1597153508,
"locked": {
"lastModified": 1597153508,
"narHash": "sha256-VHg3MYVgQ12LeRSU2PSoDeKlSPD8PYYEFxxwkVVDRd0=",
"owner": "edolstra",
"repo": "dwarffs",
"rev": "d181d714fd36eb06f4992a1997cd5601e26db8f5",
"type": "github"
},
"locks": { ... },
"original": {
"id": "dwarffs",
"type": "indirect"
},
"originalUrl": "flake:dwarffs",
"path": "/nix/store/l06r23gw4psl1f547il2hbnwnxaplbaz-source",
"resolved": {
"owner": "edolstra",
"repo": "dwarffs",
"type": "github"
},
"resolvedUrl": "github:edolstra/dwarffs",
"revision": "d181d714fd36eb06f4992a1997cd5601e26db8f5",
"url": "github:edolstra/dwarffs/d181d714fd36eb06f4992a1997cd5601e26db8f5"
}
π Description π
so this command shows you info about the flake that flake-url points at. π«Ά It resolves the flake reference using the flake registry, fetches it, and prints some meta data. and that includes:
- Resolved URL: if flake-url is a flake identifier, then this is the flake reference that specifies its actual location, looked up in the flake registry.
- Locked URL: a flake reference that contains a commit or content hash and thus uniquely identifies a specific flake version.
- Description: a one-line description of the flake, taken from the
descriptionfield inflake.nix. - Path: the store path containing the source code of the flake.
- Revision: the Git or Mercurial commit hash of the locked flake.
- Revisions: the number of ancestors of the Git or Mercurial commit of the locked flake. heads up tho β this is not available for github flakes. π
- Last modified: for Git or Mercurial flakes, this is the commit time of the commit of the locked flake; for tarball flakes, it's the most recent timestamp of any file inside the tarball.
- Inputs: the flake inputs with their corresponding lock file entries.
with --json, the output is a JSON object with the following fields:
originalandoriginalUrl: the flake reference specified by the user (flake-url) in attribute set and URL representation.resolvedandresolvedUrl: the resolved flake reference (see above) in attribute set and URL representation.lockedandlockedUrl: the locked flake reference (see above) in attribute set and URL representation.description: see Description above.path: see Path above.revision: see Revision above.revCount: see Revisions above.lastModified: see Last modified above.locks: the contents offlake.lock.
β OPTIONS β
--jsonβ produce output in JSON format, suitable for consumption by another program. π€--no-prettyβ print compact JSON output on a single line, even when the output is a terminal. some commands may print multiple JSON objects on separate lines.
see --pretty. π
--prettyβ print multi-line, indented JSON output for readability. β¨
Default: indent if output is to a terminal.
This option is only effective when --json is also specified.
π Common evaluation options
--argname expr β pass the value expr as the argument name to Nix functions.--arg-from-filename path β pass the contents of file path as the argument name to Nix functions.--arg-from-stdinname β pass the contents of stdin as the argument name to Nix functions.--argstrname string β pass the string string as the argument name to Nix functions.--debuggerβ start an interactive environment if evaluation fails.--eval-storestore-url β the URL of the Nix store to use for evaluation, i.e. to store derivations (.drvfiles) and inputs referenced by them.--impureβ allow access to mutable paths and repositories.--include/-Ipath β add path to search path entries used to resolve lookup paths.
This option may be given multiple times.
Paths added through -I take precedence over the nix-path configuration setting and the NIX_PATH environment variable.
--override-flakeoriginal-ref resolved-ref β override the flake registries, redirecting original-ref to resolved-ref.
π§ Common flake-related options
--commit-lock-fileβ commit changes to the flake's lock file.--inputs-fromflake-url β use the inputs of the specified flake as registry entries.--no-registriesβ don't allow lookups in the flake registries.
DEPRECATED π« Use --no-use-registries instead.
--no-update-lock-fileβ do not allow any updates to the flake's lock file.--no-write-lock-fileβ do not write the flake's newly generated lock file.--output-lock-fileflake-lock-path β write the given lock file instead offlake.lockwithin the top-level flake.--override-inputinput-path flake-url β override a specific flake input (e.g.dwarffs/nixpkgs). the input path must not be empty. this implies--no-write-lock-file.--recreate-lock-fileβ recreate the flake's lock file from scratch.
DEPRECATED π« Use nix flake update instead.
--reference-lock-fileflake-lock-path β read the given lock file instead offlake.lockwithin the top-level flake.--update-inputinput-path β update a specific flake input (ignoring its previous entry in the lock file).
DEPRECATED π« Use nix flake update instead.
π Logging-related options
--debugβ set the logging verbosity level to 'debug'.--log-formatformat β set the format of log output; one ofraw,internal-json,barorbar-with-logs.--print-build-logs/-Lβ print full build logs on standard error.--quietβ decrease the logging verbosity level.--verbose/-vβ increase the logging verbosity level.
π₯ Miscellaneous global options
--helpβ show usage information.--offlineβ disable substituters and consider all previously downloaded files up-to-date.--optionname value β set the Nix configuration setting name to value (overridingnix.conf).--refreshβ consider all previously downloaded files out-of-date.--repairβ during evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths.--versionβ show version information.
Note π See man nix.conf for overriding configuration settings with command line flags.
and that's the whole page bestie, no crumbs left. π«Ά this lil writeup lives in the General Commands Manual and signs off as nix3-flake-info(1) β that's the version tag, that's the whole footer, we stan. πβ¨π
π¦ where this page comes from
- fedora 44: nix-core 2.35.3-2.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms