この記事は、Code Polaris Advent Calendar 2025 の12日目の記事です。
https://qiita.com/advent-calendar/2025/code-polaris
Code Polarisについてはこちら!
https://code-polaris.connpass.com/
新しいパソコンを買うとワクワクしますよね。
でも、新しいPCへの移行時、育て上げたGitエイリアスやCLI設定をまた一から設定するのは面倒です。
今回、パソコンを新しくしたのを機に、dotfilesをGitで管理し、どの環境でも「いつもの設定」を再現できるようにしました。
そもそもdotfilesとはなんぞや
dotfiles(ドットファイルズ)とは、主に UNIX系OS(LinuxやmacOSなど)において、ユーザーのホームディレクトリ直下に置かれる、ファイル名が.(ドット)から始まる設定ファイル群のこと。
やったこと
構成の全体像
今回はシンボリックリンクを貼る方式ではなく、ホームディレクトリの .zshrc を読み込み専用のラッパーとし、実設定を .dotfiles ディレクトリに集約する構成を採用しました。
~/
├─ .zshrc # 薄いラッパ。dotfiles を読み込むのみ
├─ .zshenv # 必要なら環境変数のみ
└─ .dotfiles/
├─ zsh/
│ ├─ zshrc # 実体
│ ├─ zshenv # 実体
│ ├─ prompt.zsh # PS1設定(🦭)
│ └─ aliases.zsh # alias
└─ README.md
1. 移行元PCでの作業(dotfilesの作成)
.dotfiles ディレクトリを作成し、既存の設定をモジュール化して格納します。
各ファイルに分割管理した設定はメインの設定ファイルである.dotfiles/zsh/zshrcからsourceで読み込むようにしています。
# ~/.dotfiles/zsh/zshrc
# プロンプト
[ -f "$HOME/.dotfiles/zsh/prompt.zsh" ] && source "$HOME/.dotfiles/zsh/prompt.zsh"
# エイリアス
[ -f "$HOME/.dotfiles/zsh/aliases.zsh" ] && source "$HOME/.dotfiles/zsh/aliases.zsh"
整理が終わったら、GitHub等のリモートリポジトリへPush。
(参考)実際に作ったもの
2. 移行先PCでの作業(Cloneと有効化)
新しいPCでは、リポジトリをCloneし、エントリーポイントとなるファイルを生成するだけで完了です。
ホームディレクトリの .zshrc と .zshenv に、Git管理下の設定を読み込む記述を流し込みます。
cat > ~/.zshrc << 'EOF'
DOTFILES="$HOME/.dotfiles"
if [ -f "$DOTFILES/zsh/zshrc" ]; then
source "$DOTFILES/zsh/zshrc"
fi
EOF
cat > ~/.zshenv << 'EOF'
DOTFILES="$HOME/.dotfiles"
if [ -f "$DOTFILES/zsh/zshenv" ]; then
source "$DOTFILES/zsh/zshenv"
fi
EOF
source ~/.zshrc
これでいつもの省略コマンドが使えるようになりました!
やったね😎
感想
今回私がやったのは古いPCで設定していたエイリアスなどを引き継ぐだけですが、
他の方はshellscript叩くだけでアプリケーションのインストールとか出来るようにしており、まだまだ改善の余地有りです。
確かに新しいPCにも絶対入れるもの(普段使っているブラウザ、VScodeなど)は全部コマンドで入れられるようにしてもいいな。
ちょこちょこメンテして、私も夢が広がるインストールキットを育てていきます。