Skip to content

JevanWu/dotfiles

Repository files navigation

dotfiles

Personal dotfiles managed with chezmoi. Covers zsh, Vim, IdeaVim (JetBrains), and VS Code.

What's included

zsh (~/.zshrc)

  • Starship prompt
  • Plugins: zsh-autosuggestions, zsh-syntax-highlighting, zsh-history-substring-search, fzf-tab, forgit
  • Runtime managers: rbenv, NVM (lazy-loaded), GVM, SDKMAN, Bun
  • kubectl completion (cached for faster startup)
  • Google Cloud SDK integration
  • Directory aliases and Docker/kubectl shortcuts
  • Machine-local secrets via ~/.zshrc.secrets (not tracked in git)

Vim (~/.vimrc, ~/vim/)

  • vim-plug for plugin management
  • onedark colorscheme
  • Modular plugin files:
    • plugins.vim — NERDTree, fzf, vim-airline, vim-fugitive, EasyMotion, CtrlSF, and more
    • ctags_plugins.vim — gutentags + gutentags_plus for automatic tag generation
    • ruby_plugins.vim — vim-ruby, vim-rails, vim-bundler, vim-test
    • js_plugins.vim — JavaScript, JSX, TypeScript, TSX, and Node.js syntax support
  • Custom key bindings (leader: Space)

IdeaVim (~/.ideavimrc)

Modal editing for JetBrains IDEs with bindings for:

  • Navigation: Ctrl+P (Go to File), Ctrl+B (Recent Files), Ctrl+F (Find in Path)
  • Code: Ctrl+] (Go to Declaration), gi (Go to Implementation), gs (Go to Super)
  • Debugging: ;b (breakpoint), ;r (resume), ;s (step into), ;n (step over)
  • Formatting: == (Reformat Code), leader+/ (toggle comment)
  • Multi-cursor via vim-multiple-cursors

VS Code (keybindings.json)

Custom keyboard shortcuts for VS Code on macOS.

Installation

  1. Install Homebrew (if not already installed)
  2. Install chezmoi
  3. Apply the dotfiles:
chezmoi init https://github.com/jevanwu/dotfiles.git
chezmoi apply
  1. Run the bootstrap script to install all required tools and zsh plugins:
~/.local/share/chezmoi/install.sh
  1. Open a new shell (or run exec zsh) to load everything.

What install.sh installs

Tool Purpose
starship Shell prompt
bat cat with syntax highlighting
fzf Fuzzy finder
tldr Simplified man pages
lazygit Terminal UI for git
zoxide Smarter cd
forgit Interactive git commands via fzf
zsh-completions Extra zsh completions
zsh-autosuggestions Fish-style suggestions
zsh-syntax-highlighting Command syntax highlighting
zsh-history-substring-search History search with arrow keys
fzf-tab fzf-powered tab completion

Machine-local secrets

Sensitive environment variables (API keys, tokens, etc.) go in ~/.zshrc.secrets — this file is not tracked in git and is sourced automatically if it exists.

Optional prerequisites

Install these manually as needed:

Tool Used by
rbenv zsh (Ruby)
NVM zsh (Node.js)
GVM zsh (Go)
SDKMAN zsh (Java)
Bun zsh
Google Cloud SDK zsh
kubectl zsh
vim-plug Vim
IdeaVim JetBrains IDEs

About

my dotfiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors