Hacker News new | past | comments | ask | show | jobs | submit login

So instead of 30+ .$program directories (not folders please), you get up to 120+ directories of the form .cache/$program, .config/$program, .local/share/$program and .local/state/$program ?

I'm not convinced that one is unequivocally better than the other. For me personally, I prefer a flat namespace to having to hunt down directories in a tree of varying depth.




> I'm not convinced that is any better.

I manage $HOME, this is meant for valuable personal documents. I manage them manually. You as a software distributor better are not gonna clash with what I am doing there with your shitty engineering.

If you insist on making a mess of your $HOME, XDG allows for that. You can set all your XDG variables to $HOME. And even without doing so, you can create symlinks to make your $HOME like you want. That is an unfair advantage you get with XDG adherence.

XDG gives you as the user more control. If you don´t adhere to XDG, you take that control away from the user.


I have to disagree here. XDG is a poor spec. It makes assumptions about structure that may not hold. If I want all my config, cache, and local stores in per-program directories, XDG makes that impossible. If I want a specific program’s config directory somewhere other than the XDG setting, that’s not possible.


You complain XDG makes assumptions while we are discussing software that makes the assumption that $USER has no say over $HOME. At least XDG is user configurable.

XDG allows for a superior partitioning. If you don´t like it, you are likely to complain about Linux as well. XDG separates config, run state, cache and data, which is quite reasonable for a Linux system as that is what Linux does.

---

> If I want a specific program’s config directory somewhere other than the XDG setting, that’s not possible.

1. $XDG_CONFIG_DIRS even allows for more multiple paths to be searched.

2. You could even override XDG-vars per application in a launch script or in the shortcut.

> If I want all my config, cache, and local stores in per-program directories, XDG makes that impossible.

You can set all the relevant $XDG_vars to $HOME and all your foo stuff ends up in $HOME/foo. Or symlink from $HOME.

The XDG world gives you options, while the non-XDG world doesn´t.

---

XDG could have opted for user overridable utils instead of variables. But you have already lots of options now.


> You can set all your XDG variables to $HOME

That seems like it could easily lead to conflicts.


Your documents should go in ~/Documents, not directly in ~. Also XDG is is specifically for X11 applications. I don't see why ones without a GUI should respect it at all.


It is 100x better




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: