Dotfiles Manager
Helps manage dotfiles across zsh, kitty, tmux, and neovim configurations.
Repository Structure
Two separate git repositories:
- •
Neovim config (regular repo):
- •Location:
~/.config/nvim/ - •Remote:
git@github.com:dihuynh23/nvim.git - •Git commands: Normal (
git status,git commit, etc.)
- •Location:
- •
Other dotfiles (bare repo):
- •Git dir:
~/.dotfiles/ - •Work tree:
$HOME - •Remote:
git@github.com:dihuynh23/dotfiles.git - •Alias:
dot(e.g.,dot status,dot add,dot commit)
- •Git dir:
File Locations
| Tool | Config Path |
|---|---|
| Neovim | ~/.config/nvim/ |
| Kitty | ~/.config/kitty/kitty.conf |
| Kitty theme | ~/.config/kitty/current-theme.conf |
| Tmux | ~/.tmux.conf |
| Zsh | ~/.zshrc (loader) + ~/.zsh/*.zsh (modular configs) |
| Oh My Zsh | ~/.oh-my-zsh/ |
Workflow Guidelines
Before Making Changes
- •
Fetch latest documentation using context7 MCP or web search
- •Neovim/plugin APIs evolve frequently
- •Check current syntax for kitty, tmux, zsh options
- •
Backup before destructive changes
bashcp ~/.config/kitty/current-theme.conf ~/.config/kitty/current-theme.conf.bak
Making Config Changes
- •Read the existing config first
- •Make minimal, focused changes
- •Explain what each change does
- •Provide reload instructions:
- •Kitty:
Ctrl+Shift+F5or restart - •Tmux:
tmux source ~/.tmux.conforprefix + rif bound - •Zsh:
source ~/.zshrcor new terminal - •Neovim:
:source %or restart
- •Kitty:
Committing Changes
Always push after committing. When the user asks to commit, also push to remote.
For Neovim config:
bash
cd ~/.config/nvim git add <files> git commit -m "message" git push
For other dotfiles (bare repo):
bash
dot add <files> dot commit -m "message" dot push
Common Tasks
Theme/Color Management
- •Neovim colorscheme:
~/.config/nvim/colors/*.lua - •Kitty theme:
~/.config/kitty/current-theme.conf - •When syncing colors, extract values from one config and apply to others
Font Setup (for icons)
- •Nerd Fonts needed for icons in terminal/neovim
- •Install to
~/.local/share/fonts/ - •Run
fc-cache -fvafter installing - •Update kitty.conf
font_familysetting
Plugin Management
- •Neovim: lazy.nvim, specs in
~/.config/nvim/lua/plugins/ - •Zsh: Oh My Zsh plugins in
.zshrcplugins array - •Tmux: TPM or manual plugin setup
Reference Files
See references/ for tool-specific details: