Personal configuration files synced across macOS, Ubuntu, Kali, RedHat, and WSL.
git clone git@github.com:USERNAME/config-sync.git ~/.config-sync && ~/.config-sync/setup.shReplace USERNAME with your GitHub username.
| Tool | Description | Config Files |
|---|---|---|
| yazi | Terminal file manager | yazi.toml, keymap.toml, flavors |
| btop | Resource monitor | btop.conf |
| powerline | Statusline plugin | themes, colorschemes |
| git | Global gitignore | ignore |
| glow | Terminal markdown renderer | glow.yml |
| devcontainer | VS Code devcontainer overrides | docker-compose.override.yml |
- macOS (Intel/Apple Silicon)
- Ubuntu Linux
- Kali Linux
- RedHat / Fedora
- Windows WSL
The setup script:
- Detects your platform and distribution
- Checks which tools are installed
- Backs up any existing configs to
~/.config/config-sync-backup-<timestamp>/ - Creates symlinks from
~/.config/<tool>to~/.config-sync/<tool> - Configures git
core.excludesfileto use the synced gitignore
If you prefer to run steps manually:
# Clone the repo
git clone git@github.com:USERNAME/config-sync.git ~/.config-sync
# Run setup
~/.config-sync/setup.shOr create symlinks yourself:
ln -sf ~/.config-sync/btop ~/.config/btop
ln -sf ~/.config-sync/yazi ~/.config/yazi
ln -sf ~/.config-sync/powerline ~/.config/powerline
ln -sf ~/.config-sync/git ~/.config/git
ln -sf ~/.config-sync/glow ~/Library/Preferences/glow # macOS; use ~/.config/glow on Linux
ln -sf ~/.config-sync/devcontainer ~/.config/devcontainer
# Configure git to use the global ignore file
git config --global core.excludesfile ~/.config/git/ignore- Copy the config folder to
~/.config-sync/ - Add the tool to
TOOLSinsetup.sh - Add a case in
get_config_path()if it has a non-standard location - Commit and push
XDG_CONFIG_HOME is not set by default. Most tools still use ~/.config/ but you can add this to ~/.zshrc for full XDG compliance:
export XDG_CONFIG_HOME="$HOME/.config"Git configuration in WSL is separate from Windows Git. These configs won't affect Git Bash or other Windows Git installations.
btop can use either ~/.config/btop/ or ~/Library/Application Support/btop/. The setup script prefers the XDG location for consistency across platforms.