miseのdotfiles機能:.zshrcや.gitconfigを複数PCで統一する

スポンサーリンク

miseのdotfiles機能:.zshrcや.gitconfigを複数PCで統一する

# ① 既存の設定ファイルを管理対象に追加(dotfiles/ に移動してシンボリックリンクを作成)
mise dotfiles add ~/.zshrc
mise dotfiles add ~/.gitconfig

# ② 状態確認
mise dotfiles status

# ③ 適用(新しいマシンで clone 後に実行)
mise dotfiles apply
コマンド 説明
mise dotfiles add ~/.zshrc 既存ファイルを管理対象に追加
mise dotfiles apply シンボリックリンクを展開して設定を適用
mise dotfiles apply --dry-run 変更内容をプレビュー(実行はしない)
mise dotfiles status 管理対象ファイルの状態を確認

mise はバージョン管理だけでなく、dotfiles(設定ファイル)の管理もできます。.zshrc.gitconfig を Git リポジトリで管理しておき、mise dotfiles apply でシンボリックリンクを張ることで、複数のマシンで同じ設定を再現できます。chezmoi や GNU Stow に近い概念ですが、すでに mise を使っているなら追加インストール不要で使えます。


セットアップ

1. dotfiles リポジトリを用意する

管理したい設定ファイルを置くディレクトリを作ります。Git リポジトリにしておくと複数マシンへの配布が簡単です。

mkdir ~/.dotfiles
cd ~/.dotfiles
git init

2. 既存ファイルを管理対象に追加する

mise dotfiles add を使うと、ファイルが ~/.dotfiles/ に移動されて元の場所にシンボリックリンクが作成されます。

mise dotfiles add ~/.zshrc
mise dotfiles add ~/.gitconfig

手動で移動する場合はこのようにします。

mv ~/.zshrc ~/.dotfiles/zshrc
mv ~/.gitconfig ~/.dotfiles/gitconfig

3. mise の設定に登録する

~/.config/mise/config.toml[dotfiles] セクションを追加します。

[dotfiles]
root = "~/.dotfiles"

["~/.zshrc"]
["~/.gitconfig"]

キーにターゲットのパス(~/.zshrc)を指定します。値を省略すると、dotfiles.root 内の同名ファイル(~/.dotfiles/zshrc)が自動的にソースになります。

4. 適用する

mise dotfiles apply

~/.zshrc~/.dotfiles/zshrc のシンボリックリンクが作成されます。


状態を確認する

mise dotfiles status

管理対象ファイルの一覧と、リンクが正しく張られているかを確認できます。


apply 前に dry-run で確認する

mise dotfiles apply --dry-run

実際には何も変更せず、何が行われるかを事前に確認できます。初回は必ず dry-run で確認してから実行するのがおすすめです。


ソースパスを明示する

サブディレクトリに整理している場合はパスを明示します。

[dotfiles]
root = "~/.dotfiles"

["~/.zshrc"] = "zsh/zshrc"
["~/.gitconfig"] = "git/gitconfig"
["~/.config/starship.toml"] = "starship/starship.toml"

適用モード

デフォルトは symlink です。用途に応じて変更できます。

モード 説明 向いているケース
symlink(デフォルト) ソースへのシンボリックリンクを作成 編集がリポジトリに即反映されてほしい
symlink-each ディレクトリ内の各ファイルを個別にリンク ~/.config/ 配下の一部だけ管理したい
copy ファイルをコピー シンボリックリンクを受け付けないツール用
template テンプレートとして処理して出力 マシンごとに内容を変えたい

モードはファイルごとに指定できます。

["~/.gitconfig"] = { mode = "copy" }

新しいマシンでのセットアップ

dotfiles を Git で管理しておくと、新しいマシンのセットアップが以下の手順だけで済みます。

# 1. dotfiles リポジトリを clone
git clone git@github.com:yourname/dotfiles.git ~/.dotfiles

# 2. mise をインストール
curl https://mise.run | sh

# 3. ~/.config/mise/config.toml を配置して apply
mise dotfiles apply

まとめ

コマンド 説明
mise dotfiles apply シンボリックリンクを作成して設定を展開
mise dotfiles apply --dry-run 変更内容をプレビュー(実行はしない)
mise dotfiles apply --force 既存ファイルを上書きして強制適用
mise dotfiles status 管理対象ファイルの状態を確認
mise dotfiles add ~/.zshrc 既存ファイルを管理対象に追加
mise dotfiles edit ~/.zshrc 管理対象のソースファイルを編集

mise で言語バージョンも dotfiles も一元管理することで、新しいマシンのセットアップが大幅に楽になります。

mise のインストールや言語バージョン管理については「anyenv から mise に移行:Node.js・Ruby・Python の管理方法」も参照してください。