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.