Configuration loading
Directory resolution
User-wide paths are resolved using the directories crate, which handles XDG Base Directory conventions automatically. If XDG environment variables are set, they are respected; otherwise paths fall back to ~/.symposium/.
See the configuration reference for the full resolution table.
Config loading
The user config (~/.symposium/config.toml) is loaded once at startup into the Symposium struct. The file is deserialized into RawConfig, then validated into the runtime Config used by the rest of the code. If the file is missing or empty, defaults are used. If parsing fails, a warning is printed and defaults are used.