4 ms·
XDG Base Directory Specification
- xpe 1y agoI'm sharing the article out of pain as I try to add only the relevant files from ~/.config into version control. Many programs partially implement the XDG Base Directory spec by using ~/.config. But then some also dump data, cache, state, logs, and other non-configuration material into the same place. [1] The article above summarizes how XDG offers four different places: - Cache $HOME/.cache - Configuration $HOME/.config - Data $HOME/.local/share - State $HOME/.local/state [1]: This is why we can't have nice things!
- xpe 1y agoHere's a summary of XDG_STATE_HOME from [1]: The $XDG_STATE_HOME contains state data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in $XDG_DATA_HOME. It may contain: - actions history (logs, history, recently used files, …) - current state of the application that can be reused on a restart (view, layout, open files, undo history, …) For example, I've seen history files end up in the wrong XDG directory such as XDG_CONFIG_HOME. [1]: https://specifications.freedesktop.org/basedir-spec/latest/#variables https://specifications.freedesktop.org/basedir-spec/latest/#...