Summary
Add support for user-editable configuration files that sync into the app's runtime config — e.g. a dotfile (~/.obsidianirc/config.json or similar), a JSON/YAML config file, or any generic mechanism so users can version-control and edit their IRC client config outside the app UI.
Motivation
Power users want to manage their IRC configuration as text files — versioned in dotfiles repos, editable in $EDITOR, scriptable, and portable across machines. Right now if config is only editable through the in-app UI (or not externally accessible at all), users can't:
- Back up or sync config via git/stow/dotbot/etc.
- Script config generation or template it
- Share partial config snippets easily
- Migrate machines without manual re-entry
Proposed scope
- Config file path — e.g.
~/.obsidianirc/config.json or ~/.config/obsidianirc/config.yaml (XDG-compliant)
- Format — JSON (or YAML) covering: servers, channels, identities, keybinds, theme prefs, etc.
- Sync behavior — app reads file on startup (and optionally watches for changes / has a reload command)
- Write-back (optional) — option to persist current UI state back to the file
- No UI breakage — file-based config coexists with existing in-app settings; file takes precedence or merges
Example shape (JSON)
{
"servers": {
"Libera": {
"host": "irc.libera.chat",
"port": 6697,
"tls": true,
"nick": "mynick",
"channels": ["#lobby", "#yourproject"]
}
},
"identity": {
"realname": "My Name",
"user": "myuser"
},
"appearance": {
"theme": "dark",
"fontSize": 14
}
}
Additional context
Generic use case — not tied to any particular OS or package manager. Should work on Linux, macOS, Windows, etc. equally well.
Summary
Add support for user-editable configuration files that sync into the app's runtime config — e.g. a dotfile (
~/.obsidianirc/config.jsonor similar), a JSON/YAML config file, or any generic mechanism so users can version-control and edit their IRC client config outside the app UI.Motivation
Power users want to manage their IRC configuration as text files — versioned in dotfiles repos, editable in
$EDITOR, scriptable, and portable across machines. Right now if config is only editable through the in-app UI (or not externally accessible at all), users can't:Proposed scope
~/.obsidianirc/config.jsonor~/.config/obsidianirc/config.yaml(XDG-compliant)Example shape (JSON)
{ "servers": { "Libera": { "host": "irc.libera.chat", "port": 6697, "tls": true, "nick": "mynick", "channels": ["#lobby", "#yourproject"] } }, "identity": { "realname": "My Name", "user": "myuser" }, "appearance": { "theme": "dark", "fontSize": 14 } }Additional context
Generic use case — not tied to any particular OS or package manager. Should work on Linux, macOS, Windows, etc. equally well.