File schemas

Every JSON file omaflake writes names its JSON Schema (draft 2020-12) in $schema – what the file is and its version:

{
  "$schema": "https://omaflake.dev/schema/image/v1.json",
  "kind": "nixos",
  "system": "aarch64-linux"
}

Each type counts its versions on its own. omaflake brings an older file up to date when it reads it, refuses a newer one, and never removes a published version from this site. Editors use the URL to check and complete the files.

Type File Schema
image image.json in an image package v1
instance instance.json in a VM package v1
settings ~/.omaflake/config.json v1
installed <data>/recipes/.installed.json v1
macos-vm config.json of a macOS VM folder v1
manifest manifest.json of an exported package v1
catalog catalog.json of a recipe source v2
recipe recipe.toml of a recipe (TOML, checked as data) v1

The schemas live in the repository’s docs/schema/; how omaflake reads and migrates the files is in the design, §5.1.