These are my dotfiles, organised as a monorepo of stow packages, mostly for personal use but you may find some inspiration here.
Many are out of date, almost all need better documentation.
This repository uses GNU stow to manage dotfiles across multiple packages. Each package in the packages/ directory can be installed independently:
- claude — Claude Code configuration (CLAUDE.md, settings.json)
- shell — Shell configuration files (.profile, .zshrc, .zprofile) and documentation
- vim — Vim configuration (.vimrc)
To install packages on a new machine, stow can be used.
stow is available via homebrew and most other package managers.
mkdir ~/stow
cd ~/stow
git clone git@github.com:aaronjameslang/dotfiles.git
cd dotfiles
stow -d packages -t ~ shell
To install all packages:
stow -d packages -t ~ */
To preview what stow would do without making any changes:
cd dotfiles
stow -n -v -d packages -t ~ shell
This performs a dry run (-n) with verbose output (-v),
showing which files need symlinking and any conflicts, without
modifying the filesystem.
To link a single file or directory without stow, use ln -s:
ln -s ~/stow/dotfiles/packages/shell/.zshrc ~/.zshrc
ln -s ~/stow/dotfiles/bin ~/bin