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 の管理方法」も参照してください。