You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: migrate directory layout to XDG Base Directory Specification
Replace the single ~/.zvm/ directory with XDG-compliant directory
separation:
- Config: $XDG_CONFIG_HOME/zvm/ (default ~/.config/zvm/) for settings
- Data: $XDG_DATA_HOME/zvm/ (default ~/.local/share/zvm/) for
installed versions, bin symlink, .active marker, and upgrade staging
- Cache: $XDG_CACHE_HOME/zvm/ (default ~/.cache/zvm/) for version
maps, downloaded archives, and temporary files
Core changes:
- platform.zig: replace getHomeDir() with getConfigDir(), getDataDir(),
getCacheDir() that respect XDG environment variables with proper
fallbacks; ZVM_PATH preserved as data directory override for backward
compatibility
- zvm.zig: replace single base_dir field with config_dir, data_dir,
and cache_dir; update all path builder methods accordingly
- install.zig: download archives to cache_dir, extract versions to
data_dir, temp files use cache_dir
- clean.zig: scan cache_dir for artifact cleanup
- upgrade.zig: use data_dir/self for upgrade staging
- completion.zig: update shell scripts to resolve data directory via
XDG_DATA_HOME with proper fallback chain
- install.sh: update PATH setup to use XDG data directory
- README.md: document new layout, environment variables, and migration
steps from legacy ~/.zvm/
0 commit comments