Environment
| Variable | Purpose | Default |
|---|---|---|
DOMA_HOME |
doma's config + state directory. | ~/.config/doma |
DOMA_DB |
Path to the SQLite database. | <DOMA_HOME>/doma.db |
DOMA_CONFIG |
Path to config.yml. |
<DOMA_HOME>/config.yml |
NO_COLOR |
If set (any value), disables ANSI colors. Honored by default; --color overrides. |
unset |
COLUMNS |
Terminal width hint. Used by the picker for layout. | autodetected |
SHELL |
Read by setup install to pick the right rc file. |
from process env |
Each path-shaped variable is ~-expanded before use. Pre-existing tilde is fine:
DOMA_HOME=~/scratch-doma doma list # works as expected
Misconfiguration → friendly errors
Pointing an env var at the wrong kind of thing surfaces as a clean ConfigError, not an internal trace:
$ DOMA_HOME=/etc/passwd doma list
✗ DOMA_HOME points at a file, not a directory: /etc/passwd
$ DOMA_DB=/var doma list
✗ DOMA_DB points at a directory, not a file: /var
Both exit 5 (the ConfigError exit code) so scripts can branch on it.