m1kekad0 の個人用 dotfiles リポジトリです。
各種ツール・シェルの設定ファイルを一元管理します。 GNU Stow を使用してシンボリックリンクをホームディレクトリに展開します。
| パッケージ | 展開先 | 内容 |
|---|---|---|
nvim/ |
~/.config/nvim/ |
Neovim 設定(lazy.nvim / LSP / treesitter) |
wezterm/ |
~/.config/wezterm/ |
WezTerm 設定(カラースキーム・フォント・キーバインド) |
zsh/ |
~/ |
Zsh 設定(.zshrc・.zshenv・.p10k.zsh、Oh My Zsh / Powerlevel10k) |
git/ |
~/ |
Git 設定(.gitconfig・.gitignore_global) |
homebrew/ |
~/Brewfile |
Homebrew Bundle で管理する開発ツール・GUI アプリ・フォント |
mise/ |
~/.config/mise/ |
mise のグローバルなランタイム設定 |
herdr/ |
~/.config/herdr/ |
herdr の設定(テーマ・キーバインド等) |
Note: AI コーディングエージェント関連の設定(Claude Code・共通ルール
AGENTS.md等)は ai-agent-config リポジトリへ分離しました。
既存の Zsh 設定を Stow 管理へ移行する場合は、~/.p10k.zsh だけでなく ~/.zshrc と
~/.zshenv も競合します。通常ファイルだけを退避してから展開してください。すでに zsh
パッケージを Stow で展開済みの場合も、通常ファイルの ~/.p10k.zsh を退避してから再度
stow -t ~ zsh を実行する必要があります。既存のシンボリックリンクはそのまま保持されます。
mkdir -p ~/.dotfiles-backup
backup_dir="$(mktemp -d "$HOME/.dotfiles-backup/zsh.XXXXXX")"
for file in .zshrc .zshenv .p10k.zsh; do
[[ -e "$HOME/$file" && ! -L "$HOME/$file" ]] && mv "$HOME/$file" "$backup_dir/$file"
done
stow -t ~ zsh展開後は退避した設定とこのリポジトリの設定との差分を確認し、端末固有の値だけを移行します。
- Homebrew がインストールされていること
# リポジトリをクローン
git clone https://github.com/m1kekad0/dotfiles.git ~/github.com/m1kekad0/dotfiles
cd ~/github.com/m1kekad0/dotfiles
# 開発ツール、GUI アプリケーション、フォントをまとめてインストール
brew bundle install --file=homebrew/Brewfile
# 全パッケージを一括展開
stow -t ~ */
# 特定パッケージのみ展開
stow -t ~ nvim
stow -t ~ zsh
stow -t ~ mise
stow -t ~ herdrmise をインストール後、設定を展開して次のコマンドを実行すると、グローバル設定で指定したランタイムを導入できます。
mise installプロジェクトごとのバージョン指定は、各プロジェクトの mise.toml を優先します。
すでに ~/.config/mise/config.toml がある場合は、Stow で展開する前に内容を確認して退避してください。
退避後は既存の設定とこのリポジトリの設定を比較し、必要な項目を統合します。
mv ~/.config/mise/config.toml ~/.config/mise/config.toml.backup
stow -t ~ miseすでに ~/.config/herdr/config.toml がある場合は、Stow で展開する前に内容を確認して退避してください。
~/.config/herdr/ にはログファイルやソケットなど Git 管理対象外のファイルも生成されるため、
config.toml だけを退避・比較してください。
mv ~/.config/herdr/config.toml ~/.config/herdr/config.toml.backup
stow -t ~ herdrトークンや端末ごとの PATH は Git 管理せず、~/.zshrc.local に定義します。初回のみ、
Stow で展開された ~/.zshrc.local.example をコピーして作成してください。
cp ~/.zshrc.local.example ~/.zshrc.local# 特定パッケージのシンボリックリンクを削除
stow -t ~ -D nvimdotfiles/
├── CLAUDE.md
├── README.md
├── homebrew/
│ └── Brewfile # → ~/Brewfile
├── nvim/
│ └── .config/nvim/ # → ~/.config/nvim/
│ ├── init.lua
│ └── lua/
│ ├── config/
│ └── plugins/
├── wezterm/
│ └── .config/wezterm/ # → ~/.config/wezterm/
│ └── wezterm.lua
├── zsh/
│ ├── .zshrc # → ~/.zshrc
│ ├── .zshenv # → ~/.zshenv
│ ├── .p10k.zsh # → ~/.p10k.zsh
│ └── .zshrc.local.example # → ~/.zshrc.local.example
├── mise/
│ └── .config/mise/ # → ~/.config/mise/
│ └── config.toml
├── herdr/
│ └── .config/herdr/ # → ~/.config/herdr/
│ └── config.toml
├── git/
│ ├── .gitconfig # → ~/.gitconfig
│ └── .gitignore_global # → ~/.gitignore_global
└── lazygit/
└── .config/lazygit/ # → ~/.config/lazygit/
└── config.yml
- 特定のパッケージを作業する際は、対応するフィーチャーブランチを切ること(例:
feature/nvim) - 設定ファイルを追加・変更した場合は、このREADMEも合わせて更新すること
- 機密情報(トークン・パスワード等)は絶対にコミットしないこと