My personal dotfiles managed with chezmoi for Neovim, WezTerm, Zed, Claude Code, and other tools.
This repository contains my personal development environment configurations:
- Neovim: LazyVim-based setup with extensive language support and development tools
- WezTerm: Modern terminal emulator with dynamic theme switching
- Zed: Lightweight editor configuration
- Claude Code: AI coding assistant with custom hooks, agents, and plugins
- .agents: AI agent skills for various engineering workflows
- Git
- A Unix-like shell (bash/zsh/fish)
Run the included setup script. It installs chezmoi, applies dotfiles, installs Homebrew, installs Task, and then runs the full Taskfile:
curl -fsSL https://raw.githubusercontent.com/sidarth-23/dotfiles/main/install.sh | bashOr, if you already have the repo cloned:
bash install.sh- Installs chezmoi (via Homebrew if available, otherwise binary)
- Initializes chezmoi with this repo and applies all dotfiles
- Installs Homebrew (Linux/macOS)
- Installs Task (go-task)
- Runs
task setupto install all development tools
If you prefer to do it manually:
# 1. Install chezmoi
brew install chezmoi
# 2. Initialize and apply dotfiles
chezmoi init --apply https://github.com/sidarth-23/dotfiles.git
# 3. Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 4. Install Task
curl -fsSL https://taskfile.dev/install.sh | sh
# 5. Run full setup
task setupThis repo uses chezmoi's naming convention where dotfiles are stored with a dot_ prefix:
| Source (this repo) | Target (home directory) |
|---|---|
dot_config/ |
~/.config/ |
dot_claude/ |
~/.claude/ |
dot_agents/ |
~/.agents/ |
This avoids hidden files in the source tree and prevents conflicts with chezmoi's own configuration files.
- Multiple themes (GitHub, Catppuccin, Tokyo Night, Gruvbox)
- File explorer (nvim-tree)
- Auto-save functionality
- LSP support for multiple languages
- Integrated formatters and linters
- Git integration
- Custom keymaps
- System-based theme switching
- GitHub color schemes
- 95% transparency
- Custom cursor and tab bar settings
- High performance (120 FPS)
- System-based theme switching
- Custom font sizes
- GitHub Dark Default theme
- Hooks: Git safety, commit validation, file protection, package manager enforcement
- Plugins: LSP integrations (Go, TypeScript, Rust), superpowers, commit-commands, context7, frontend-design
- Status Line: Custom visual feedback via ccstatusline
- Skills: AI agent skills via
.agents/skills/ - Installation: Automated via Taskfile (
task cc:setup)
# Pull latest changes and apply
chezmoi update
# Or manually:
chezmoi git pull
chezmoi applynvim --headless "+Lazy! sync" +qaEdit files directly with chezmoi:
chezmoi edit ~/.config/nvim/lua/config/options.lua
chezmoi edit ~/.claude/settings.jsonAfter editing, apply changes:
chezmoi applyOr commit and push back to the repo:
chezmoi git add .
chezmoi git commit -m "your message"
chezmoi git pushMIT License - feel free to use and modify as you like.