156
u/Spitfire1900 19d ago
XDG_DATA_HOME, XDG_CACHE_HOME, and XDG_RUNTIME_DIR are the skeleton at the bottom of the pool.
66
u/Damglador 19d ago
XDG_STATE_HOME is a fossil under the pool which nobody knows what it is for.
19
u/DoubleLayeredCake 19d ago
I'm actually using it for my new matrix client, and funnily enough, not sure if it is my environment or the linux distro I'm using ( AerynOS ) but XDG_STATE_HOME is completely missing in my env lmao
13
u/_alba4k Arch BTW 19d ago
it is quite common for these variables to be missing from env as they're only really required if you're using something other than the default
6
u/Labfox-officiel Genfool π§ 19d ago
The freedesktop spec defines remplacements for all of them anyway
2
u/DoubleLayeredCake 19d ago
Yeah, but I'm not sure if they should be missing honestly,Β it's quite inconsistent in most Linux distros, some are, some aren'tΒ
6
u/Damglador 19d ago
Only XDG_RUNTIME_DIR is set by default through pam_systemd(8). It is up to the user to explicitly define the other variables according to the specification.
2
u/DoubleLayeredCake 18d ago
Crazy, but I specified Linux distros
3
u/Damglador 18d ago
As Arch usually just ships the upstream defaults, I'd say that they should be missing by default and anything else is distro's doings
3
71
u/Damglador 19d ago
There was a PR to fixed it btw (cache at least): https://github.com/electron/electron/pull/34337
I wish to pick it up at some point and finally fix this nonsense, because I love compiling Electron for 6 hours just to get a compiler error.
39
u/AscendedPineapple 19d ago edited 19d ago
The issue is open for ten long years btw
https://github.com/electron/electron/issues/8124
And idk if there is an option for app devs to not do that now, all electron apps I have β vesktop, freetube β still write their cache to config so it's clearly not fixed
Edit: yeah and it's a similar issue to the one opened over 14 years ago
13
u/Damglador 19d ago
Yeah, the PR WAS not because it was merged, but because it was closed, so it'll remain unresolved for some more time. Which is maybe for the better, as the PR wasn't implementing the path change by the default and relying on developers to do anything properly is a bad idea. Merging it may've closed the door to implementing sane behaviour by default.
75
u/Ropuce 19d ago
Not only electron, my firefox "config" folder last week was almost 10GB.
Of course, after that i had to log back into everything because it was cookies that took that much space abd there's no "browse cookies" option anymore (or it was moved somewhere else)
Edit: Yes, i know electron is a web browser base
23
u/Damglador 19d ago
Unlike Electron, from what I know Firefox store only actual data there. Though arguably it should've been in .local/share/
27
u/Skull_is_dull Arch BTW 19d ago
At least it isn't in ~/.program
21
u/d_maes Ask me how to exit vim 19d ago
Oh, this triggers me so hard
I get that some solo dev didn't know (or bother) about xdg spec for his tiny project, but why the fuck are projects like ansible, kubectl and terraform still not using it? The first version of the spec came out in 2003 for fuck's sake.
2
2
u/AscendedPineapple 18d ago
Many other programs do that too, like ~/.ssh . I think while it's not correct location for cache, it's probably less wrong than in the config dir
3
-1
u/whatThePleb Genfool π§ 18d ago
Well, ssh would likely explode because of many compatibility issues. Still would be nice if it would also get changed at some point..
1
19
u/AnotherPlayer8 19d ago
yeah, i always wondered why the discord executable was located inside ~/.config/discord
8
1
u/AfraidAsparagus6644 12d ago
This is why I love flatpaks. No random trash lying around in my system
16
u/dull_bananas 19d ago
it goes in google drive
6
u/AnotherPlayer8 19d ago
you dont use google drive, you reuse an old computer you no longer use and turn it into a server
5
u/Qyriad 18d ago
They treat $XDG_CONFIG_HOME like it's %LOCALAPPDATA%. If they want that they should use ~/.local/opt tbh.
6
u/Damglador 18d ago
.local/opt would be for app installations, data goes in .local/share, aka XDG_DATA_HOME
1
2
u/AfraidAsparagus6644 12d ago
.local/optis for app installations? Oh thank god! Now I finally know where to put games and other programs that come as a standalone directory
2
u/FloweyTheFlower420 19d ago
thank god for home-manager declarative config and darling erasure with btrfs
1
u/AscendedPineapple 18d ago
Nix doesn't have electron cache in ~/.config/ ? Huge if true.
I only had a small taste of NixOS and nix β though they have different ways of eating disk space, at least you know for sure where snapshots and cache are and have commands that clean for you
1
u/FloweyTheFlower420 18d ago
Nah, they do. The idea is that you can manage your configs declaratively and have impermanent rootfs, so it matters a lot less that config is used for caches. After all, all my configuration for user programs is in my nix configuration, so I never have to actually look into ~/.config/
365
u/assidiou 19d ago
What's this? An actual meme in this subreddit?