XDG Base Directory Specification is not new. come on!
https://wiki.archlinux.org/title/XDG_Base_Directory#Hardcoded 😞
What does this mean though? Sure it’s not new, but does it make it less of a mess?
The XDG Base Directory Specification is a set of guidelines to tell application developers where they should store their application’s config files, cache, etc.
There are many applications that don’t follow the guidelines and put their files in a hidden folder directly in your home directory, which is what the guidelines are trying to combat.
Sometimes that folder isn’t even hidden, either
Really just disrespectful on the developer’s part.
cough cough Zoom. But then, even stuff like yay on Arch has its folder just in plain sight, slapped right into my home directory. Like, why
Doesn’t yay use XDG_CACHE_DIR?
Maybe it’s because I’m using Endeavour? I’m not sure
Fine, it’s 23:46. You got me to check my PC. Let’s have a look.
ls -A ~/
2FAlist.txt Applications aurpkt .bash_history .bash_logout .bash_profile .bashrc .cache .cddb .cert Cisco Packet Tracer 8.2.1 .cmake .config .cups Desktop .dir_colors Documents .dosbox Downloads dump1090 .dvdcss .elinks .face .face.icon .fltk .fonts.conf .gnupg .gnuradio .gphoto .grc_gnuradio .gr_fftw_wisdom .gr_fftw_wisdom.lock gr-gsm .gtkrc-2.0 .hplip .icons iqtosharp .java .kal_fftw_plan .kde4 .lesshst .local .minetest missaurpkg.png .mozilla Music .openjfx options.txt .packettracer packettracer Pictures .pki pkttheme Public .putty .python_history qsstv .qt-dab.ini .qt-dab-presets.xml .qt-dab-schedule.ini .qt-scanList.xml .rnd rtl_wmbus sdr-trunk SDRTrunk sdr-trunk-linux-x86_64-v0.5.0-beta6 sdr-trunk-linux-x86_64-v0.5.3 snapcore.png speedtest-1.2.0 .ssh .ssr .steam .steampath .steampid Templates tmp Videos .viminfo VirtualBox VMs .wget-hsts .wine wmbusmeters .wxlistlog .wxtoimg wxtoimg .wxtoimglic .wxtoimgrc .Xauthority .Xclients .xinitrc .zcompdump zesarux .zesaruxrc .zhistory .zshrc
Pretty clean, I’d say. At least on this install.
Lies. I see no .porn folder!
/usr/local/share/porn
I never share screenshots, my desktop is boring… practical, nothing really fancy.
https://wiki.archlinux.org/title/XDG_Base_Directory
Do that for your tools in
/etc/profile.d/01-xdg
, make it executable, restart, done. Just make sure theXDG_*
variables are on top.Lots of tools ignore xdg, and issues asking to add support get bogged down in backwards compatibility problems. The best they achieve is to introduce yet another env variable to control where the config goes. It’s really annoying.
I have a bunch of
TOOLX_CONFIG="$XDG_CONFIG_HOME/toolx"
stuff in my bashrc.