contents

Environment variables#

Set by carrot#

VariableValue
WAYLAND_DISPLAYthe socket name, wayland-N
XDG_CURRENT_DESKTOPcarrot
XDG_SESSION_TYPEwayland
LIBEI_SOCKETeis-0, the input-injection socket
DISPLAY:100..:199, set on spawned children once XWayland is up

WAYLAND_DISPLAY, XDG_CURRENT_DESKTOP, and DISPLAY are also pushed to D-Bus activation and the systemd user manager, so portals and services started by the bus land in the session.

Read by carrot#

VariableEffect
XDG_RUNTIME_DIRwhere every socket lives (wayland, IPC, eis)
XDG_CONFIG_HOME, HOMEconfig directory resolution
XDG_SESSION_IDwhich logind session to claim; falls back to by-PID lookup
XKB_DEFAULT_LAYOUT, XKB_DEFAULT_VARIANT, XKB_DEFAULT_RULES, XKB_DEFAULT_MODEL, XKB_DEFAULT_OPTIONSkeymap selection; all empty means the embedded US keymap
XKB_CONFIG_ROOTwhere xkeyboard-config lives, for non-default layouts
VK_ICD_FILENAMESextra Vulkan ICD manifests to consider first
CARROT_LIBC, CARROT_LIBMexplicit paths to taproot's libc.so.6 / libm.so.6 for the GPU driver
DBUS_SESSION_BUS_ADDRESS, DBUS_SYSTEM_BUS_ADDRESSbus endpoints; session falls back to $XDG_RUNTIME_DIR/bus
PIPEWIRE_REMOTE, PIPEWIRE_RUNTIME_DIRwhich PipeWire daemon screencasts connect to
XCURSOR_THEME, XCURSOR_SIZE, XCURSOR_PATH, XDG_DATA_DIRScursor theme resolution
XAUTHORITYX authority file, probe tooling only