Use XDG base dir spec for config file #140
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The XDG base directory specification is a popular way to store config files that doesn't clutter a user's home directory with dotfiles.
This tool stores its configuration in
~/.kube/kubie.yaml
, however, I think it should follow the spec and store it in a location that is not shared by other tools.Fortunately, the
dirs
crate has native support for the XDG base directory spec, so we can use it to handle resolving the environment variables and falling back to the defaults in the spec.What this means is that the new default location for this tool's settings from this PR onwards is
~/.config/kubie/config.yaml
. If the old config file exists, it will prefer that. Otherwise, it will create the parent directories for the XDG based config file.