This repository contains my personal dotfiles and configurations for macOS development environment.
- zshrc - Zsh shell configuration with Zim framework
- zimrc - Zim plugin manager configuration
- zim/ - Zim framework modules and plugins
- aliases - Custom command aliases
- before.zsh / after.zsh - Additional zsh customizations
- config_ghostty/ - Ghostty terminal emulator settings
- config_nvim/ - Neovim editor configuration
- config_git/ - Git configuration
- config_gitui/ - GitUI terminal interface settings
- config_karabiner/ - Karabiner-Elements key remapping
- claude/ - Claude Code CLI settings and scripts
CLAUDE.md- Personal AI assistant instructionssettings.json- Claude configuration*.py,*.sh- Custom scripts
- vimrc.local - Vim configuration
- tmux.conf - Tmux terminal multiplexer settings
- gitignore - Global git ignore patterns
- ackrc - Ack search tool configuration
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
chmod +x restore.sh
./restore.shThe restore script will automatically:
- Create backups of existing configs
- Copy configurations to their proper locations
- Set appropriate permissions
- Restart your terminal or run:
source ~/.zshrc - Install required dependencies:
- Zim - Zsh framework
- Ghostty - Terminal emulator
- Neovim - Text editor
- Karabiner-Elements - Key remapper
dotfiles/
├── config_ghostty/ # ~/.config/ghostty
├── config_nvim/ # ~/.config/nvim
├── config_git/ # ~/.config/git
├── config_gitui/ # ~/.config/gitui
├── config_karabiner/ # ~/.config/karabiner
├── claude/ # ~/.claude
├── zshrc # ~/.zshrc
├── zimrc # ~/.zimrc
├── zim/ # ~/.zim
├── aliases # ~/.aliases
├── vimrc.local # ~/.vimrc.local
├── tmux.conf # ~/.tmux.conf
├── gitignore # ~/.gitignore
├── restore.sh # Installation script
└── README.md # This file
Feel free to modify any configurations to suit your needs. Key files to customize:
zshrc- Shell behavior and aliasesconfig_nvim/- Editor settings and pluginsclaude/CLAUDE.md- AI assistant instructionsaliases- Command shortcuts
This is a one-time snapshot approach. To sync changes:
- Make changes to configs in their normal locations (~/.config, etc.)
- Manually copy updated files back to this repo when needed
- Commit and push changes
- Transient data (logs, caches, project files) are excluded
- Original configs are backed up during restore
- All file permissions are preserved