Трохи про XDG

Вирішив тут прибратись у домівці. Котра $HOME. А то якось дуже забагато дот-файлів, очі мозолять.

Вирішувати це питання стартовими скриптами – якось моторошно. І не універсально, і трохи тормозить старт. Тому PAM мені у допомогу, зокрема модуль pam_env. Його конфиг за замовчанням, /etc/security/pam_env.conf, на щастя та на відміну від класичного /etc/environment, дозволяє підстановку змінних, що були попередньо задані. Що дуже корисно при перекиданні дот-файлів згідно специфікації XDG Base directories

Ну а далі – сам конфіг, користуйтесь, кому потрібно

#
# This is the configuration file for pam_env, a PAM module to load in
# a configurable list of environment variables for a
#

REMOTEHOST  DEFAULT= OVERRIDE=@{PAM_RHOST}

DISPLAY     DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}

# Set some XDG environment variables

XDG_DATA_DIRS       DEFAULT="/usr/share:/opt/xdg"
XDG_CONFIG_DIRS     DEFAULT="/etc/xdg:/etc"
XDG_CACHE_DIRS      DEFAULT="/var/cache"

XDG_CONFIG_HOME     DEFAULT=@{HOME}/.xdg/config
XDG_DATA_HOME       DEFAULT=@{HOME}/.xdg/share
XDG_STATE_HOME      DEFAULT=@{HOME}/.xdg/state
XDG_CACHE_HOME      DEFAULT=@{HOME}/.xdg/cache

XDG_RUNTIME_DIR     DEFAULT=/tmp/xdg-runtime-@{PAM_USER}

ZDOTDIR             DEFAULT=${XDG_CONFIG_HOME}/zsh

INPUTRC             DEFAULT=${XDG_CONFIG_HOME}/inputrc
RLWRAP_HOME         DEFAULT=${XDG_DATA_HOME}/rlwrap

GST_REGISTRY        DEFAULT=${XDG_CACHE_HOME}/gstreamer/registry.bin
CCACHE_DIR          DEFAULT=${XDG_CACHE_HOME}/ccache
GNUPGHOME           DEFAULT=${XDG_CONFIG_HOME}/gnupg
ELINKS_CONFDIR      DEFAULT=${XDG_CONFIG_HOME}/elinks
FFMPEG_DATADIR      DEFAULT=${XDG_DATA_HOME}/ffmpeg
SDCV_HISTFILE       DEFAULT=${XDG_STATE_HOME}/sdcv_history
SQLITE_HISTORY      DEFAULT=${XDG_STATE_HOME}/sqlite_history

PYTHON_HISTORY      DEFAULT=${XDG_STATE_HOME}/python_history
PYTHONUSERBASE      DEFAULT=${XDG_DATA_HOME}/python
PYTHONPYCACHEPREFIX DEFAULT=${XDG_CACHE_HOME}/python

CARGO_HOME          DEFAULT=${XDG_DATA_HOME}/cargo
RUSTUP_HOME         DEFAULT=${XDG_DATA_HOME}/rustup

TERMINFO            DEFAULT=${XDG_DATA_HOME}/terminfo
TERMINFO_DIRS       DEFAULT=${XDG_DATA_HOME}/terminfo:/usr/share/terminfo

XINITRC             DEFAULT=${XDG_CONFIG_HOME}/X11/xinitrc
XSERVERRC           DEFAULT=${XDG_CONFIG_HOME}/X11/xserverrc
XUSERFILESEARCHPATH DEFAULT=${XDG_DATA_HOME}/X11/app-defaults
XCOMPOSEFILE        DEFAULT=${XDG_CONFIG_HOME}/X11/compose
XCOMPOSECACHE       DEFAULT=${XDG_CACHE_HOME}/X11/compose
ICEAUTHORITY        DEFAULT=${XDG_CACHE_HOME}/ICEauthority

RXVT_SOCKET         DEFAULT=${XDG_RUNTIME_DIR}/urxvt

PSQLRC              DEFAULT=${XDG_CONFIG_HOME}/psqlrc
PSQL_HISTORY        DEFAULT=${XDG_STATE_HOME}/psql_history

OCTAVE_HISTFILE         DEFAULT=${XDG_STATE_HOME}/octave_history
OCTAVE_SITE_INITFILE    DEFAULT=${XDG_CONFIG_HOME}/octave/octaverc

WGETRC              DEFAULT=${XDG_CONFIG_HOME}/wgetrc

RENPY_PATH_TO_SAVES     DEFAULT=${XDG_DATA_HOME}/renpy
RENPY_MULTIPERSISTENT   DEFAULT=${XDG_DATA_HOME}/renpy/shared

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *