Warning: This program is experimental and its
interface is subject to change.
nix flake info - show flake metadata
nix flake info [option…] flake-url
- •
- Show what nixpkgs resolves to:
# nix flake metadata nixpkgs
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/769s05vjydmc2lcf6b02az28wsa9ixh1-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 dwarffs in 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/hang3792qwdmm2n0d9nsrs5n6bsws6kv-source",
"resolved": {
"owner": "edolstra",
"repo": "dwarffs",
"type": "github"
},
"resolvedUrl": "github:edolstra/dwarffs",
"revision": "d181d714fd36eb06f4992a1997cd5601e26db8f5",
"url": "github:edolstra/dwarffs/d181d714fd36eb06f4992a1997cd5601e26db8f5"
}
This command shows information about the flake specified by the
flake reference flake-url. It resolves the flake reference using the
flake registry (./nix3-registry.md), fetches it, and prints
some meta data. This 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
description field in flake.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. Note that 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:
- original and originalUrl: The flake reference specified by the user
(flake-url) in attribute set and URL representation.
- resolved and resolvedUrl: The resolved flake reference (see above) in
attribute set and URL representation.
- locked and lockedUrl: 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 of flake.lock.
- •
- --json
Produce output in JSON format, suitable for consumption by another
program.
Common evaluation options:
- --arg name expr
Pass the value expr as the argument name to Nix
functions.
- --argstr name string
Pass the string string as the argument name to Nix
functions.
- --eval-store store-url
The Nix store to use for evaluations.
- --impure
Allow access to mutable paths and repositories.
- --include / -I path
Add path to the list of locations used to look up <...> file
names.
- --override-flake original-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-from flake-url
Use the inputs of the specified flake as registry entries.
- --no-registries
Don’t allow lookups in the flake registries. This option is
deprecated; use --no-use-registries.
- --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.
- --override-input input-path flake-url
Override a specific flake input (e.g. dwarffs/nixpkgs). This implies
--no-write-lock-file.
- --recreate-lock-file
Recreate the flake’s lock file from scratch.
- --update-input input-path
Update a specific flake input (ignoring its previous entry in the lock
file).