Complete migration guide to XDG directory layout
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Lifted from @mouse07410 's comment:
- https://github.com/haskell/cabal/pull/7386#issuecomment-1286189184
@athas, could we please get a complete migration guide to XDG?
We currently have:
- https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.10.1.0.md#significant-changes
- https://cabal.readthedocs.io/en/3.10/config.html#directories
I would like the table that @mouse07410 requested:
| Legacy | XDG |
| --- | --- |
| `~/.cabal/config` | `~/.config/cabal/config` |
| `~/.cabal/bin` | `~/.local/bin` |
| `~/.cabal/store` | `~/.local/state/cabal/store` (?) |
| `~/.cabal/lib` | ? |
| `~/.cabal/share` | ? |
| `~/.cabal/packages` | ? |
Also, the docs talk about variables like `XDG_CONFIG_HOME` but not what their value would be on different systems. E.g. on macOS, these variables seem undefined:
```shell-session
$ echo $XDG_CONFIG_HOME
$
```
N.B.: I would also be good to get some advice what to cache in CI. E.g. the whole `~/.local/state/cabal` or just `~/.local/state/cabal/store` (considering that the previous advice was to cache `/.cabal/store`).
Contributor guide
Research direction
Start with the release-notes section and the Cabal documentation's directories section linked in the issue, then compare them with the requested legacy-to-XDG table. Document the remaining directory mappings, platform-specific XDG variable guidance, and CI cache recommendation; done means the migration and caching guidance is complete and consistent across both references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- ci-cd, documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100