Personal dotfiles managed with GNU Stow.
git clone https://github.com/ethanh6/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.shThis will:
- Install dependencies via Homebrew (macOS) or apt (Linux)
- Backup any existing dotfiles
- Create symlinks using GNU Stow
- Bootstrap Neovim plugins
./install.sh # Full installation
./install.sh --packages-only # Only install packages
./install.sh --stow-only # Only create symlinks| Package | Description |
|---|---|
bash |
Bash shell configuration |
btop |
btop system monitor |
ccusage |
ccusage CLI config |
claude |
Claude Code settings |
fish |
Fish shell configuration |
git |
Git configuration |
htop |
htop process viewer |
nvim |
Neovim - kickstart-based config with lazy.nvim |
tmux |
Tmux terminal multiplexer |
vim |
Legacy Vim config (deprecated) |
zsh |
Zsh shell with Powerlevel10k |
dotfiles/
├── bash/.bashrc # → ~/.bashrc
├── btop/.config/btop/ # → ~/.config/btop
├── ccusage/.config/ccusage/ # → ~/.config/ccusage
├── claude/.claude/ # → ~/.claude
├── fish/.config/fish/ # → ~/.config/fish
├── git/.gitconfig # → ~/.gitconfig
├── htop/.config/htop/ # → ~/.config/htop
├── nvim/.config/nvim/ # → ~/.config/nvim
├── tmux/.tmux.conf # → ~/.tmux.conf
├── vim/.vimrc # → ~/.vimrc
├── zsh/.zshrc # → ~/.zshrc
├── install.sh # Installation script
├── test.sh # Docker test script
├── Dockerfile # Docker test environment
└── Brewfile # Homebrew dependencies
Stow individual packages:
cd ~/dotfiles
stow nvim # Symlinks ~/.config/nvim
stow bash # Symlinks ~/.bashrc
stow git # Symlinks ~/.gitconfigUnstow (remove symlinks):
stow -D nvimRestow (re-create symlinks):
stow -R nvimSee Brewfile for full list. Key packages:
- neovim, git, stow, fzf, ripgrep, fd, node, lazygit
Installed via apt: git, stow, fzf, ripgrep, fd-find, neovim, curl
Test the installation in an isolated environment:
./test.sh # Build and verify all symlinks
./test.sh -i # Interactive shell to exploreOr manually:
docker build -t dotfiles-test .
docker run -it --rm dotfiles-test- Restart terminal or
source ~/.bashrc(or~/.zshrc) - Open nvim - lazy.nvim will auto-install plugins on first run
- Run
:Masonto install LSP servers