openusage-cli looks for config.yaml at:
- XDG config directory (typically
~/.config/openusage-cli/config.yaml)
Missing config file is valid: startup continues with CLI/config/default values.
Print the default template:
openusage-cli show-default-configConfiguration sources are merged in strict order:
- CLI flags
config.yaml- built-in defaults
For operational behavior of query and run-daemon (including standalone vs systemd user service), see daemon-modes.md.
query-specific control:
use_daemon: true|falseinconfig.yamlcontrols whetherqueryfirst tries daemon discovery.- CLI
--use-daemonoverrides this value when provided.
Proxy settings apply to outgoing plugin HTTP requests.
Set in config.yaml:
proxy:
enabled: true
url: http://127.0.0.1:7890Notes:
proxy.enabled: trueis required forproxy.urlto be used.proxy.urlcan behttp://...,https://..., orsocks5h://....- If config proxy is not enabled/valid, standard proxy environment variables are used:
HTTPS_PROXY,https_proxy,HTTP_PROXY,http_proxy. - Local daemon traffic (
localhost,127.0.0.1,::1) is excluded from proxying.
If --plugins-dir is not set, default discovery order is:
When running from source (target/{debug,release}):
<repo_root>/vendor/openusage/plugins<repo_root>/plugins<executable_dir>/vendor/openusage/plugins<executable_dir>/plugins<prefix>/share/openusage-cli/openusage-plugins/usr/share/openusage-cli/openusage-plugins
When running as installed Linux binary (FHS layout):
<prefix>/share/openusage-cli/openusage-plugins/usr/share/openusage-cli/openusage-plugins
The daemon publishes one per-user file for local client auto-discovery:
daemon-endpoint(example content:http://127.0.0.1:6737)
Directory resolution:
ProjectDirs::runtime_dir()/runtime- fallback:
ProjectDirs::data_local_dir()/runtime - fallback:
./.openusage-cli/runtime
Behavior:
- Written atomically after HTTP bind succeeds
- Removed on graceful shutdown
- Normalizes wildcard bind (
0.0.0.0/::) to localhost for client endpoint publication - Disabled when
--existing-instance=ignore