37 ms·
Hah I was literally just complaining about applications not following the XDG directory spec today. there's a non-exhaustive list of applications on the archwi
by adhoc_slime 4y ago
Hah I was literally just complaining about applications not following the XDG directory spec today.
there's a non-exhaustive list of applications on the archwiki [0] that put their config/data in dotfiles in the home directory. surprisingly, there's also lots of pushback from maintainers of projects who don't want to change this, for whatever excuse they can produce. a Reddit thread has some list of issues where the change is brought up [1].
Anyway, I'll look forward to testing this out.
[0] https://wiki.archlinux.org/title/XDG_Base_Directory https://wiki.archlinux.org/title/XDG_Base_Directory
[1] https://www.reddit.com/r/linux/comments/971m0z/im_tired_of_folders_littering_my_home_directory/ https://www.reddit.com/r/linux/comments/971m0z/im_tired_of_f...
- NoboruWataya 4y agoYep, this does my head in. I really feel like there's no excuse for it in 2023.
- inanutshellus 4y agoCan I also soapbox about the XDG_CONFIG_HOME (~/.config) folder having gigs of temp data in it? (I'm looking at you, Slack!) How awesome would it be to be able to back up my custom app configs just by copying around one tiny folder? Or throwing it in a git repo and knowing what config changed when? :\
- vngzs 4y ago$ du -sch ~/.config/Slack 846M $HOME/.config/Slack 846M total ... this is on a two day old machine. WTF, Slack? Junk cached data belongs in ~/.local/share ($XDG_DATA_HOME), not ~/.config.
- deadbunny 4y agoI think you mean `~/.cache`.
- Already__Taken 4y agoa bunch of windows stuff does this too putting config in appdata/local and huge cache assets in appdata/roaming. anything that depends on good behaviour is doomed imo like Google wave circles
- 0cf8612b2e1e 4y agoWhat’s really frustrating are the number of first-party Microsoft products which do this.
- accoil 4y agoYeah. It annoys me to no end that the new powershell didn't take the opportunity to move the config out of My Documents and into roaming app data which in theory is where that sort of file should be. It's things like that which have made me give up on %USERPROFILE% (and to a lesser extent $HOME), and I now put my files that I care about into a completely separate folder outside of the normal hierarchy.
- DragonMaus 4y agoCould you elaborate on that? I too am quite unhappy with the mess my %USERPROFILE% has become.
- accoil 4y agoOh, it's really not anything impressive. I've just decided to treat %USERPROFILE% as for machine generated files only. I then have a new directory on C: where I put my documents/projects/etc (all in appropriate sub folders). My config files are a bit more interesting, and are stored in a chezmoi[^1] repo. If I tinker with a program enough, I generally move its config into there so I can keep track of it and the changes (to make this easier I have a bat file in shell:sendto to add files/folders to chezmoi). Thinking about this, I should probably move the chezmoi repo into my personal directory, and symlink it back to it's normal location. [1]: https://www.chezmoi.io/ https://www.chezmoi.io/
- toastal 4y agoShould've kept Slack in a containered in a browser tab where it belongs so it can't go messing with your system or prevent you from blocking their tracking.
- boosteri 4y agoAnd then I've seen websites hoggi g gigs of local storage after you visit them once a blue moon. The trend is blatantly towards no optimization whatsoever. Apart from profits and squeezing the last drop off your customers by any means necessary
- 0cf8612b2e1e 4y agoThe fault lies with Electron [0]. Open issue since 2016 to fix this behavior only for it to devolve into a morass of, “What is cache?” [0] https://github.com/electron/electron/issues/8124 https://github.com/electron/electron/issues/8124
- joshuaissac 4y agoSome of these programs also spam the home folder on Windows instead of using the path specified in the %APPDATA% environment variable.
- remram 4y agoSome also put it in %HOMEPATH%/.name because they are bad ports from Unix. I'd argue that it's better than in My Documents though.
- ajsnigrutin 4y agoThe dotfiles and dotfolders directly in the home folder is "the way it was always done", and now some "new kids" came and want changes done to software which has existed before they were even born. People have muscle memory for those folders, some have hardcoded those paths in other scripts, others just don't care, and things stay as they always were. On one hand, it's great to have all the stuff in the same place, on the other hand, we used to have this, before the ~/.config folder too. Also, it's not just in one place anymore, but in many places -- so to completely remove a programX, it's not enough to just remove ~/.programX, but you need to remove a folder from ~/.config/, and another one from ~/.local/something, and another form ~/.cache,... So yeah, i understand 'the old guys' too... maybe because i'm not 20-something anymore.
- lelandbatey 4y agoThe XDG base directory specification[0] was initially introduced in 2003; 20 years ago now. Yes there's plenty of software that existed before 2003 which didn't respect XDG, but most all of the Linux software dumping dotfiles in my homedir where written not just after 2003, but many years after 2003. For example, the following pieces of software all have dumped garbage in my homedir, and all are much less than 20 years (or even 15 years) old: vault flyctl yarn npm vscode terraform rustup kubernetes fzf eclipse docker cargo aws (cli) There's no excuses for these programs not respecting standards that are 1. Well established by the time the software was written and 2. short (seriously, the standard's contents fit entirely on three A4 pieces of paper) [0] - https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html https://specifications.freedesktop.org/basedir-spec/basedir-...
- ajsnigrutin 4y agoBut why should developers conform to that specific standard, if (for them, and many of their users) it makes more sense to use a "~/.wine" (or whatever other) folder? If i want to completely remove wine from my profile, how many folders do I have to delete doing it the old way? One - ~/.wine. How many using the new? One in .config, then .local/share, probably one in .cache... oh wait, .local/state too.. Probably.. well, maybe, I'd have to check manually. Same for other software. One folder to remove, one folder to backup, one folder to restore.
- cube2222 4y agoI mean, from the perspective of a person that hasn't heard about it before, this is just another standard[0]. I opened your links. There's no easy way to judge the traction or popularity of this. Why do you think maintainers should just apply another standard that's thrown at them? I don't mean to be dismissive nor criticize the standard itself. I'm trying to give you a glimpse of what a person that hasn't heard about XDG before sees, when they open your links. [0]: https://xkcd.com/927/ https://xkcd.com/927/
- brigandish 4y agoWhat are the competing standards to XDG? Stick everything in $HOME? Stick everything in $HOME/.config? Those 2 aren't standards and aren't helpful.
- cube2222 4y agoYes, sticking everything into `$HOME/.toolname` is what most cross-platform software is doing, and I imagine that's just fine for the vast majority of users.
- brigandish 4y agoShort, memorable passwords like one's birthday or favourite pet's name are "just fine for the vast majority of users". It's a meaningless metric of quality - or more to the point - it isn't a metric of quality.
- OJFord 4y agoOne of the best things about no longer using macOS is not having to fight 'but Application Support/Resources/Nonsense/Foobar.app/Resources/config is the standard location on this platform!' ... The XDG base dir spec makes a lot more sense even on macOS for developer tools, but I'm glad not to have to worry about that any more. On Linux that excuse is gone, so it's just either 'oops yes will fix' or 'agh, sorry, legacy'. Nobody (that I've ever seen) tries to claim something else is fine or better.
- matheusmoreira 4y ago> surprisingly, there's also lots of pushback from maintainers of projects who don't want to change this, for whatever excuse they can produce. There doesn't need to be an "excuse" though. "I don't like it" or "I don't want to do it" is more than enough. They're the ones maintaining the damn things, the least we can do is respect them. They don't really need to justify anything, acting as if they had to is how you get pushback. They probably deny you just to prove that you have no power over them, because you insinuated otherwise with words like "excuse".
- fsckboy 4y ago> They're the ones maintaining the damn things, the least we can do is respect them. we don't respect maintainers who leave in buffer overruns or x-site scripting, why should we respect maintainers who don't respect users? yes, they're writing and maintaining, but undoubtedly also using tons of respectful opensource that other maintainers take care of. it's like driving a car ("everybody faster than me is a maniac, everybody slower than me is a moron") and cursing cyclists, then jumping on your bike and running red lights, stop signs, crosswalks, sidewalks, you name it. To have a civilized society we all have to go out of our way a little bit for other people, throw away some trash that's not yours. like forum/reddit moderator phenomenon, there is something about the power (and most definitely the nagging they get from impolite users) that makes the developers act like douches when they probably aren't the rest of the time. but that's not an excuse for crapping all over my dotfiles and home directory tree.
- heleninboodler 4y ago> why should we respect maintainers who don't respect users? Saying that using dotfiles instead of ~/.config means they "don't respect users" is a little dramatic, don't you think? Like it or not, unix has historically treated dotfiles as "hidden" and nobody expects you to get upset that they created a hidden file in your home directory without your consent. It's not really about respect, it's just convention you apparently don't like. I currently have 60 dotfiles in my home directory and probably deliberately created less than 10 of those. The fact that anyone would be upset by this is news to me and most likely is news to a lot of the developers that created these things: cargo, dbus, docker, gem, gnome, gnupg, gphoto, java, kde, maven, mozilla, osquery, rpm, rustup, ssh, vagrant, vim, vscode, wget, yarn, zoom. Not that "this bad behavior is widespread" is a good excuse, but the point is that I don't think the world is at all in agreement that this is "bad behavior."