Architecture concepts
These pages explain the structures behind the task guides. Read the topic relevant to a design decision or a behavior you need to understand.
Application generation
Section titled “Application generation”NSX writes CMake files and an application scaffold. Your application sources remain editable; generated support files may be replaced by later commands. App generation flow explains what is written at each stage and where ownership changes.
Dependency resolution
Section titled “Dependency resolution”nsx.yml declares the application’s dependencies. nsx.lock records resolved sources,
revisions and hashes for each target. The dependency model
explains required and optional dependencies, resolution order and overrides.
Module contracts
Section titled “Module contracts”Modules describe their dependencies and compatibility in nsx-module.yaml and expose
CMake targets. The module model explains
module types, interfaces and backend integration.
Configuration and metadata
Section titled “Configuration and metadata”Applications, modules, boards and locks have separate schemas. The metadata model explains how these documents relate, which ones to edit and how overrides take precedence.
Multiple targets
Section titled “Multiple targets”An application can declare several boards, each with its own build directory and resolved dependency set. Multi-target and portability covers shared sources, target-specific overlays and the limits of portability.
Reference material
Section titled “Reference material”Use the configuration reference for field definitions, the CLI reference for command options and the module catalog for packaged capabilities.