0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MacBookを新しくしたので、dotfilesのgit管理を始めた

0
Last updated at Posted at 2025-12-11

この記事は、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など)は全部コマンドで入れられるようにしてもいいな。

ちょこちょこメンテして、私も夢が広がるインストールキットを育てていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?