ccleberg/dotfiles
clone: git clone https://gitbay.org/ccleberg/dotfiles.git
main:
| 100644 | .gitignore | 353 |
| 100644 | LICENSE | 607 |
| 100644 | README.org | 1768 |
| 040000 | common/ | |
| 040000 | linux/ | |
| 040000 | macos/ |
Overview
This repository uses GNU Stow to manage dotfiles. Stow creates symbolic links from this directory to your home directory, keeping your configurations organized and version-controlled.
Directory Structure
Each top-level directory represents a "package." For example, here's the baseline at the time of writing this README:
| Program | Description |
|---|---|
doom |
Emacs configuration |
git |
Git global configuration |
ispell |
Dictionary and spellcheck settings |
skhd |
macOS hotkey daemon configuration |
yabai |
macOS tiling window manager configuration |
zsh |
Shell configuration and plugins |
Quick Start (Bootstrap)
For a fresh installation, run the provided bootstrap script. It will check for Stow and link all packages automatically.
chmod +x bootstrap.sh ./bootstrap.sh
Manual Usage
Stow a package
This creates the symlinks for a specific application.
stow <package_name>
Unstow a package
This removes the symlinks.
stow -D <package_name>
Restow (Update links)
Useful if you've added new files to a package and need to refresh the links.
stow -R <package_name>
Troubleshooting
If you see a conflict error (e.g., * existing target is neither a link nor a
directory), it means a physical file already exists where Stow is trying to
place a symlink.
- Backup the existing file:
mv ~/.zshrc ~/.zshrc.bak - Run stow again:
stow zsh - Verify: Check the link with
ls -l ~/.zshrc