nsx.yml
The app manifest. Names the app, the boards it supports, the toolchain and the modules it depends on directly.
Fields
| Field | Type | Default | Meaning |
|---|---|---|---|
schema_version | int (2), required | Manifest schema version. NSX refuses a manifest it does not recognize. | |
project.name | string, required | App name. Used for the CMake project and the default build directory. | |
targets.default | string | Board built when --board is not given. | |
targets.supported | list of string, or map of board to overrides | Boards this app may be built for. The map form accepts per-board soc, profile and toolchain overrides. | |
target.board | string | Single-board shorthand, superseded by targets. | |
toolchain | string | arm-none-eabi-gcc | Default toolchain for every board unless a board overrides it. |
channel | string | Registry channel the app tracks. | |
modules | list of module entries | Direct dependencies. A string is shorthand for a map with only name set. | |
modules[].name | string, required | Module name as it appears in the registry. | |
modules[].project | string | Registry project that provides the module, when it is ambiguous. | |
modules[].revision | string | Tag, branch or commit constraint for this module. | |
modules[].boards | list of string | Restrict the dependency to a subset of targets.supported. | |
modules[].local | bool | Mirror the module from an external path on every sync. | |
modules[].source | map | Exactly one of path (external directory), vendored (true, committed in this repo) or git (URL, with optional rev). | |
module_registry.projects | map | App-local project overrides keyed by project name, each with url, revision, path or local_path. | |
module_registry.modules | map | App-local module overrides keyed by module name, each with project, revision and optional metadata. | |
tooling | map | Tool settings passed through to the generated build. Keys are preserved as written. | |
features | map | Feature flags passed through to the generated build. | |
profile | string | Starter profile the app was created from. | |
profile_status | string | Maturity recorded for the starter profile. | |
baseline | string (none) | Set to none to skip the board's baseline module set. |
Example
schema_version: 2project: name: hello_worldtargets: default: apollo510_evb supported: - apollo510_evb - apollo4p_blue_kxr_evbtoolchain: arm-none-eabi-gccchannel: stablefeatures: {}How it is read
NSX reads nsx.yml through neuralspotx.project_config.load_project_config, which raises
NSXConfigError when the document is invalid. The supported
schema_version is 2.
Unknown keys: Kept. Unrecognized top-level keys are preserved rather than rejected, so a newer NSX can read a manifest an older one wrote.