The template of this meme is that of the man who cheerfully points his hand at a butterfly, asking "Is this a pigeon"?. In this meme, the man has been covered with icons of the applications IntelliJ, VSCode, Chromium and Signal. The butterfly which he points to is overlaid with the caption ".config". He asks "Is this a trash can?" At the bottom of the image, we see the command du -sh executed on the directories .config/chromium/ and .config/Code, yielding file sizes of 1016M and 83M respectively.
I'm surprised. I haven't had a website not work with Firefox for a long time. I haven't even had to install chromium as a backup in almost two years now.
The signal community should band together and write a signal client that doesn't use the waste of space called electron. There is a rust library for signal and slint for cross platform UIs. Slint is even working (slowly) on mobile targets
Often they were created before the XDG spec was widespread, and haven't been changed for backwards compatibility reasons or because nobody's been willing to change it.
Archwiki has a huge list of apps that do this with instructions on how to force them to not do this. You might find it useful.
Personally though, I've given up on wrangling stubborn apps and just use flatpak and docker for everything. It can't crap in your ~/ if it doesn't have access to it!
So much this. It's like these clowns don't read the XDG directory spec and think $XDG_CONFIG_HOME and $XDG_DATA_HOME are interchangeable, and even that cache files can be in either or both. No, one directory you need to backup for when things go sideways, and the other can go to /nev/dull.
I'm not a fan of ~/.local/share/ being the data directory (two directories deep seems stupid), but it's definitely where regular data belongs.
Never mind developers who, in 2025, still think their project is special enough for a $HOME dotfile/dotdir or - somehow worse - those who put $XDG_CONFIG_HOME/<weird-name>/subdir/[subdir/]. The latter strikes me as well-meaning Windows developers trying to follow best-practice-like-Microsoft-does, but it makes my teeth itch.
Windows developers trying to follow best-practice-like-Microsoft-does
I think the best practices on Windows are pretty similar to Linux, other than Windows usually using title case whereas Linux usually using lowercase. There's bad developers on both platforms :)
Windows equivalent to XDG_CONFIG_DIR is %appdata%, which is the roaming AppData directory.
I was thinking more of one product companies using a $XDG_CONFIG_HOME/Boop Snoot Partners, Inc/<Software Name You Remember Installing>/ convention, which seems to be the norm inside %APPDATA%.
No, one directory you need to backup for when things go sideways, and the other can go to /nev/dull.
This is why so many people have a separate git repository for their config files and a scripts that symlinks or copies those files into the actual ~/.config.
It gets worse, when I was doing a refine of a Mistral-7B, on both the Linux and windows rigs the default location was somewhere on my OS drive in either %appdata% or some .config/.cache bullshit which stored the entire LLM along with all checkpoints and whatnot.
Nutter. My C drive on windows is a 120GB, all my programs are on my Q drive in software RAID. With Linux I follow the same principle, all heavy files are on a separate partition.
For .config it isn't as important to me, but putting things that can be re-created in .cache (well the proper environment variable that defaults to .cache) is very nice because I don't need to back up all of that junk.
But it wouldn't be unreasonable to put something like .config in a git repo, and storing full history for large and frequently changing files is a waste of space if they aren't really "config".
It's Java but don't be afraid, nowadays it also runs a chromium browser for your Markdown needs! a few years earlier it was done without that, but if course they had to fuck that up
There's a dedicated 10th circle in hell for this people. As someone who runs a root-on-tmpfs system, PLEASE document which dirs your application is using.
It is a total pain, specially with non standar ones.
But tbf there are a lot of Linux devs who neither have read a single line of any Linux standard API.
XDG_DIR, Portals, Secrets, D-Bus, the Desktop file spec, Appstream… are there for you to read. 🥰
XDG_DIR, Portals, Secrets, D-Bus, the Desktop file spec, Appstream… are there for you to read. 🥰
Standard compliance is a total mess in the world of linux desktop apps. My pet peeve is that $XDG_RUNTIME_DIR should point to a customizeable tmpfs that apps can use to store temporary data. But just TRY setting to anything else besides /run/user/1000 lol. Half your apps will be broken. Even apps that are made by/for the freedesktop people (e.g. Helvum, the pipewire patchbay app) struggle with this lol. This spec came out in 2021 -- three years ago -- and it's already ossified to the point of being barely useful. At this point I don't blame devs who say "fuck it" and just dump their tempfiles into /tmp the way god dennis ritchie intended.