basedir spec and plugins

Simon McVittie simon.mcvittie at
Fri Jun 26 07:42:46 PDT 2009

On Fri, 26 Jun 2009 at 16:08:28 +0200, Thiago Macieira wrote:
> I think those could turn out to be useful.
> However, I just don't see why you'd want that right now.
> XDG stuff is there because it's shared among different applications, libraries 
> and toolkits. They need to know how to find the information that they require, 
> in order to interoperate with other applications and the desktop.

In the basedir spec, surely the thing being shared is not the
config file/data file/cache, but the ability to redirect the storage of these
things to a different location with a common environment variable?

Looking at my ~/.config, I see configuration for Banshee, Brasero and Compiz,
among others. There's nothing non-application-specific about those. Similarly,
my ~/.local/share contains the VLC media library, and prectically everything
in my ~/.cache is application-specific.

My ~/.config *also* contains an autostart directory, and my ~/.local/share
*also* contains Telepathy connection manager details and a Trash directory.
However, none of those are shared because the basedir spec says so - they're
shared because the autostart spec, the Telepathy spec and the Trash spec,
respectively, say so.

So I don't see any conflict with the idea of XDG_LIB_DIRS (XDG_PLUGIN_DIRS?),
and my only objection to XDG_BIN_DIRS is that we have it already - it's called
PATH :-)

As an implementation detail, though, the default for XDG_LIB_DIRS shouldn't be
~/.local/lib - people still use NFS /home. It should probably be
something like ~/.local/lib/ARCH-OS (with ARCH and OS as defined by GNU
config.guess), analogous to <>.

Alternatively, applications could be required to look in both
$XDG_LIB_DIRS/app-suffix and $XDG_LIB_DIRS/ARCH-OS/app-suffix
(so perhaps my current laptop would end up with GStreamer plugins in


More information about the xdg mailing list