nix3-flake-metadata(1)
πΈ nix3-flake-metadata β General Commands Manual πΈ
β οΈ Warning: this program is experimental and its interface is subject to change. No cap, bestie β it might shift under you. π
β¨ Name β¨
nix flake metadata β show flake metadata π
π Synopsis π
nix flake metadata [optionβ¦] flake-url
π¦ Examples π¦
- Show what
dwarffsresolves to:
# 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'
- Show information about
dwarffsin JSON format:
# 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 π
Okay so, this command spills the tea β about the flake you point at with the flake reference flake-url. It resolves that flake reference using the flake registry, fetches it, and then prints out a lil pile of meta data. That pile includes:
- Resolved URL: if
flake-urlis a flake identifier, then this is the flake reference that spells out its actual location β the one looked up in the flake registry. π - Locked URL: a flake reference that contains a commit or content hash, which means it uniquely identifies one specific flake version. So locked in πβ¨
- Description: a one-line description of the flake, yoinked straight from the
descriptionfield inflake.nix. - Path: the store path that holds the source code of the flake. π
- Revision: the Git or Mercurial commit hash of the locked flake.
- Revisions: how many ancestors that Git or Mercurial commit of the locked flake has. Heads up though β this one is not available for
githubflakes. π - 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, along with their corresponding lock file entries. π³
When you pass --json, the output is a JSON object, and here's what those fields mean:
originalandoriginalUrl: the flake reference the user specified (flake-url), as an attribute set and in URL representation.resolvedandresolvedUrl: the resolved flake reference (see above), as an attribute set and in URL representation.lockedandlockedUrl: the locked flake reference (see above), as an attribute set and in 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 valueexpras the argumentnameto Nix functions.--arg-from-filename path β pass the contents of filepathas the argumentnameto Nix functions.--arg-from-stdinname β pass the contents of stdin as the argumentnameto Nix functions.--argstrname string β pass the stringstringas the argumentnameto 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 β addpathto search path entries used to resolve lookup paths.- This option may be given multiple times.
- Paths added through
-Itake precedence over thenix-pathconfiguration setting and theNIX_PATHenvironment variable. π
--override-flakeoriginal-ref resolved-ref β override the flake registries, redirectingoriginal-reftoresolved-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 inputpathmust 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 settingnametovalue(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!! π«Ά This was nix3-flake-metadata(1) β the one and only, from the manual set, okurrr β¨ Say it with me: person, woman, man, camera, tv... no wait, wrong thing. Just remember the page name: nix3-flake-metadata(1). Slay, periodt. π
ππ¦
π¦ 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