Skip to content

bierman323/config-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

config-sync

Personal configuration files synced across macOS, Ubuntu, Kali, RedHat, and WSL.

Quick Install

git clone git@github.com:USERNAME/config-sync.git ~/.config-sync && ~/.config-sync/setup.sh

Replace USERNAME with your GitHub username.

What's Included

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

Supported Platforms

  • macOS (Intel/Apple Silicon)
  • Ubuntu Linux
  • Kali Linux
  • RedHat / Fedora
  • Windows WSL

How It Works

The setup script:

  1. Detects your platform and distribution
  2. Checks which tools are installed
  3. Backs up any existing configs to ~/.config/config-sync-backup-<timestamp>/
  4. Creates symlinks from ~/.config/<tool> to ~/.config-sync/<tool>
  5. Configures git core.excludesfile to use the synced gitignore

Manual Setup

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.sh

Or 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

Adding New Configs

  1. Copy the config folder to ~/.config-sync/
  2. Add the tool to TOOLS in setup.sh
  3. Add a case in get_config_path() if it has a non-standard location
  4. Commit and push

Notes

macOS

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"

WSL

Git configuration in WSL is separate from Windows Git. These configs won't affect Git Bash or other Windows Git installations.

btop on macOS

btop can use either ~/.config/btop/ or ~/Library/Application Support/btop/. The setup script prefers the XDG location for consistency across platforms.

About

For configurations that are used across different systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors