einverne/dotfiles

my personal dotfiles managed by dotbot, zinit

116 stars20 forksUpdated Jan 15, 2026
npx skills add einverne/dotfiles

README

This is my personal dotfiles which contain config for vim, zsh, tmux, git, fzf etc;

macOS setup

Set up by using dotbot:

cd ~
git clone git@github.com:einverne/dotfiles.git
cd dotfiles
# to bootstrap config for vim, zsh, tmux, git, fzf, etc
make bootstrap
# under Linux desktop, install essential packages
make linux
# under macOS, install applications by brew
make mac
./install -c config/macos.conf.yaml

Log out and log in again, zinit will install all plugins automatically. If you use vi to edit file at first time, the vim-plug will install all vim plugins automatically.

Termux setup

Install dependency first:

pkg install make python vim git

then:

git clone git@github.com:einverne/dotfiles.git
cd dotfiles
make termux

Overview

  • using dotbot to manage dotfiles, read more
  • zsh, using zinit as zsh plugin management
  • vim, using vim-plug to manage vim plugins, vim-plug relate configuration is under vim-plug_vimrc. In Vim, :PlugInstall to install all vim plugins.
  • tmux, using tpm to manage tmux plugins, in tmux, press Ctrl +B + I to install all tmux plugins.
  • other useful tools, like fzf to fuzzy search, ripgrep for recursively searching directories, zoxide to replace cd, exa to replace ls.

GUI applications:

  • Kitty
  • Karabiner-Elements
  • Hammerspoon

Claude Code Support

This repository includes Claude Code skills and agents for enhanced AI assistance:

Skills (.claude/skills/)

Specialized domain expertise that Claude can invoke:

  • git-workflow: Git operations and best practices
  • shell-scripting: Bash/Zsh scripting and automation
  • dotfiles-manager: Dotfiles organization and management
  • debug-helper: Debugging and troubleshooting
  • performance-optimizer: Code and script optimization
  • test-expert: Testing and TDD practices

See .claude/skills/README.md for detailed usage.

Agents (claude/agents/)

Autonomous task execution specialists:

  • code-reviewer: Comprehensive code review
  • backend-architect: Backend design and architecture
  • frontend-developer: Frontend development
  • typescript-pro: TypeScript expertise
  • flutter-expert: Flutter development
  • ui-ux-designer: UI/UX design guidance

zsh config

to see .zshrc file.

Vim config

vim-plug related configuration is under vim-plug_vimrc, to show all plugins list, use :PluginList in vim.

python related configurations is under python_vimrc.

Components

  • bin/: executable shell scripts, Anything in bin/ will get added to your $PATH and be made available everywhere.
  • conf/: configuration file of zsh etc

Instruction for vim

Enter the vim and then run :PlugInstall to install all plugins.

install manually

Or, you can do it manually follow the step:

Enter vim, run :PlugInstall, after install all plugin, you will meet an error,

Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.

For Ubuntu and derivatives:

sudo apt-get install exuberant-ctags

with yum:

sudo yum install ctags-etags

Tmux config

I take some Tmux config from gpakosz. If you want to learn more about tmux, you can check this article.

You can manually install tmux plugins by prefix + I.

Tmux need:

  • tmux >= 2.1
  • You should set $TERM environment for xterm-256color

Tmux config:

  • You can use C-b as prefix, and use C-a as second choice
  • prefix + | to split panel vertically, prefix + - split panel horizontally
  • C-hjkl to switch pane
  • prefix + Shift + HJKL to adjust pane size

I use Tmux Plugin Manager to manage tmux plugins, and by default I use following plugins:

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-copycat'

fzf config

There are following alias in .zshrc :

  • fe : open file using $EDITOR
  • fo : open file Ctrl-o using open, Ctrl-e use $EDITOR
  • fcd : cd path (fd to replace find)
  • fkill : kill process
  • tm : tm new tmux session
  • fs : tmux attach tmux session

Publisher

einverneeinverne

Statistics

Stars116
Forks20
Open Issues3
CreatedMay 4, 2015