Однако, по разным причинам, многими программами этот стандарт не поддерживается.
На помощь таким программам приходит LD_PRELOAD-able библиотека libetc с помощью которой любая попытка открыть dot-файл (файл с точкой в начале) перенаправляется в $XDG_CONFIG_HOME т.е. конфиги всех программ можно хранить в папке определенной стандартом. Библиотека достаточно старая, и я удивлен почему о ней знает не так много людей
Для использования достаточно экспортировать несколько переменных
export LD_PRELOAD=libetc.so.0 # загружаем библиотеку
export LIBETC_BLACKLIST=/bin/ls:/bin/mv:/bin/cp:/bin/ln:/usr/bin/find:/bin/rm # на эти программы внимания не обращать
Ну и XDG_CONFIG_HOME можно выставить.
После сих нехитрых манипуляций пути будут транслироваться из ~/.* в $XDG_CONFIG_HOME/* (~/.config/*)
Более подробно о использовании библиотеки можно прочитать в её README файле
Домашняя страничка libetc