Dotfiles
Essays and updates on product, engineering, and AI by Chase Adams.
2 minute read
A dotfile is a configuration file that allows a user to customize the way their computer and applications on their computer are setup. Dotfiles is a term for a collection of configuration files, usually stored in version control (somewhere like GitHub, GitLab or BitBucket) so that the user can port their current configuration between computers.
How My Dotfiles Work
My dotfiles are managed through a Makefile-based system with symlinks. I previously used Literate Programming for this, but switched to directly editing config files—for dotfiles, it's easier to update the files themselves rather than maintaining separate documentation that generates them.
Repository Structure
Located at ~/src/github.com/curiouslychase/dotfiles, organized by tool:
- nvim/: Neovim config with Lua plugins (lazy.nvim)
- zsh/: Zsh config with antidote plugin manager
- vscode/: VS Code/Cursor settings, keybindings, projects
- tmux/: Tmux configuration
- ghostty/: Ghostty terminal config
- kitty/: Kitty terminal config
- scripts/: Utility scripts (e.g., claude-mv for project contexts)
- ssh/: SSH config files
- Brewfile: Homebrew dependencies
Setup Process
- Clone repo:
git clone https://github.com/curiouslychase/dotfiles.git ~/src/github.com/curiouslychase/dotfiles - Run
make initto create symlinks from repo to system locations - Run
brew bundleto install dependencies from Brewfile - Symlinks managed automatically (e.g.,
~/.zshrc→dotfiles/zsh/zshrc.zsh)
The Makefile handles all symlinking for both VS Code and Cursor configs, ensuring consistency across editors.
Setup Lifecycle
Key Tools
- Zsh: Shell with antidote plugin manager
- Neovim: Primary editor with Lua-based config
- Ghostty/Kitty: Terminal emulators
- tmux: Terminal multiplexer
- Homebrew: Package management via Brewfile
Why Dotfiles?
One of my favorite things about programming is the power you have to make things work the way you want them to. For me, configuring through dotfiles gives me so much power.
Build Your Website with AI—No Code Required
Learn to create and deploy professional websites using ChatGPT and Claude. Go from complete beginner to confident website builder.
