Subject: bug#583: Use XDG basedir spec for configuration files?

From: Paul Eggert <[email-masked]>
Date: Wed, 28 Aug 2019 23:22:35 -0700

Glenn Morris wrote:
>> And it's not clear that an ELPA package's files should be considered
>> "user specific data files" (XDG_DATA_HOME) as opposed to "user
>> specific configuration files" (XDG_CONFIG_HOME).

> It seems clear to me. They are data, not configuration. You would not
> install them under /etc, but somewhere like /usr/share.

If I understand correctly, ELPA packages are not really either "data" or 
"configuration": they're software packages. And the XDG scheme doesn't appear to 
be designed for installing software packages: it's designed only for user 
preferences (aka configuration), user data, and information cached for the user.

If ELPA packages are just local copies from a server somewhere, it seems the 
most plausible place for them is the XDG cache (XDG_CACHE_HOME, which is 
~/.cache by default) rather than either in "data" or "configuration"; only the 
list of downloaded packages should be placed in XDG_CONFIG_HOME. Presumably the 
ELPA package manager could arrange for this.

Not being an expert in these matters, I looked at another popular packaging 
scheme: Flatpak. It appears to put everything under ~/.local/share, i.e., under 
XDG_DATA_HOME. This includes configuration. See 
<https://github.com/flatpak/flatpak/wiki/Filesystem>.

It's quite a mess, huh?