# Local Overlay (`config/config.local.yaml`) `config.local.yaml` is a gitignored, deep-merged overlay on top of the tracked `config/config.yaml`. Anything placed in the overlay takes precedence when `load_config()` merges the two files — the overlay only needs the keys you want to change; everything else falls through to the base. ## What belongs in the overlay Values that are specific to your machine or deployment and would turn `config/config.yaml` dirty if tracked: - `local_energy.enabled` + `local_energy.tariff_usd_per_kwh` — metering per-machine, tariff often differs between sites. - `classifier.base_url` / `verification.base_url` — Ollama may live on a different host or VPN address on each box. - Any tuning knob you change between machines (`num_ctx` overrides, per-host profile tweaks). ## What does NOT belong here **Secrets.** Secrets (`NEURALWATT_API_KEY`, etc.) stay in `.env`. The overlay is YAML loaded as configuration, not as a credential store. ## A dirty `config/config.yaml` is a smell If your working copy of `config/config.yaml` is modified, someone edited the shared defaults by hand. Move those edits into a new entry in `config.local.yaml` — the base file should stay clean enough to commit and share. See `config/config.local.yaml.example` for concrete key examples.