kowainik / kowainik/summoner

Configuration should support the XDG Base Directory Specification

Open
#478 2 comments 0 reactions 0 assignees View on GitHub
feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.