Reference

The reference pages come from the module options and the doc-comments of the code, thus they agree with the code of each build.

  • Contract reference -- each contract type: its use, its providers, an example, and the options of its request and its result.
  • Flake attributes -- the attributes the flake exposes (packages, checks, NixOS configurations, apps), generated from the flake on every build.
  • Operator configuration -- the operator-facing configuration schema, the same tree that drives the frontend JSON schema.
  • Hosting resources -- the concrete request options each resource module declares (e.g. garage's buckets and access keys).
  • Data model -- the typed data model in core/lib/data-model.nix and the resources it builds on. Covers the request/policy resource pattern and the data model's own options.
  • Utility functions -- the helper functions under core/lib and core/effects, one section per file, generated from their doc-comments. Covers every function exercised by the project's nix-unit tests.

For end-to-end examples of how the data model is exercised -- defining a resource, requesting it from a component, and resolving it through an environment -- see core/lib/data-model-test.nix.