Personal dotfiles managed with symlinks.
ghq get shifumin/dotfiles
cd ~/ghq/github.com/shifumin/dotfiles
./setup.shOr manually:
git clone https://github.com/shifumin/dotfiles.git
cd dotfiles
./setup.sh.zshrc,.zshrc.alias,.zshrc.custom- Zsh configuration.zprofile- Zsh environment.config/sheldon/- Zsh plugin manager (Sheldon)sheldon lock— Install/update pluginssheldon lock --update— Force update all plugins- fzf - Fuzzy finder
- forgit - Git with fzf
- fzf-zsh-plugin - fzf integrations
.gitconfig- Git configuration.gitignore- Global gitignore
.config/nvim/- Neovim configuration.obsidian.vimrc- Obsidian vim mode
.config/ghostty/- Ghostty terminal configuration.tmux.conf- tmux configuration.tmuxinator/- tmuxinator project configs.tigrc- tig configuration
.pryrc- Pry console configuration.gemrc- RubyGems configuration.rspec- RSpec defaults.default-gems- Default gems for rbenv
.claude/CLAUDE.md- Global settings (symlinked to~/.claude/CLAUDE.md, applied to all projects).claude/rules/- Context-specific rules (coding, git, dotfiles, notion).claude/commands/- Custom slash commands.claude/skills/- Custom skills.claude/settings.json- Permissions and hooks configuration
.claude/CLAUDE.mdserves a dual role: it is a file in this repo AND the user's global Claude Code settings. Changes here affect behavior across all projects.
.default-npm-packages- Default npm packages
.config/
├── karabiner/ # Karabiner-Elements key remapping
├── sheldon/ # Zsh plugin manager
├── nvim/ # Neovim (dein.vim)
└── ghostty/ # Ghostty terminal
.claude/
├── CLAUDE.md # Global Claude Code settings (→ ~/.claude/CLAUDE.md)
├── commands/ # Custom slash commands
├── rules/ # Context-specific rules
└── skills/ # Custom skills
Edit dotfiles directly — symlinks keep the repo and home directory in sync:
vim ~/.zshrc # edit via symlink (repo file is updated)
cd ~/ghq/github.com/shifumin/dotfiles
git add .zshrc
git commit -m "update zshrc"
git pushAdd new dotfiles:
- Create the file in the repo at the correct relative path
- Add the path to
setup.sh - Run
./setup.sh - Commit