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.
Apps I write put config files in
XDG_CONFIG_HOME/appname/
, which is usually~/.config/appname/
. What’s wrong with that?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 waygoddennis ritchie intended.
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.Rant over. :)
Never mind developers who, in 2025, still think their project is special enough for a $HOME dotfile/dotdir
Well, Firefox is pretty special 🤡
This is why I use flatpaks. Keeps most of the offending the dotfiles in .var directory scoped to the app itself
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.
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
.
Better than dumping into ~/
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!
I really need work on better use of containers
I don’t get why so many programs do this. This is ridiculous
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.
When I use a computer for a few months my ~/ always gets so “messy”, I hate it!
Well dont use chrom*
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
There already is one called Flare. It uses rust IIRC.
Thanks. I’ll have a look at this!
Non-flatpak🤮 link: https://gitlab.com/schmiddi-on-mobile/flare
What’s wrong with Flatpak? I like the separation of system packages with the system package manager, and user-level random apps on Flatpak.
I use ungoogled chromium, but only for sites that absolutelly don’y wanna work on firefox.
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.
I’m taking an online based college that makes heavy use of some heavier apps like web based virtual machines that function as ‘lab environments’ for development assignments. These refuse to function unless I’m in chromium of some kind. Same with the online based proctoring tools the school uses when you take tests n stuff - chrome is the only browser that can be used, and I have to specifically use a windows device 🤢
Always fun to see what I’ve been “missing out on” in the chrome experience, when I’m forced to use it. Man, the Firefox UX is a dream compared to chrome!
Really hoping on that FOSS browser that’s on the horizon! Ladybird, I think it’s called? Hopefully it won’t be shit! 🤞
I actually use chromium to do watch party’s. As you can disable hardware acceleration and for some reason the Netflix DRM doesn’t work anymore. (So I can stream the video to friends on dc)
But otherwise I never had problems with Firefox.
Proxmox, when connected to a host, will not see symbols and instead type the numbers instead (shift+1 etc). But it will still type a character, and it’s hidden from the user, so you end up screaming WHAT THE FUCK IS WRONG WITH THIS MOTHERFUCKING PIECE OF SHIT until you try to sudo in fucking chrome and whoop works first try.
Found that like 9 months ago. Still pissed as fuck. Like 2h of my life gone, thought I fucked my root account, fucking pissing myself trying to copy data off before I do anything in case I was fucked.
PM needs to fix their shit.
E: Oh, cpanel recently broke too. I can login, but am immediately logged out because lack of a security token. That one might be because I’m using librewolf, but it was working a month ago so…
E2: synology, both nas and router, works sometimes in LW, but other times it loads the page but no content. This is regardless of if I am logged in and refresh, or if I’m just trying to login. Shit just doesn’t reliably work. Chrome, it’s fine.
I don’t want to be that guy but it works for me. I use Proxmox all the time in Librewolf.
With symbols in your VMs passwords?
You guys are doing passwords?
Anyway I’ve never had issues with symbols but I also don’t have a international keyboard. (Mine is US layout)
Just yesterday I had shadow.tech’s Cloudflare “vErIFY yOuR hUmAN” fail on me in Firefox. I had fucking paid for a month already otherwise that would have been enough to turn me off.
This always happens to me. How can one get around that (without using chrom*)
I haven’t had a website not work with Firefox for a long time.
Me too…mostly? But the cases I’ve seen or encountered are always government, financial, education, or medical websites with some super-bespoke “portal” that will simply act bizarre on Firefox.
It really sucks that it seems so common to just glance at some “market-share” data and, not just assume everybody must use Chrome, but go so far as to force them to.
They are out there. I also have it around for those occasions. More common that you’d expect. Almost always some shitty site needed for work that has problems.
Yeah my previous I remember needing chromium. It was a dev shop though, so we figured out browser agnostic processes eventually.
Firefox doesnt support web serial.
A what?
Oh yeah that reminds me, to use the Graphene web installer, you need chrome. To revert to factory, chrome.
Same but I use Cromite or i try using a electron app (like heroic) on my pc.
Chrom, grant me my RAM…and if you do not listen, then the hell with you!
Well you do use files named chrome.css, as Firefox based browsers have their style css in that.
Fun fact: Unrelated to the browser of the same name, it’s the “window chrome” of the browser
The browser that manages to somehow get even more spyware than chrome?
Yes ok my mistake, despite * I am of course not talking about files with e.g. .css extension but only the browsers with chrome* as name. :)
Edit: Above all, I don’t want to imply that Firefox and co don’t use system resources just as wastefully. But they are still the better choice.
Yep, obviously, was just a joke. But technically, eg. steam is also chromium-based (which explains why it’s shit)
It’s just a rat’s tail like so many other things.
I miss opera with own engine
Presto was nice. But I guess being quite strict about standards was just too much to handle for the chrome fanboy developers.
There’s so many features that Opera had that still aren’t widespread in other browsers. The closest equivalent these days is Vivaldi, although I don’t like that it’s Chromium-based.
Valve has proven they will go to great lengths to utterly thwart would-be monopolies that threaten PC gaming (the real reason proton exists). We just need to find a way to convince them that Google is a threat too.
I just want better APIs. Users will do the rest. A native client, still steam-style, but made in QT. Maybe not the store etc., but display that via an external browser or inline firefox somehow.
Apropos
Firefox saves its config outside of .config/ as well, IIRC. Can’t check now, I have actually put that crappy browser in the trash bin long ago.
For what it is worth the Flatpak version doesn’t have this issue
Thats because flatpaks treat each apps directory as their own $HOME so instead of $HOME/.mozilla its $HOME/.var/app/{app_name}/.mozilla
Which is still fantastic dont get me wrong. But Mozilla hasn’t stopped hardcoding their Mozilla folder instead of the xdg dirs even throughf firefox issue tracker has had it on there for 20 years
Yes. ~/.mozilla. Its annoying.
You can fix it with a hack by putting a shell script in your path (before the original firefox) that consist of:
#!/bin/sh HOME='/home/engywuck/.local/share/firefox' /usr/bin/firefox
Call that instead of the original firefox from now on. it will create the “librewolf” folder in ~/.local/share and chuck its junk in there.
Edit: This bug has been open for TWENTY YEARS.
Honestly ridiculous.
I will not take this bait
And what browser are you using?
Usually the shit-talkers use some fork of FF that would last about 5 minutes if FF ceased to exist.
Or fucking Brave, the cryptoscam browser.
Yea, not a huge fan of the push for crypto on brave
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.
Run containers and VMs. You have way more control.
Why is separating the OS with files necessary? I don’t think large files slows down the OS anymore, because of SSD.
I use an SSD for the OS, on my Windows rig a 128gb drive. For files I use mainly hard drives and/or other SSDs for programs.
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”.You could just add an exception to not backup .cache
The point is that many programs completely ignore
.cache
’s existence — when programs do actually use it, adding a backup exception is trivial, but having to manually find what’s actually cache in.config
(or, even worse, finding one SQLite database with the config and cache) complicates it.
It’s not necessary, just really convenient when your OS breaks
Okay I prefer to use FDE for security, especially on laptops, so my data recovery is never going to be trivial, yet with a live environment, also not too difficult.
Because it makes reinstalls really easy. You can just nuke your OS but everything else remains there safely.
IntelliJ IDEA runs on a jvm right not a electron app??
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
I think it might still be dropping executables in .config, stuff like the JDK or even its own software versions
Ohhh okay, this is what the answer I was looking for.
Yes mostly Java and Kotlin with a combination of Java Swing and Compose for the GUI afaik
I like how electron shit’s “configurations” are also trash
You’d think they would do better. Isn’t that part of the point of using Electron?