> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flumeirc.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration Overview

> Where Flume stores its configuration and how it's structured

## File Locations

### Config (`~/.config/flume/`)

| Path          | Purpose                                                  |
| ------------- | -------------------------------------------------------- |
| `config.toml` | Main settings (UI, keybindings, notifications, LLM, DCC) |
| `irc.toml`    | Network/server definitions                               |

### Data (`~/.local/share/flume/`)

| Path                       | Purpose                          |
| -------------------------- | -------------------------------- |
| `themes/`                  | Theme files (TOML)               |
| `layouts/`                 | Saved split layout profiles      |
| `scripts/lua/autoload/`    | Lua scripts loaded on startup    |
| `scripts/python/autoload/` | Python scripts loaded on startup |
| `scripts/available/`       | Installed but not auto-loaded    |
| `scripts/generated/`       | Created by `/generate script`    |
| `vault.toml`               | Encrypted secrets                |
| `logs/`                    | IRC message logs                 |
| `sts_policies.toml`        | STS policy cache                 |

Flume uses XDG directories: `$XDG_CONFIG_HOME/flume` and `$XDG_DATA_HOME/flume`.

## Example config.toml

```toml theme={null}
[general]
default_nick = "mynick"
alt_nicks = ["mynick_", "mynick__"]
realname = "My Name"
quit_message = "Flume IRC"
timestamp_format = "%H:%M:%S"
scrollback_lines = 10000

[ui]
theme = "solarized-dark"
show_nick_list = true
show_join_part = true
show_hostmask_on_join = true

[ui.keybindings]
mode = "emacs"

[logging]
enabled = true
format = "plain"
rotate = "daily"

[notifications]
highlight_bell = true
highlight_words = ["mynick"]
notify_private = true
notify_highlight = true

[ctcp]
version_reply = "Flume 1.2.5"
respond_to_version = true
respond_to_ping = true

[llm]
provider = "anthropic"
model = "claude-sonnet-4-20250514"

[dcc]
enabled = false
download_directory = "~/Downloads/flume"
passive = true

[combos]
alert = "%B%Cred,white"
info = "%Ccyan"

[combos.rainbow]
type = "cycle"
colors = ["red", "orange", "yellow", "green", "cyan", "blue", "purple", "pink"]
```

All fields have sensible defaults — an empty config file works fine.

## Changing Settings at Runtime

Use `/set` to view and change settings without editing the file:

```
/set ui.theme catppuccin-glass
/set ui.show_join_part false
/set notifications.highlight_bell false
```

Changes are saved to `config.toml` immediately. See [Settings Command](/commands/settings) for details.
