Personal macOS/Linux dotfiles managed with GNU Stow and a small install script.
git clone <repo>
cd dotfiles
make installmake install # link configs and install packages
make dry-run # show planned changes
make link # link configs only
make brew # install Homebrew packages from Brewfile
make packages # install system packages
make update # pull latest changes and reinstall
make uninstall # remove links and restore backups- Top-level directories are Stow packages. Their contents mirror paths under
$HOME. install.shdrives linking, backups, and package installation.Makefileis the command entrypoint.- Dry-runs show intended operations, but existing unmanaged files or non-Stow symlinks can still block apply.
Brewfiledeclares Homebrew packages.voyager/holds tracked keyboard layout exports; it is versioned, not stowed.
- shell: zsh
- editor: nvim
- terminal: ghostty, tmux
- git: git, gh
- windowing/input: aerospace, karabiner
- cli: btop, fzf, lsd, ranger, w3m
- apps/state: claude, codex, ncspot, obsidian, opencode, rmpc, weather