Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Project manifest (aves_manifest.toml)

The project manifest declares what to build: which board the project targets, which packages to pull in, and which versions to pin.

Example

[nixpkgs]
channel = "nixos-25.05"

[project]
name  = "my-device"
board = "feather_nrf52840_express"

[packages.nrf52-adafruit-uf2-bootloader]
version = "0.10.0"

Sections

[nixpkgs]

Same shape as in aves.toml. Anything set here overrides the workspace pin for this project.

[project]

KeyTypeRequiredDescription
namestringyesHuman-readable project name.
boardstringyesBoard key — see Boards.

The board field is resolved against project-local boards/ first, then the global registry at ~/.local/share/aves/boards/.

[packages.<name>]

One table per package the project depends on. The table key is the package name (matching the name field in the package’s own package.toml).

KeyTypeRequiredDescription
versionstringyesPinned version. Must exactly match a release.

Per-package overrides (variables passed into the build, source revisions, etc.) are on the roadmap.