Hacker News new | ask | show | jobs
by zbowling 739 days ago
Nah. XDG base directory was supposed to solve a ton of things 18 years ago, except none of them are hard-hitting user problems most folks really care about most of the time unless you are really anal about hidden folders in your home directory polluting things up (most people aren't), so it fails with partial support from apathy from some package devs on Linux to implement it.

Honestly, we should probably abandon the hope that we will ever get full universal adoption. It stinks even worse with the half-adoption state we are in now, with some apps writing to those directories and other apps not. If it wasn't for arch Linux folks trying to drive apps to adopt it more, I don't think it would be. Hell, default Debian/Ubuntu still doesn't set XDG_* directory ENVs by default (some flavors do), and some apps ignore the prescribed "if not set, use this default" nonsense in the spec and do what they have always done because it doesn't break compatibility for users.

Part of the spec stinks, too, like the spit between cache/config/data config where the spec has no written rules specified on when anything is expected to be cleaned up and when or what can or should be backed up by the user.

Let's move to containerizing most apps, putting everything in little jails so we don't have to deal with where they want to write to. They can have their own consistent and expected behaviors on their own island. Snapcraft, flatpack, or any of a bunch of other solutions are already available to solve this problem. Don't have to worry about what some app left behind or wrote to your system when it's all contained.

3 comments

> Hell, default Debian/Ubuntu still doesn't set XDG_* directory ENVs by default (some flavors do)

You are supposed to leave them unset if they match the defaults.

Programs ignoring the spec is another matter and should be fixed in those programs not by needlessly bloating the environment of every process with meaningless data.

> meaningless data

Things like .git and .ssh not are not meaningless data even though they are not in ~/.config/ssh/ or ~/.local/shared/git.

> It stinks even worse with the half-adoption state we are in now, with some apps writing to those directories and other apps not.

It stinks about half as much as before.

> Part of the spec stinks, too, like the spit between cache/config/data config where the spec has no written rules specified on when anything is expected to be cleaned up and when or what can or should be backed up by the user.

Caches don't have to be backed up and can be deleted if you need space. Most people will want to back up configs. What other data should be backed up is a question different people will answer differently. And containers don't solve this.

I actually back up my Gradle cache in particular because things have a tendency to disappear from the internet sometimes, and permanently break builds of older stuff.
That stuff that disappears, do you have means to patch and rebuild it?

Otherwise, you're directly heading for a nasty surprise at the worst moment.

The build dependencies are the problem. The build process downloads them from hardcoded internet URLs and they are cached for 30 days. By backing up the cache, I can (probably) rummage around it later to find anything that's been deleted from the internet.
> unless you are really anal about hidden folders in your home directory polluting things up

n = 1, but, uh, this is one major reason I don't use Linux. It really bugs me.

If hidden pollution bothers you, and you use Windows, don't browse the registry. shudder

Actually AppData can get a bit polluted too.

Parent seems to care more about 'not polluting something i see all the time'.

Typical of our society, we want to make everything someone else's problem.

I guess we deserve some of the SaaS enshittification and it's spending obesity ;-)

> Parent seems to care more about 'not polluting something i see all the time'.

Yes, this.

> Typical of our society, we want to make everything someone else's problem.

I don't think that's a fair analogy.

It's more like moving junk from the living room to the attic. I'd prefer to have a clean living room and a messy attic.

>> Parent seems to care more about 'not polluting something i see all the time'.

> Yes, this.

Like "My Documents" (or "Documents" nowadays)? Now that's some dumping ground.

That's bad too, but at least it's not right in my home folder! When I have to use Windows, I basically just avoid using Documents for files. (But my daily driver is an ancient version of OS X, which has ~/Library for these things.)