Examples
You can find some working denver environments under
examples/
in the repository. Each has its own README
explaining what it does, why it exists and what it is meant to teach. They
are not illustrative snippets — every examples/*/denver.yml has its
--show-config-full output pinned as a golden-file fixture under tests/golden/,
so an example that drifted out of sync with the code fails the build.
Overview
Example |
Stages |
What it is for |
|---|---|---|
3 × |
The whole model at minimum size. Also the |
|
|
A virtualenv and nothing else — proof that no container or toolchain is required |
|
|
A nix flake’s |
|
|
A cross-compilation toolchain without Docker, and without Conan. |
|
|
The container layer on its own — a wrapper stage, and a |
|
|
Five providers in one small env — run end to end and built from scratch in denver in 30 minutes. Also: the same job (a pinned prebuilt binary on |
|
(base — not runnable) |
The shared base: |
|
|
A full Zephyr RTOS setup — the extreme case, and what |
|
|
Builds this documentation with Sphinx — denver used on itself |
Running the bundled examples
./src/denver.py examples/simple-env # start it (opens a shell)
./src/denver.py examples/simple-env -- echo hi # run one command in it instead
./src/denver.py examples/simple-env --show-config # print the resulting config
--show-config is the fastest way to understand an example env you didn’t write: it
resolves the whole import: chain and prints what denver actually ended up
with. It needs no toolchain, no network and no Docker, so it works for every
env.
[!NOTE] Next: the reference half of this documentation — the
denvercommand for every flag, the fulldenver.tomlschema for every key, and one page per provider for the keys a given stage type accepts.