It’s changeable so I don’t really mind but I hate the XDG default data dirs used by most OSs. Uppercase feels out of place, organizing things based on mine type (ex. “Video”) feels wrong, and wtf is a “Desktop”.
same, I just delete all these dirs and use ~/downloads for everything. If I need a file for more than a couple of hours, it goes somewhere it makes sense, not to a generic dumpster like “Documents”.
Been downloading most things to /tmp for years and it was a great decision.
By the time you’ve extracted, built a binary, picked out what you wanted and put it somewhere sensible, or just realized it won’t do what you need, all that’s left over is cruft that gets wiped on the next boot.
Me too. Many distros mount /tmp on ram, so it even helps process things faster, and maybe saves a few writes from ssds. Back when I used an hdd, the diference was brutal.
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
~/.config
superiorityI would fucking love it if I could put all my configs there, but unfortunately every other CLI tool seems to feel it needs a spot in the home dir instead…
so ya just put so the stuff in there? is there a reason for that specific directory (I’m kinda a noob)
It’s used to store configuration files for various applications so they don’t clutter up your home directory. For example, you can put your Emacs config files in ~/.config/emacs instead of ~/.emacs.d. Not every program supports it though.
Every project should at least move the default config location to the ./config folder. Even better if they create their own subdirectory in there.
Every tool I build checks three places:
- An env variable (if it exists) which should point to a dir of the users choosing
- ~/.config/tool-name/
- ~/.tool-name
Which imo is how every modern application should work
For number 2, is it hard-coded to
~/.config
or does it readXDG_CONFIG_HOME
? The latter is what it should do, so that the user has the flexibility to move all their configs elsewhere.It’s from $HOME so you would want to use the first option
But it’s GTK that var is used by some people
Please follow XDG specs and use
$XDG_CONFIG_HOME
instead of$HOME/.config
.$HOME/.config
could be a fallback if$XDG_CONFIG_HOME
isn’t set. :)
I agree.
No, they should read XDG variables. I have my configs on another drive.
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.
A fellow sdr enthusiast!
.config
.config.BAK
.config.BAK2
.config.OLD
.config.bspwm
.config.CWM
.config.JACKAUDIO
.config.LFS1
etc etcI never share screenshots, my desktop is boring… practical, nothing really fancy.
deleted by creator
I just use the defaults lol.
I “spice it up” to look more or less like I want it to and that’s it 🤷 😂.
For when I can be bothered to go through and clean it up a bit, I find xdg-ninja extremely useful
It’s getting better. I recently removed a bunch of AIX and Solaris specific dotfiles/directories that haven’t been of use for years.
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.Yes? Most workarounds are in the link. If not, please add them.
But sure, some have none.