Config reference
Every config file lives at ~/.config/wayle/config.toml. Each page below covers one section. Every field has a default; start with an empty file and add only what you want to change.
TIP
Editor intellisense via JSON Schema. Install Tombi for VSCode or the tombi LSP for Neovim, Helix, or Zed. The schema is written to ~/.config/wayle/schema.json on startup.
Top-level sections
| Section | What it controls |
|---|---|
bar | Bar chrome: per-monitor layout, spacing, colors, and button styling. |
general | Shell-wide settings that don't belong to any specific module. |
osd | On-screen display overlay for transient events like volume and brightness. |
styling | Theme, palette, and rounding tokens applied shell-wide. Changes recompile the stylesheet. |
wallpaper | Wallpaper rendering, cycling, and per-monitor overrides. |
Bar modules
Modules appear inside [[bar.layout]] arrays. Each row links to the full reference.
| Module | Purpose |
|---|---|
battery | Battery level, charging state, and a dropdown with power-profile controls. |
bluetooth | Bluetooth connection status with a dropdown for pairing and managing devices. |
cava | Audio frequency bars visualising the output stream. |
clock | Time display with a calendar dropdown. |
cpu | CPU usage, frequency, and temperature. |
custom | User-defined module that runs a shell command and renders the output in the bar. |
dashboard | Quick-access button with a distro icon; opens the dashboard dropdown. |
hyprland-workspaces | Hyprland workspace indicators with click-to-switch. |
hyprsunset | Toggle for Hyprland's blue-light filter. |
idle-inhibit | Toggle that prevents screen dim, lock, and suspend while active. |
keybind-mode | Current keybind-mode indicator for modal compositors. |
keyboard-input | Active keyboard layout indicator. |
media | Now-playing title and playback controls for the active MPRIS player. |
microphone | Microphone input level and mute toggle. |
netstat | Network traffic counters (up/down rates). |
network | Network connection status with a dropdown for switching connections. |
notification | Notification center: icon in the bar, dropdown with history, DND toggle. |
power | Shutdown, reboot, and logout menu. |
ram | Memory and swap usage. |
separator | A vertical rule between bar modules. |
storage | Disk usage for a mount point. |
systray | System tray icons via the StatusNotifierItem protocol. |
volume | Output volume control with a dropdown for device and app volumes. |
weather | Current conditions with hourly and daily forecasts in a dropdown. |
window-title | Active window title with optional app-icon prefix. |
world-clock | Multiple timezones shown together in a dropdown. |
Shared types
Every named type referenced across the config (Color, ClickAction, Spacing, and others) is documented on the types page.