Skip to content

Config reference ​

Every config file lives at ~/.config/lys-shell/config.yaml. 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 the YAML extension for VSCode or yaml-language-server for Neovim, Helix, or Zed. The schema is written to ~/.config/lys-shell/schema.json on startup, and the config file lys-shell creates starts with the # yaml-language-server: $schema=./schema.json modeline that points the server at it.

Top-level sections ​

SectionWhat it controls
animationsEnter/exit and change animations for transient surfaces.
barBar chrome: per-monitor layout, spacing, colors, and button styling.
clipboardClipboard history settings.
dropdownsPer-dropdown foldout panel sizing.
generalShell-wide settings that don't belong to any specific module.
launcherApplication launcher / dmenu (rofi replacement).
loginLogin screen: the greeter and the lock screen, one screen in two modes.
mail-accountOne mail account in the modules.mail per-account breakdown.
osdOn-screen display overlay for transient events like volume and brightness.
portalDesktop-portal policy for sandboxed apps.
share-pickerScreen-share picker shown by xdg-desktop-portal when an app requests a
stylingTheme, palette, and rounding tokens applied shell-wide. Changes recompile the stylesheet.
toast-presetA reusable toast preset, triggerable by id with lys-shell toast --preset <id>.
wallpaperWallpaper rendering, cycling, and per-monitor overrides.

Bar modules ​

Modules appear inside the bar.layout list. Each row links to the full reference.

ModulePurpose
batteryBattery level, charging state, and a dropdown with power-profile controls.
bitwardenBitwarden vault: the bar shows whether it is locked; the dropdown logs
bluetoothBluetooth connection status with a dropdown for pairing and managing devices.
brightnessBacklight control bar module.
cavaAudio frequency bars visualising the output stream.
clockClock module configuration.
cpuCPU usage, frequency, and temperature.
customUser-defined module that runs a shell command and renders the output in the bar.
dashboardQuick-access button with a distro icon; opens the dashboard dropdown.
dropdown-dashboard-user-sessionSettings for user session the in dashboard
hyprland-workspacesHyprland workspace indicators with click-to-switch.
idle-inhibitToggle that prevents screen dim, lock, and suspend while active.
keybind-modeCurrent keybind-mode indicator for modal compositors.
keyboard-inputActive keyboard layout indicator.
lys-wm-workspaceslys-wm workspace indicators with click-to-switch.
mailUnread mail count, backed by a notmuch query.
mango-workspacesMangoWM tag switcher module configuration.
mediaNow-playing title and playback controls for the active MPRIS player.
microphoneMicrophone input level and mute toggle.
netstatNetwork traffic counters (up/down rates).
networkNetwork connection status with a dropdown for switching connections.
nightlightNight light: warms the display colours, by hand or on a dawn/dusk schedule.
niri-workspacesNiri workspace indicators with click-to-switch.
notificationsNotification center: icon in the bar, dropdown with history, DND toggle.
powerShutdown, reboot, and logout menu.
power-profilesPower profile indicator and switcher (power-profiles-daemon).
ramMemory and swap usage.
recorderNative screen recorder encoding on the GPU's video encoder.
screenshotScreenshot capture button.
separatorA vertical rule between bar modules.
storageDisk usage for a mount point.
sway-workspacessway workspace indicators with click-to-switch.
systraySystem tray icons via the StatusNotifierItem protocol.
treemantreeman worktree health across all registered repos, in a dropdown.
volumeOutput volume control with a dropdown for device and app volumes.
weatherCurrent conditions with hourly and daily forecasts in a dropdown.
window-titleActive window title with optional app-icon prefix.
world-clockMultiple timezones shown together in a dropdown.

Shared types ​

Every named type referenced across the config (Color, ClickAction, Size, and others) is documented on the types page.

Released under the MIT License.