3 ms·
No, not quite. XDG-compliant programs end up storing stuff in one or more of the following places: ~/.cache and ~/.config and ~/.local/share and ~/.local/state
by sevg 2y ago
No, not quite. XDG-compliant programs end up storing stuff in one or more of the following places:
~/.cache and ~/.config and ~/.local/share and ~/.local/state and ~/.local/bin
I used to get annoyed by non-compliance to XDG. Now I wonder if I'd actually prefer apps to reverse the hierarchy (eg, ~/.apps/nvim/{cache,config,state}).
- nat 2y agoI would definitely prefer this. I've never wanted to see the "cache" stores for all (XDG-compliant) apps, but often want to see everything for a single app.
- eadmund 2y agoIt’s less about wanting to see all the caches, and more about excluding all the caches, e.g. from backups. Likewise, there is one directory for machine-independent configuration which you might share, and another for machine-specific state (such as window positions). Is the spec perfect? No, of course not. But is it thoughtful, and does it address genuine needs? Yes, certainly.
- jasonjayr 2y agoIt also enables you do things like: a) store caches & libdata on different disk b) consistently 'reset' cached data for kiosk style logins c) make config read-only, or reset to a known good state d) Roaming profiles where the cache is excluded from sync across machines Most computers + home directories are 'personal' where this largly doesn't matter, but there are often sound operational reasons for this seperation in cases where you are responsible for a fleet of computers. I too perfer the 'everything related to this app in one dir' approach. Crazy idea: for apps adhering to XDG, you could point all these vars at a directory under a FUSE-style mount, which then remaps the storage any way you'd like. :)
- ants_everywhere 2y agoI find it obnoxious when apps make me hunt for all of their cache directories. Just put all the cache data in one place. Make it clear what needs to be backed up, what is ephemeral, and so on. Just put everything in ~/.cache. Chromium in particular is bad at this and has many types of cache.
- tracker1 2y agoThat's where I would probably split myself... ~/.cache/appname for cache data, and ~/.???/appname/* for everything else. This is a huge part of why I like docker-compose and docker in general, I can put everything I need to backup in a set of volume maps next to each other.