1 Configuration
Vincent S. edited this page 2026-06-28 01:08:01 +02:00

Configuration

File

~/.config/alfred/config.toml

Absence is non-fatal — defaults are used. Config structs use #[serde(deny_unknown_fields)] and a real Config::validate() pass that distinguishes errors from warnings. When adding a config field, keep the struct and validate() in sync.

Modules without an optional Cargo dependency are toggled here at runtime:

[modules.storage]
enabled = false

Inspect config without a running daemon:

alfred config-check     # validate the on-disk config
alfred automation       # show parsed automation scripts
alfred list             # modules + actions (static metadata)

automation / config-check / list read the on-disk config directly, not what the running daemon loaded.

Environment variables

Variable Effect
ALFRED_CONFIG override the config file path
XDG_CONFIG_HOME / HOME config discovery
XDG_RUNTIME_DIR socket path ($XDG_RUNTIME_DIR/alfred.sock)
XDG_STATE_HOME / HOME journal/automation SQLite DB location
ALFRED_LOG tracing filter — daemon (serve) only

Logging

Logging (tracing) is initialised only for alfred serve. Client subcommands keep stdout clean because they run as waybar children; setting ALFRED_LOG for a client command has no effect.