My Linux / macOS dotfiles.
require git, zsh, curl
git clone git@github.com:mjun0812/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh
# First Install Only: Install VS Code extensions
./script/install_vscode_extensions.sh
# First Install Only: For macOS
./script/install_macOS.sh
# Optional: Login to GitHub CLI
gh auth login| Name | Description |
|---|---|
| zsh | Shell |
| mise | Package manager |
| Neovim | Editor |
| VSCode | IDE |
| Cursor | IDE |
| Name | Description |
|---|---|
| actionlint | GitHub Actions workflow linter |
| aqua | Declarative CLI version manager |
| aws-cli | AWS command-line interface |
| bat | Modern cat with syntax highlighting |
| chezmoi | Dotfiles manager |
| delta | Git diff pager |
| eza | Modern ls |
| fd | Modern find |
| gh | GitHub CLI |
| ghq | Repository management |
| git-lfs | Git Large File Storage |
| gwq | Git worktree management |
| jq | JSON processor |
| kubectl | Kubernetes CLI |
| lazygit | Git TUI |
| pre-commit | Git commit hooks manager |
| prek | pre-commit runner in Rust |
| ripgrep | Modern grep |
| ripgrep-all | ripgrep for PDFs, archives, and docs |
| sheldon | Zsh plugin manager |
| shellcheck | Shell script linter |
| shfmt | Shell script formatter |
| starship | Cross-shell prompt |
| tex-fmt | LaTeX formatter |
| tmux | Terminal multiplexer |
| tree-sitter | Parser generator tool |
| uv | Python package and tool manager |
| vp | Vite Plus CLI |
| yazi | Terminal file manager |
| yq | YAML processor |
| zoxide | Smart cd command |
| Name | Description |
|---|---|
| Claude Code | AI agent for daily use |
| Codex | AI agent for daily use |
| Gemini-cli | AI agent for generate commit messages |
| Antigravity-cli | AI agent for generate commit messages |
| Copilot-cli | AI agent for code |
| OpenCode | AI agent for code |
Agent skills (shared across Claude Code / Codex / Gemini / Antigravity) are documented in doc/skills.md.
Apps installed via Homebrew Cask. Details of configuration and keyboard shortcuts are documented in doc/macOS.md.
| Name | Description |
|---|---|
| AeroSpace | Tiling window manager |
| Alt-Tab | Windows-style window switcher |
| azooKey | Japanese input method |
| balenaEtcher | USB flash tool |
| BetterTouchTool | Input device customization |
| ChatGPT | OpenAI desktop client |
| Claude | Anthropic desktop client |
| Clipy | Clipboard manager |
| cmux | Terminal emulator |
| Cursor | AI-powered IDE |
| DeepL | Translator |
| Ghostty | Terminal emulator |
| Hammerspoon | macOS automation |
| Homerow | Keyboard-driven mouse replacement |
| Inkscape | Vector graphics editor |
| iTerm2 | Terminal emulator |
| Karabiner-Elements | Keyboard customization |
| Nani | Translator |
| Notion | Notes and knowledge base |
| Obsidian | Markdown knowledge base |
| Ollama | Local LLM runtime |
| Raycast | Launcher |
| Visual Studio Code | Code editor |
| WezTerm | Terminal emulator |
| XQuartz | X11 for macOS |
I prefer Tokyo Night color scheme. It is used in Neovim, VS Code, Cursor.
# Show NVIDIA GPUs that are not used by Xorg or gnome
nvs
# Claude Code
cc-commit # AIが生成したコミットメッセージでコミットする
cc-commit-ja # AIが生成した日本語のコミットメッセージでコミットする
# Gemini-cli
gemini-commit # AIが生成したコミットメッセージでコミットする
gemini-commit-ja # AIが生成した日本語のコミットメッセージでコミットする
# Codex
codex-commit # AIが生成したコミットメッセージでコミットする
codex-commit-ja # AIが生成した日本語のコミットメッセージでコミットする
# Copilot-cli
copilot-commit # AIが生成したコミットメッセージでコミットする
copilot-commit-ja # AIが生成した日本語のコミットメッセージでコミットする
# Antigravity-cli
agy-commit # AIが生成したコミットメッセージでコミットする
agy-commit-ja # AIが生成した日本語のコミットメッセージでコミットする
# Alias
aicommit # = cc-commit
aicommit-ja # = cc-commit-ja
# zoxide + fzf
# zoxideの履歴をfzfで選択してcdする
# Ctrl+f でも同様の操作が可能
fzf-zoxide-cd
# ghq + fzf
# ghqで管理しているリポジトリをfzfで選択してcdする
# cd for ghq repository
cd_repo
# Ctrl+j でも同様の操作が可能
# gwq + fzf
# gwqで管理しているワークツリーをfzfで選択してcdする
# cd git worktree with gwq
# cd for git worktree
cd_gwq# Delete local branches that are deleted and merged
git prune-branch
# commit with AI generated commit message
git aicommit
# commit with AI generated commit message in Japanese
git aicommit-jaThis dotfiles uses mise as a package manager for CLI tools.
If you want to search and add a new tool, you can use below commands.
# Search for a tool in the mise registry
mise registry | grep <tool-name>
# Search for a tool in aqua registry
aqua g
mise use aqua:google-antigravity/antigravity-cli@latestSee doc/nvim.md for Neovim configuration and keyboard shortcuts.
VS Code extensions are managed in config/vscode/extensions.txt.
install.sh runs script/install_vscode_extensions.sh, which installs missing extensions only and does not uninstall local extensions.
To synchronize the installed extensions exactly with config/vscode/extensions.txt, run:
script/sync_vscode_extensions.shYou can pass another extension list:
script/sync_vscode_extensions.sh path/to/extensions.txtUse --dry-run to preview installs and uninstalls without changing VS Code:
script/sync_vscode_extensions.sh --dry-run
script/sync_vscode_extensions.sh --dry-run path/to/extensions.txt