1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 22:11:15 +02:00
nix/doc/manual/src/protocols/json/store-object-info.md
Valentin Gagarin a2fed6db9e
manual: Contributing -> Development, Hacking -> Building (#9014)
* manual: Contributing -> Development, Hacking -> Building

what's currently called "hacking" are really instructions for setting up
a development environment and compiling from source. we have
a contribution guide in the repo (which rightly focuses on GitHub
workflows), and the material in the manual is more about working
on the code itself.

since we'd otherwise have three headings that amount to "Building Nix",
this change also moves the "classic Nix" instructions to the top.

we may want to reorganise this in the future, and bring
contributor-oriented information closer to the code, but for now let's
stick to more accurate names to ease navigation.
2024-07-25 02:53:06 +00:00

2.9 KiB

Store object info JSON format

Warning

This JSON format is currently experimental and subject to change.

Info about a [store object].

Impure fields

These are not intrinsic properties of the store object. In other words, the same store object residing in different store could have different values for these properties.

  • deriver:

    If known, the path to the derivation from which this store object was produced. Otherwise null.

  • registrationTime (optional):

    If known, when this derivation was added to the store. Otherwise null.

  • ultimate:

    Whether this store object is trusted because we built it ourselves, rather than substituted a build product from elsewhere.

  • signatures:

    Signatures claiming that this store object is what it claims to be. Not relevant for content-addressed store objects, but useful for input-addressed store objects.

.narinfo extra fields

This meta data is specific to the "binary cache" family of Nix store types. This information is not intrinsic to the store object, but about how it is stored.

  • url:

    Where to download a compressed archive of the file system objects of this store object.

  • compression:

    The compression format that the archive is in.

  • fileHash:

    A digest for the compressed archive itself, as opposed to the data contained within.

  • fileSize:

    The size of the compressed archive itself.

Computed closure fields

These fields are not stored at all, but computed by traversing the other fields across all the store objects in a closure.

  • closureSize:

    The total size of the compressed archive itself for this object, and the compressed archive of every object in this object's closure.

.narinfo extra fields

  • closureSize:

    The total size of this store object and every other object in its closure.