Skip to content

Configuration Overview

Raffi’s configuration is stored in:

$HOME/.config/raffi/raffi.yaml

You can override this location using the -c or --configfile flag:

Terminal window
raffi --configfile /path/to/custom/config.yaml

The configuration file is a YAML file with three main sections:

  1. General settings - UI preferences, theme, fonts, window dimensions
  2. Entries - Application launcher entries
  3. Addons - Optional features like script filters, web searches, text snippets
launchers:
firefox:
binary: firefox
args: [--marionette]
icon: firefox
description: Firefox browser with marionette enabled
version: 1
# General settings (optional)
general:
ui_type: native
theme: dark
font_size: 20
window_width: 800
window_height: 600
# Launcher entries
launchers:
firefox:
binary: firefox
description: "Firefox"
icon: firefox
args: ["--marionette"]
terminal:
binary: kitty
description: "Terminal"
icon: terminal
# Addons (optional)
addons:
script_filters:
- name: "Timezones"
keyword: "tz"
command: "batz"
args: ["-j"]
web_searches:
- name: "Google"
keyword: "g"
url: "https://google.com/search?q={query}"

Most configuration fields support path expansion:

  • ~/ expands to your home directory
  • ${VAR} expands to environment variable values
  • Unset variables expand to empty strings
launchers:
myapp:
binary: ${HOME}/bin/myapp
args: ["${XDG_DATA_HOME}/files", "~/Documents"]
icon: ~/icons/myapp.png
ifexist: ~/bin/myapp