Personal dotfiles for zsh, neovim, and tmux.
| Config | Description |
|---|---|
zsh/.zshrc |
Shell config: history, completion, aliases, functions, tool integrations |
nvim/ |
Neovim IDE setup: lazy.nvim, Catppuccin, Treesitter, LSP, nvim-cmp |
tmux/.tmux.conf |
tmux with Catppuccin Mocha theme and TPM plugins |
git clone https://github.com/arnehjain/dotfiles.git ~/dotfiles
cd ~/dotfiles
# macOS
./install-mac.sh
# Linux (Debian/Ubuntu)
./install-linux.shThe install scripts will:
- Install required packages (neovim, ripgrep, fd, fzf, bat, eza, zoxide, tmux, jq)
- Back up any existing config files to
~/.dotfiles-backup/<timestamp>/ - Symlink
~/.zshrc,~/.config/nvim, and~/.tmux.confinto place - Install TPM (tmux plugin manager)
- Create
~/.zshrc_localfrom the template (if it doesn't exist)
Machine-specific config that shouldn't be tracked in git goes in ~/.zshrc_local.
Use zsh/zshrc_local.template as a starting point.
cp zsh/zshrc_local.template ~/.zshrc_local
# then edit ~/.zshrc_local to add secrets, tokens, PATH entries, etc.tmux: Open a session and press prefix + I to install TPM plugins.
neovim: Open nvim — lazy.nvim will bootstrap itself and install all plugins on first launch.
| Tool | Purpose |
|---|---|
| neovim | Editor |
| ripgrep | Fast grep (rg) |
| fd | Fast find |
| fzf | Fuzzy finder (Ctrl-R, Ctrl-T, Alt-C) |
| bat | Better cat |
| eza | Better ls |
| zoxide | Smart cd with z |
| tmux | Terminal multiplexer |
| jq | JSON processor |