提供されているインストールスクリプトを使用して、一括でセットアップを行えます:
# dotfilesディレクトリに移動
cd ~/dotfiles
# インストールスクリプトを実行
bash .bin/install.shまだ dotfiles を clone していない新しい Mac では、次のコマンドで初期構成を開始できます。
curl -fsSL https://raw.githubusercontent.com/ishiooon/dotfiles/main/.bin/bootstrap-macos.sh \
-o /tmp/bootstrap-macos.sh
bash /tmp/bootstrap-macos.shこのスクリプトは、Homebrew、シェル設定、Neovim、Starship、WezTerm、UDEV Gothic NF、JankyBorders、Codex の管理対象設定をまとめて導入します。Neovim のプラグインと PHP デバッグ拡張も初回に準備し、dotfiles を ~/dotfiles に clone して設定をリンクします。既に ~/dotfiles が Git リポジトリの場合はその内容を使用し、Git リポジトリではない既存ディレクトリは上書きせずに中断します。
導入前の手順確認には、次のドライランを使用できます。
bash /tmp/bootstrap-macos.sh --dry-runすでに dotfiles を clone 済みで、設定リンクだけを再作成したい場合は次のコマンドを実行します。
bash ~/dotfiles/.bin/install.sh --env=localdevこの単独インストーラーにも --dry-run と失敗時の復元機能があります。
bash ~/dotfiles/.bin/install.sh --env=localdev --dry-runこの「設定をリンクする」とは、設定を二重にコピーするのではなく、ホームディレクトリから dotfiles 内の管理対象を参照することです。対象は次のとおりです。
~/.zshrc、~/.bashrc、.zsh、.bash~/.config(Neovim、Starship、WezTerm、JankyBorders、lazygit)~/.bin、~/.claude、~/.agents~/.codex/AGENTS.md、~/.codex/agents(認証情報や履歴は対象外)
そのため、dotfiles 側の設定を更新すると各アプリケーションへ反映されます。既存の設定は ~/dotbackup/ へ退避します。
インストールスクリプトを使用せず、手動でセットアップする場合:
既存ファイルのバックアップ(必要に応じて):
mkdir -p ~/dotbackup
# .zshrcがある場合
mv ~/.zshrc ~/dotbackup/.zshrc
# .bashrcがある場合
mv ~/.bashrc ~/dotbackup/.bashrcシンボリックリンクの作成:
# zsh設定
ln -s ~/dotfiles/.zshrc ~/.zshrc
# bash設定
ln -s ~/dotfiles/.bashrc ~/.bashrc# 既存設定をバックアップ(必要に応じて)
mv ~/.config/starship.toml ~/dotbackup/starship.toml
# シンボリックリンク作成
ln -s ~/dotfiles/.config/starship.toml ~/.config/starship.toml# 既存設定をバックアップ(必要に応じて)
mv ~/.config/mcphub ~/dotbackup/mcphub
# シンボリックリンク作成
ln -s ~/dotfiles/.config/mcphub ~/.config/mcphubフォーカス中のウィンドウを枠線で見分けるため、JankyBorders の設定を dotfiles で管理します。設定の実体は .config/borders/bordersrc です。
導入前確認は bash .bin/install-janky-borders.sh --dry-run、導入は bash .bin/install-janky-borders.sh、設定変更後の再読み込みは brew services restart borders です。
このdotfilesには、APIキーなどの機密情報を安全に管理するシステムが含まれています。
bash使用者の場合:
-
ローカル環境変数ファイルを作成:
cp ~/.bash/env.local.bash.example ~/.bash/env.local.bash
-
作成したファイルを編集して実際のAPIキーを設定:
nano ~/.bash/env.local.bash -
新しいターミナルセッションを開くか、設定を再読み込み:
source ~/.bashrc
zsh使用者の場合:
-
ローカル環境変数ファイルを作成:
cp ~/.zsh/env.local.zsh.example ~/.zsh/env.local.zsh
-
作成したファイルを編集して実際のAPIキーを設定:
nano ~/.zsh/env.local.zsh -
新しいターミナルセッションを開くか、設定を再読み込み:
source ~/.zshrc
- Tavily (検索API) - https://tavily.com
- OpenAI (GPT API) - https://platform.openai.com
- Anthropic (Claude API) - https://console.anthropic.com
- GitHub (Personal Access Token) - https://github.com/settings/tokens
.bash/env.local.bashと.zsh/env.local.zshは自動的に.gitignoreで除外されます- 実際のAPIキーがgitリポジトリにコミットされることはありません
.bash/env.local.bash.exampleと.zsh/env.local.zsh.exampleがテンプレートとして提供されます
.bash/
├── env.bash # 環境変数テンプレート(gitで管理)
├── env.local.bash.example # ローカル設定例(gitで管理)
├── env.local.bash # 実際のローカル設定(gitで除外)
├── history.bash # 履歴設定
├── aliases.bash # エイリアス定義
├── functions.bash # 関数定義
├── terminal.bash # ターミナル設定
├── completion.bash # 補完設定
└── starship.bash # starship設定
.zsh/
├── env.zsh # 環境変数テンプレート(gitで管理)
├── env.local.zsh.example # ローカル設定例(gitで管理)
├── env.local.zsh # 実際のローカル設定(gitで除外)
├── history.zsh # 履歴設定
├── keybindings.zsh # キーバインディング設定
└── functions.zsh # 関数定義
.config/
├── borders/ # JankyBordersの設定
├── nvim/ # Neovimの設定
├── wezterm/ # WezTermの設定
└── starship.toml # starshipの設定
ここはmainで書き換えました