my personal dotfiles managed by dotbot, zinit
npx skills add https://github.com/einverne/dotfiles --skill shopifyInstall this skill with the CLI and start using the SKILL.md workflow in your workspace.
This is my personal dotfiles which contain config for vim, zsh, tmux, git, fzf etc;
Set up by using dotbot:
cd ~
git clone [email protected]: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.
Install dependency first:
pkg install make python vim git
then:
git clone [email protected]:einverne/dotfiles.git
cd dotfiles
make termux
vim-plug_vimrc. In Vim, :PlugInstall to install all vim plugins.Ctrl +B + I to install all tmux plugins.GUI applications:
This repository includes Claude Code skills and agents for enhanced AI assistance:
Specialized domain expertise that Claude can invoke:
See .claude/skills/README.md for detailed usage.
Autonomous task execution specialists:
to see .zshrc file.
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.
Enter the vim and then run :PlugInstall to install all plugins.
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
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$TERM environment for xterm-256colorTmux config:
C-b as prefix, and use C-a as second choiceprefix + | to split panel vertically, prefix + - split panel horizontallyC-hjkl to switch paneprefix + Shift + HJKL to adjust pane sizeCopy mode:
prefix + [Space to start selection, then Enter to copyv to start selection, then y to copytmux/OSC52_CLIPBOARD.md for more details about the remote clipboard setupI 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'
There are following alias in .zshrc :
Karabiner-Elements configuration uses a hybrid approach since Goku does not support keyboard_type_if conditions needed for JIS keyboard remapping.
karabiner.edn - Goku source file for non-JIS rules (caps lock, ctrl+n/p, app-specific shortcuts, simlayers, etc.)jis-rules.json - JIS keyboard layout remapping rules (20 rules, requires keyboard_type_if which Goku cannot express)merge-karabiner.sh - Script to merge Goku-generated config with JIS rules# 1. After editing karabiner.edn, run goku to generate base config
goku
# 2. Merge JIS rules into the generated config
./karabiner/merge-karabiner.sh
The JIS rules remap a Japanese keyboard layout to produce US ANSI characters. Key mappings include @ to [, [ to ], ^ to =, : to ', ¥ to `, and their shifted variants.
The shift+bracket rules (shift+@ → {, shift+[ → }) intentionally exclude command from optional modifiers so that Cmd+Shift+[ / Cmd+Shift+] pass through as raw keycodes for native tab switching in apps like Ghostty.