Personal configuration files, managed with symlinks.
.agents/ # Claude Code agent skills
.config/
fish/ # Fish shell config
gh/ # GitHub CLI config
neofetch/ # Neofetch config
yazi/ # Yazi file manager config
zed/settings.json # Zed editor settings
ghostty/ # Ghostty terminal config
.gitconfig # Git configuration
.gitignore_global # Global gitignore
Brewfile # Homebrew bundle
install.fish # Symlink setup script
update.fish # Refresh skills + Homebrew packages
On a new machine, clone the repo and run the install script:
git clone <repo-url> ~/.dotfiles
cd ~/.dotfiles
fish install.fishThe script creates symlinks from their expected locations to this repo. It will skip any path that already exists (and is not a symlink), so nothing gets overwritten.
Refresh installed skills (re-pulled from the source repos in .agents/.skill-lock.json) and Homebrew packages:
fish update.fish # both skills and brew
fish update.fish --skills-only
fish update.fish --brew-onlySkill updates require git and jq. The lock file's skillFolderHash and updatedAt are rewritten as each skill is refreshed.