CONFIG

Configuration

Configure elio by creating a config.toml file and overriding only what you need.

CONFIG FILE

Where config.toml lives

Create config.toml in your config directory. You only need to include the settings you want to change.

Linux / BSD ~/.config/elio/config.toml or $XDG_CONFIG_HOME/elio/config.toml
macOS ~/Library/Application Support/elio/config.toml
Windows %APPDATA%\elio\config.toml

CONFIG.TOML

What goes in config.toml

Sections

  • [ui] Startup options like top bar, hidden files, grid view, and grid zoom.
  • [places] Pinned sidebar entries and whether the Devices section stays visible.
  • [layout.panes] Relative pane widths/heights for Places, Files, and Preview.
  • [keys] Browser action bindings: single keys, lists, named keys, modifiers, and unbound actions.

EXAMPLES

Config examples

Start with these snippets and override only what you need. For every option and default, see examples/config.toml.

UI defaults

[ui]
show_top_bar = true  # show top bar (default hidden)
show_hidden = true   # show dotfiles by default
start_in_grid = true # start in grid view
grid_zoom = 1        # grid density, 0–2

These are startup defaults; v . + - still change view mode, hidden files, and grid zoom while elio is running.

Places entries and icons

[places]
show_devices = true # show Devices below Places
entries = [        # replaces the pinned Places list
  "home",         # built-in Place, default icon
  { builtin = "downloads", icon = "" },
  { title = "Projects", path = "~/workspace", icon = "󰚝" },
  "trash",
]

Use built-in ids like downloads, not display names like Downloads. Custom paths must be absolute or start with ~/.

home desktop documents downloads pictures music videos root trash

Pane layout

[layout.panes]
places = 10  # Places width; 0 hides it
files = 45   # Files width; must be > 0
preview = 45 # Preview width; 0 hides it

Values are relative weights, not fixed columns. On tight terminals, Preview can stack below Files when there is enough height.

Key bindings

[keys]
open_with = ["O", "w"]                  # list = multiple keys
rename = ["r", "F2"]                    # named keys work too
search_files = "ctrl+f"                 # ctrl/alt/shift modifiers
nav_right = []                          # [] removes a default binding
open_or_enter = ["enter", "l", "right"] # reuse keys you freed
delete_permanently = "D"                # uppercase = shifted letter

Actions you omit keep their defaults. Setting an action replaces its full default list.

Invalid bindings, conflicts, and unknown action names print warnings.

Full annotated config

Your config.toml only needs overrides. Use the annotated example for every supported option, key action, and default binding.

View examples/config.toml