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]
| Key | Type | Required | Description |
|---|---|---|---|
name | string | yes | Human-readable project name. |
board | string | yes | Board 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).
| Key | Type | Required | Description |
|---|---|---|---|
version | string | yes | Pinned version. Must exactly match a release. |
Per-package overrides (variables passed into the build, source revisions, etc.) are on the roadmap.