XDG
Meowrch actively supports the XDG standard so configs, cache, and app data don’t clutter ~.
We keep things where they belong: ~/.config, ~/.local/share, ~/.cache, and so on.
Where core variables are defined
Section titled “Where core variables are defined”Core environment variables are stored in:
~/.config/environment.d/60-meowrch.confThat’s where the key XDG paths and environment settings are defined for shells and apps.
Example of 60-meowrch.conf
Section titled “Example of 60-meowrch.conf”LANG=en_US.UTF-8EDITOR=microVISUAL=microMICRO_TRUECOLOR=1BROWSER=/usr/bin/firefoxTERMINAL=/usr/bin/kittyTERMINAL_CMD=kitty -eTERM=xterm-kittyXCURSOR_SIZE=20HYPRCURSOR_SIZE=20PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:$HOME/.local/bin:$PATH"
_JAVA_AWT_WM_NONREPARENTING=1_JAVA_OPTIONS=-Dsun.java2d.opengl=true
XDG_DATA_HOME=$HOME/.local/shareXDG_CONFIG_HOME=$HOME/.configXDG_STATE_HOME=$HOME/.local/stateXDG_CACHE_HOME=$HOME/.cacheXDG_BIN_HOME=$HOME/.local/bin
ZDOTDIR=$XDG_CONFIG_HOME/zshGTK2_RC_FILES=$XDG_CONFIG_HOME/gtk-2.0/gtkrcXCURSOR_PATH=/usr/share/icons:$XDG_DATA_HOME/iconsCARGO_HOME=$XDG_DATA_HOME/cargoCUDA_CACHE_PATH=$XDG_CACHE_HOME/nvGNUPGHOME=$XDG_DATA_HOME/gnupgREDISCLI_HISTFILE=$XDG_DATA_HOME/redis/rediscli_historyRUSTUP_HOME=$XDG_DATA_HOME/rustupNODE_REPL_HISTORY=$XDG_DATA_HOME/node_repl_historyPYENV_ROOT=$XDG_DATA_HOME/pyenvWAKATIME_HOME=$XDG_CONFIG_HOME/wakatime
QT_QPA_PLATFORM=wayland;xcbQT_QPA_PLATFORMTHEME=qt6ctQT_AUTO_SCREEN_SCALE_FACTOR=1QT_WAYLAND_DISABLE_WINDOWDECORATION=1GDK_SCALE=1ELECTRON_OZONE_PLATFORM_HINT=autoWhy this matters
Section titled “Why this matters”- Clean home directory — less clutter in
~. - Predictable structure — easier backups and syncing.
- Compatibility — most modern Linux tools understand XDG.
Where configs are moved
Section titled “Where configs are moved”We move configs for many tools into XDG paths. For example:
zsh→~/.config/zshgtk2→~/.config/gtk-2.0/gtkrccargo→~/.local/share/cargognupg→~/.local/share/gnupg
If you want to override variables, add your own file in ~/.config/environment.d/
with a higher number (e.g., 90-custom.conf).