This repository contains my personal dotfiles configuration for macOS, featuring thoroughly tailored setups for NeoVim and Zsh with performance in mind.
| Neovim (Kitty) | Zsh + tmux (Alacritty) |
|---|---|
![]() |
![]() |
$ curl -L dotfiles.creasty.com/provision | bashbin/: Custom executable scripts and commands (Added to systemPATH)config/*: XDG-compliant configuration fileshome/*: Home directory dotfilesnvim/: Neovim configurationsshell/: Shell environment configurationsbash/*: Bash-specific configurationszsh/*: Zsh-specific configurations
docs/: Setup documentation and resourcesprovisioning/: Ansible playbooks and tasks
| nvim | zsh | |
|---|---|---|
| Startup time | ~60ms | ~72ms |
| Config size | 2,900 sloc | 700 sloc |
| Original plugins | 10 plugins | 1,100 sloc of bin |
| Third-party plugins | 36 plugins | 2 plugins + 5 hooks |
Original plugins:
- mold.vim
- opfmt
- auto_save.vim
- better_tagfunc.vim
- blockwise_visual_insert.vim
- emacs_cursor.vim
- file.vim
- next_file.vim
- project_dir.vim
- restore_buffer.vim
Third-party plugins (excerpt):
Details
$ hyperfine --warmup 3 --prepare 'sleep 0.1' 'nvim --headless -c quit'
$ cloc --exclude-dir=dein,template nvim
$ rg '^repo\b.+\bcreasty/' nvim/dein/*.toml
$ rg --no-heading '^\[\[plugins' nvim/dein/*.toml | wc -lProfiling:
$ nvim --headless --startuptime /dev/stdout -c quitThird-party plugins/hooks:
Details
$ hyperfine --warmup 3 --prepare 'sleep 0.1' 'zsh -i -c exit'
$ cloc --exclude-dir=plugins,bash --lang-no-ext=zsh shell
$ cloc bin
$ ls shell/zsh/plugins | wc -lProfiling:
$ ZSH_PROF_ENABLED=1 zsh -i -c exitYuki Iwanaga / @creasty


