fix(config): use XDG-standard paths on macOS (prevent DataOnly reset deleting config) #118

Merged
altair823 merged 1 commits from fix/xdg-macos-path-collision into main 2026-05-07 13:01:02 +00:00

1 Commits

Author SHA1 Message Date
th-kim0823
36fe7416c8 fix(config): use XDG-standard paths on macOS to prevent DataOnly reset deleting config
dirs::config_dir() and dirs::data_dir() both return ~/Library/Application Support
on macOS, so data_dir == config parent dir. ResetScope::DataOnly removes data_dir
and silently deletes config.toml along with it.

Fix: bypass dirs crate fallback for config/data/cache dirs; use
$HOME/.config, $HOME/.local/share, $HOME/.cache directly (XDG standard).
xdg_state_dir already used this pattern. dirs::home_dir() still used for
portability.

Migration: Config::load(None) auto-copies legacy ~/Library/Application
Support/kebab/config.toml to the new ~/.config/kebab/ on first run and
prints a migration notice to stderr.
2026-05-07 21:59:49 +09:00