Skip to content

Repository files navigation

dotfiles

My Linux / macOS dotfiles.

badgebadgebadgebadgebadge
macOSLinux
ZshPowerlevel10ksheldontmuxmise
PythonuvGoVite Pluspnpm
NeovimVS CodeCursor
GhosttyWezTermiTerm2
Claude CodeCodexGeminiAntigravityGitHub Copilot
AeroSpaceRaycast
Tokyo Night

Install

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/setup/install_vscode_extensions.sh
# First Install Only: For macOS
./script/setup/setup_macos_apps.sh
# Optional: Login to GitHub CLI
gh auth login

Update

To sync local app settings (macOS app defaults and the VS Code extension list) back into this repository, run:

./update.sh

It dumps the settings and shows the resulting git status; review and commit the diff yourself. iTerm2 is not part of the dump: it reads and writes its settings directly in config/mac/iterm2/ via its custom preferences folder feature.

Agent Skills / Agents (apm)

The shared agent skills and the code-reviewer agents are not managed in this repository. They are subscribed from mjun0812/skills via apm; the subscription is declared in config/ai-agents/apm.yml (symlinked to ~/.apm/apm.yml and applied with apm update -g -y by install.sh) and tracks the main branch.

# install.sh already runs this after linking apm.yml; run it again to# follow mjun0812/skills changes without re-running install.sh
apm update -g

apm update -g re-resolves main, deploys the changed skills/agents, and removes deleted ones automatically (lockfile-based cleanup). Since the subscription tracks a branch, config/ai-agents/apm.yml does not change on updates — there is usually nothing to commit here.

Private skills (mjun-*, self-review) still live in config/ai-agents/skills/ and are symlinked by install.sh.

Tools

NameDescription
zshShell
misePackage manager
NeovimEditor
VSCodeIDE
CursorIDE

CLI

NameDescription
actionlintGitHub Actions workflow linter
aquaDeclarative CLI version manager
aws-cliAWS command-line interface
batModern cat with syntax highlighting
deltaGit diff pager
ezaModern ls
fdModern find
ghGitHub CLI
ghqRepository management
git-lfsGit Large File Storage
gwqGit worktree management
jqJSON processor
kubectlKubernetes CLI
lazygitGit TUI
pre-commitGit commit hooks manager
prekpre-commit runner in Rust
ripgrepModern grep
ripgrep-allripgrep for PDFs, archives, and docs
sheldonZsh plugin manager
shellcheckShell script linter
shfmtShell script formatter
starshipCross-shell prompt
styluaLua formatter
tex-fmtLaTeX formatter
tmuxTerminal multiplexer
tree-sitterParser generator tool
uvPython package and tool manager
vpVite Plus CLI
yaziTerminal file manager
yqYAML processor
zoxideSmart cd command

AI Agents

NameDescription
Claude CodeAI agent for daily use
CodexAI agent for daily use
Antigravity-cliAI agent for generate commit messages
Copilot-cliAI agent for code
OpenCodeAI agent for code

Agent skills (shared across Claude Code / Codex / Gemini / Antigravity) are documented in doc/skills.md.

macOS Apps

Apps installed via Homebrew Cask. Details of configuration and keyboard shortcuts are documented in doc/macOS.md.

NameDescription
AeroSpaceTiling window manager
Alt-TabWindows-style window switcher
azooKeyJapanese input method
balenaEtcherUSB flash tool
BetterTouchToolInput device customization
ChatGPTOpenAI desktop client
ClaudeAnthropic desktop client
ClipyClipboard manager
CursorAI-powered IDE
DeepLTranslator
GhosttyTerminal emulator
HammerspoonmacOS automation
HomerowKeyboard-driven mouse replacement
InkscapeVector graphics editor
iTerm2Terminal emulator
Karabiner-ElementsKeyboard customization
NaniTranslator
NotionNotes and knowledge base
ObsidianMarkdown knowledge base
OllamaLocal LLM runtime
RaycastLauncher
Visual Studio CodeCode editor
WezTermTerminal emulator
XQuartzX11 for macOS

Design

I prefer Tokyo Night color scheme. It is used in Neovim, VS Code, Cursor.

Terminal color schemes

ColorsRGBDisplay-P3
Foreground#EAEAEA#EAEAEA
Background#000000#000000
Black#000000#000000
Red#FE533E#EB6049
Green#57DC76#7DD981
Yellow#FECB00#F6CD45
Blue#00A7FF#4AA5F8
Magenta#FF4867#EB576A
Cyan#69D1FA#84CFF6
White#EAEAEA#EAEAEA
Gray#7B7B7B#7B7B7B
Light Red#FE533E#EB6049
Light Green#57DC76#7DD981
Light Yellow#FECB00#F6CD45
Light Blue#00A7FF#4AA5F8
Light Magenta#FF4867#EB576A
Light Cyan#69D1FA#84CFF6
Light White#EAEAEA#EAEAEA

Alias

# 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が生成した日本語のコミットメッセージでコミットする# zoxide + fzf# zoxideの履歴をfzfで選択してcdする# Ctrl+f でも同様の操作が可能
fzf-zoxide-cd
# ghq + fzf# ghqで管理しているリポジトリをfzfで選択してcdする# cd for ghq repository
cd_repo
# Ctrl+] でも同様の操作が可能# gwq + fzf# gwqで管理しているワークツリーをfzfで選択してcdする# cd git worktree with gwq# cd for git worktree
cd_gwq

Git Commands

# 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-ja

mise

This 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@latest

mise bootstrap services

  • macOS: headroom-proxy, cli-proxy-api, and codex-remote-control as LaunchAgents
  • Linux: codex-remote-control as a systemd user service
# macOS
mise bootstrap macos launchd-agents status
mise bootstrap macos launchd-agents apply --yes
# Linux
mise bootstrap linux systemd-units status
mise bootstrap linux systemd-units apply --yes
# Restart# macOS
mise bootstrap macos launchd-agents apply --yes
# Linux
mise bootstrap linux systemd-units apply --yes

Neovim

See doc/nvim.md for Neovim configuration and keyboard shortcuts.

VSCode

VS Code extensions are managed in config/vscode/extensions.txt.

script/setup/install_vscode_extensions.sh installs missing extensions only and does not uninstall local extensions.

To synchronize the installed extensions exactly with config/vscode/extensions.txt, run:

script/tools/sync_vscode_extensions.sh

You can pass another extension list:

script/tools/sync_vscode_extensions.sh path/to/extensions.txt

Use --dry-run to preview installs and uninstalls without changing VS Code:

script/tools/sync_vscode_extensions.sh --dry-run
script/tools/sync_vscode_extensions.sh --dry-run path/to/extensions.txt

About

My dotfiles for macOS and Linux

Resources

Stars

5 stars

Watchers

0 watching

Forks

Contributors

Languages