Zen dotfiles - A modern, minimal terminal-based development environment
A comprehensive dotfiles repository managed by chezmoi, featuring configurations for Neovim, Zsh, Tmux, and various CLI tools. Built for productivity with keyboard-centric and terminal-based workflows and consistent theming across all tools.
Be sure to βοΈ or π± this repo if you find it useful! π
- Dotfile Manager: chezmoi
- Shell: Zsh with Zinit plugin manager
- Prompt: Oh-My-Posh
- Terminal: Ghostty, Kitty, and Warp
- Editor: Neovim with lazy.nvim
- Multiplexer: Tmux with TPM
- File Manager: Yazi
- Git UI: Lazygit
- Theme: Catppuccin Mocha (consistent across all tools)
- Fonts: Monaspace, Dank Mono, MonaLisa, Cartograph, Fira Code, Victor Mono, Cascadia Code, Recursive, Maple Mono, SN-Pro, IA-Writer, Font Awesome
- AI Tools: aichat, claude-code
- Package Managers: Homebrew, pipx, pixi
- Catppuccin Mocha color scheme across shell, editor, terminal, and all CLI tools
- Custom Oh-My-Posh prompt with git integration
- Beautiful status bars in both Neovim and Tmux
- Shell enhancements:
zoxide(smart cd),atuin(shell history),fzf(fuzzy finder),eza(modern ls) - AI integration: Command generation with
aichat(Alt-e), AI-assisted editing in Neovim - Session management: Tmux with
seshfor quick session switching (Ctrl-a + o) - Git workflow: Enhanced git commands, lazygit, neogit, octo.nvim for GitHub
- LSP support: Full language server protocol setup with Mason
- Smart completions: nvim-cmp with multiple sources
- Code formatting: Automatic formatting with conform.nvim
- Git integration: Inline blame, diff view, conflict resolution
- Tmux workflows: Custom window icons, git status in status bar, split management
- Declarative package installation via Brewfile
- Python tools managed with pipx
- Project-specific environments with pixi
- Plugin managers for Tmux, Neovim, Zsh, and Yazi
- Install Homebrew (macOS/Linux)
- Install chezmoi:
brew install chezmoi
-
Clone and initialize dotfiles:
# Initialize chezmoi with this repository chezmoi init https://github.com/dileep-kishore/zendots.git # Preview what will be changed chezmoi diff # Apply the dotfiles chezmoi apply
-
Install packages:
# Install all Homebrew packages cd ~/.local/share/chezmoi/pkgs brew bundle install # Install Yazi plugins ./download_yazi_plugins.sh # Install Python packages ./pipx_packages.sh # Run miscellaneous setup tasks ./misc_setup.sh
-
Setup Tmux plugins:
# Start tmux tmux # Install plugins (inside tmux) # Press: Ctrl-a + Shift-i
Install the following fonts manually:
- Monaspace
- Dank Mono (from patched fonts collection)
- MonaLisa (from patched fonts collection)
- Cartograph (from patched fonts collection)
- Nerd Fonts: Fira Code, Victor Mono, Cascadia Code
- Recursive
- Maple Mono
- SN-Pro
- IA-Writer (Quattro, Duospace)
- Font Awesome
# Edit a dotfile (chezmoi handles the dot_ prefix translation)
chezmoi edit ~/.zshrc
# Preview changes before applying
chezmoi diff
# Apply changes from repository to home directory
chezmoi apply
# Quickly edit and apply
chezmoi edit --apply ~/.config/nvim/init.luaUsing the included justfile:
# Apply dotfiles
just apply
# Show diff
just diff
# Install packages from Brewfile
just install
# Update Brewfile with current packages
just dump- Prefix:
Ctrl-a(instead of default Ctrl-b) prefix + h/vβ Split horizontally/verticallyprefix + oβ Session manager (sesh)prefix + rβ Reload configurationCtrl-Shift-h/lβ Switch windowsAlt + arrowsβ Resize panes
Ctrl-rβ Search history with atuinAlt-eβ AI-assisted command generation with aichatCtrl-tβ Fuzzy file finder
Spaceβ Leader key<leader>ffβ Find files<leader>fgβ Live grep<leader>glβ Open lazygit- See full keymaps in
private_dot_config/nvim/lua/keymaps/
# Update Homebrew packages
brew update && brew upgrade
# Update Neovim plugins
nvim +Lazy sync
# Update Tmux plugins
# Inside tmux: prefix + U
# Update Yazi plugins
ya pack -u# Pull latest changes
cd ~/.local/share/chezmoi
git pull
# Apply changes
chezmoi applyMake sure you're editing files in the chezmoi source directory:
chezmoi cd # Navigate to source directory- Ensure TPM is installed:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm - Inside tmux, press
prefix + Ito install plugins
Run :Mason and install the required language servers.
Rebuild the completion cache:
rm ~/.zcompdump*
exec zsh- chezmoi - Dotfile management
- Catppuccin - Color scheme
- Neovim community for amazing plugins
- Various dotfile repositories across GitHub
MIT License - Feel free to use and modify as you wish!
Note: This is a personal dotfiles repository. While you're welcome to use it as inspiration, you may need to adjust configurations to match your preferences and system setup.


