ccleberg/dotfiles

clone: git clone https://gitbay.org/ccleberg/dotfiles.git

main:

100644 .gitignore353
100644 LICENSE607
100644 README.org1768
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.

  1. Backup the existing file: mv ~/.zshrc ~/.zshrc.bak
  2. Run stow again: stow zsh
  3. Verify: Check the link with ls -l ~/.zshrc