Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Environment Variables

Compositor Detection

VariableChecked ByPurpose
HYPRLAND_INSTANCE_SIGNATUREservices/compositor/hyprland.rsDetects Hyprland compositor
NIRI_SOCKETservices/compositor/niri.rsDetects Niri compositor

ashell checks these in order. The first one found determines the compositor backend.

Config Path

VariablePurpose
XDG_CONFIG_HOMEBase directory for config. Default config path is $XDG_CONFIG_HOME/ashell/config.toml (or ~/.config/ashell/config.toml if unset)

The config path can also be overridden with the --config-path CLI flag, which takes precedence over environment variables.

Graphics

VariablePurpose
WGPU_BACKENDForce a specific GPU backend. Set to gl for OpenGL (useful for NVIDIA compatibility)

Logging

ashell uses flexi_logger which reads the log level from the config file’s logging.level field. The format follows env_logger syntax:

# In config.toml
[logging]
level = "debug"
# level = "warn,ashell::services=debug"
# level = "info,ashell::modules::settings=trace"

logging.target selects the destination ("file", the default, or "stdout" / "stderr") and logging.directory overrides the log directory used by the "file" target.

Wayland

VariablePurpose
WAYLAND_DISPLAYThe Wayland display socket. Must be set for ashell to run
LD_LIBRARY_PATHMay need to include paths to Wayland/Vulkan/Mesa libraries (handled automatically by Nix wrapper)