Config
Config
Section titled “Config”If you want to configure rim as a user, start with the user guide instead:
Configuration is owned by rim-application, not by rim-app and not by the domain.
The active config files are:
keymaps.tomlcommands.tomleditor.toml
They live under rim_paths::user_config_root().
On Unix-like systems that is typically:
$XDG_CONFIG_HOME/rim- or
~/.config/rim
Load Flow
Section titled “Load Flow”flowchart TD Start["App startup or reload"] --> Reset["reset_config_state_to_defaults()"] Reset --> Editor["load editor.toml"] Editor --> Keymaps["load keymaps.toml"] Keymaps --> Commands["load commands.toml"] Commands --> Apply["apply to WorkbenchState / CommandRegistry"]Missing files are not created at startup. If a config file is absent, rim keeps the embedded preset defaults for that slice.
Ownership
Section titled “Ownership”- file paths and parsing policy:
rim-application::config - resulting command registry and workbench settings:
WorkbenchState - editor core: unaffected except through later actions
Current Editor Settings
Section titled “Current Editor Settings”editor.toml currently controls:
leader_keycursor_scroll_thresholdkey_hints_widthkey_hints_max_height
Anti-Patterns
Section titled “Anti-Patterns”- putting config-derived registry state into
rim-domain - having adapters parse config on their own
- duplicating config path logic outside
rim-application - adding startup-time config file creation or migration side effects back into the runtime path