Configuration should support the XDG Base Directory Specification
- Dominant language
- Haskell
- Stars
- 711
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
The [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) provides a standard for storing configuration files (usually looking like `.config/$PROGRAMNAME/$CONFIGFILE`, though configurable with a set of defined environment variables). I like this specification a lot, since it enables me to keep all my system config files in one place—I use it for Emacs, fish-shell, `proselint`, and many more. It would be really cool if I could keep my default `summoner.toml` in my `.config` repo. The downside of this is that each program has to determine in what order it looks up config files (e.g. Emacs prefers `~/.config/emacs/init.el`, but if that doesn't exist it looks in `~/.emacs.d/init.el`).
I’d be happy to take a shot at this, assuming a dependency on the `xdg-basedir` directory isn’t out of the question.
Contributor guide
Research direction
No source files, tests, or entry points are named. Start by locating the existing summoner.toml lookup behavior, then read the linked XDG Base Directory Specification and inspect whether xdg-basedir is suitable. Done means the default configuration lookup follows the specification and its environment-variable rules without losing the existing lookup behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100