Skip to content

creasty/dotfiles

Repository files navigation

creasty's dotfiles

creasty's dotfiles

Provisioning Platform: macOS License: MIT

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)

Installation

Project structure

Main configuration directories

  • bin/ : Custom executable scripts and commands (Added to system PATH)
  • config/* : XDG-compliant configuration files
  • home/* : Home directory dotfiles
  • nvim/ : Neovim configurations
  • shell/ : Shell environment configurations
    • bash/* : Bash-specific configurations
    • zsh/* : Zsh-specific configurations

Administrative directories

  • docs/ : Setup documentation and resources
  • provisioning/ : Ansible playbooks and tasks

Stats

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

nvim

Original plugins:

Third-party plugins (excerpt):

$ 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 -l

Profiling:

$ nvim --headless --startuptime /dev/stdout -c quit

zsh

Third-party plugins/hooks:

$ 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 -l

Profiling:

$ ZSH_PROF_ENABLED=1 zsh -i -c exit

Author

Yuki Iwanaga / @creasty