Convention Over Configuration: A Way Forward?

Trans transfire at gmail.com
Wed Jan 4 08:01:18 PST 2012


Probably the most useful thing to me about the XDG based directories
are the HOME directories which offer a good solution to cleansing out
home directories of the overwhelming quantity of .dot files.

Unfortunately, adoption of the XDG HOME base directories seems to be
rather marginal. Distro developers, desktop environments and a few
other are clearly on board, but the rest of developers seem
indifferent or uncertain at best, if they even know about XDG.

I have thought about the idea that perhaps instead XDG should adopt a
"convention over configuration" approach. For instance, make
$XDG_CONFIG_HOME always and only `$HOME/.config`. That way developers
can target that specific directory without worry about looking up the
environment variable setting. Users can still customize the location
by symbolic-link to `~/.config` from whatever directory they prefer.

For the environment settings that can have more than one path, it
seems to me it's about time file systems really supported directory
unions. Some already do. And with that in place, XDG could again have
a single fixed location as the conventional target, but distro
creators and end-users could make it a union of directories as
desired.

I think the idea of XDG base directories is a very useful and
important contribution that ultimately should make it's way into FHS
proper, but it my take this kind of conventional approach to really
propel it forward.

In the meantime, as I have seen very little progress in uptake of the
XDG HOME directories over that last few years I have all but abandoned
any hope that it will change. And I have moved all my personal files
out of $HOME and into $HOME/Desktop so I no long have to weed through
hidden directories (when a given directory browser isn't designed or
set to hide them).


More information about the xdg mailing list