Desktop Environment Leaf

cells/desktop/environment.nix sets user session variables for the Wayland desktop.

Up: desktop leaves

Down: Hyprland leaf

What this leaf does

It declares the editor, browser, Wayland hints for GUI toolkits, XDG directories, and a user tmpfiles rule for a recreated downloads directory.

home.sessionVariables = {
  EDITOR = "nvim";
  BROWSER = "brave";
  MOZ_ENABLE_WAYLAND = "1";
  QT_QPA_PLATFORM = "wayland";
  XDG_CURRENT_DESKTOP = "Hyprland";
};

Why it exists

Wayland desktops need environment consistency. Without this leaf, applications may fall back to X11 assumptions, ignore XDG paths, or disagree about the current desktop.

Impermanence connection

The tmpfiles rule matters because a tmpfs root loses unmanaged directories on reboot. Recreating basic user directories keeps the session predictable.