feat: use OS-preferred config directory #26
Merged
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.
Summary
Migrate default config path from
~/.fence.jsonto OS-preferred locations (~/.config/fence/fence.jsonon Linux,~/Library/Application Support/fence/fence.jsonon macOS) while maintaining backward compatibility with the legacy path.Resolves #25.
Changes
DefaultConfigPath()now follows XDG conventions (Linux) and uses~/Library/Application Support(macOS), with automatic fallback to~/.fence.jsonif only the legacy file exists--saveflag to write directly to the default config path--saveand-omutually exclusiveMigration Path
Existing users with
~/.fence.jsonwill continue to work automatically. New users will get the XDG-compliant path. Users can explicitly migrate by moving their config to the new location.