Environment Variables
Compositor Detection
| Variable | Checked By | Purpose |
|---|---|---|
HYPRLAND_INSTANCE_SIGNATURE | services/compositor/hyprland.rs | Detects Hyprland compositor |
NIRI_SOCKET | services/compositor/niri.rs | Detects Niri compositor |
ashell checks these in order. The first one found determines the compositor backend.
Config Path
| Variable | Purpose |
|---|---|
XDG_CONFIG_HOME | Base 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
| Variable | Purpose |
|---|---|
WGPU_BACKEND | Force 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
| Variable | Purpose |
|---|---|
WAYLAND_DISPLAY | The Wayland display socket. Must be set for ashell to run |
LD_LIBRARY_PATH | May need to include paths to Wayland/Vulkan/Mesa libraries (handled automatically by Nix wrapper) |