Proposal: Stateless configuration by extending XDG_CONFIG_DIRS

David Faure faure at
Sun Mar 20 14:56:26 UTC 2016

On Monday 14 March 2016 13:32:35 Ikey Doherty wrote:
> Hello,
> I would like to propose extending the current range of XDG_CONFIG_DIRS
> to support stateless operating systems.
> In a stateless operating system, the /usr tree is considered to be the
> domain of the vendor, i.e. the OS files themselves. Files in /etc/ and
> /var, i.e. mutable nodes in the filesystem, are considered to be owned
> exclusively by the local system administrator (i.e. unix account euid 0)
> In order to keep these split-domains, vendor-provided files must then
> not violate this specification, and must instead provide files in the
> /usr tree (This is under the assumption of course that the Operating
> System no longer has a split /usr / tree.)
> Therefore I propose that XDG_CONFIG_DIRS is extended to also support
> a new vendor location:
> /usr/share/xdg
> It is also proposed on the glib bug linked below that we could extend
> support for "/run/xdg" also for systemd-style runtime trees.
> Notably, this is within the $(datadir) and *not* $(sysconfdir).
> It should also have a lower priority than the existing $(sysconfdir)/xdg
> directory, which in all cases should be respected as a local system-wide
> *override* to the vendor directory.
> Many benefits come from this approach: a less poluted /etc/ tree, a
> complete domain-split between OS files and local system administrator
> files, and no longer having to perform so-called "three-way merge" on
> the local $(sysconfdir) files vs the vendor-provided OS files.

No objection, sounds reasonable.

Just the directory name is a bit strange, I would have expected /usr/share/config
or /usr/share/xdg-config. Otherwise nothing says "config" anymore, /usr/share/xdg looks
like it could be anything.

Next step is to make a patch for the spec in git?

David Faure, faure at,
Working on KDE Frameworks 5

More information about the xdg mailing list