dotfiles管理はmiseに任せる
dotfilesの管理はmiseが良い
- 作成
- isksss · 2026/7/16 6:43:34
- 更新
- isksss · 2026/7/16 6:43:50
dotfiles管理はもうmiseに任せています
開発を続けていると、.zshrc や .gitconfig、Neovimの設定など、少しずつdotfilesが増えていきます。
新しいPCを用意したときやWSLを作り直したとき、「また環境構築か……」と思った経験がある方も多いのではないでしょうか。
dotfiles管理といえば、これまでは次のようなツールが定番でした。
- Git + symlink
- GNU Stow
- chezmoi
- yadm
私も一通り試してきましたが、最近はmiseだけで管理しています。
理由はシンプルです。
開発環境を管理するツールと、dotfilesを管理するツールを分ける必要がなくなったと感じたからです。
この記事では、実際に使っている isksss/dotfiles の構成も交えながら、なぜmiseへ移行したのかをご紹介します。
dotfiles管理ツールはどれも優秀です
まず前提として、chezmoiを否定したいわけではありません。
むしろ、非常によくできたツールだと思っています。
テンプレート機能やSecret管理、OSごとの設定切り替えなど、必要な機能はひと通り揃っています。企業で利用されることが多いのも納得できます。
ざっくり比較すると、こんなイメージです。
| ツール | 管理対象 | 学習コスト | 特徴 |
|---|---|---|---|
| Git + symlink | dotfiles | ★ | 最小構成 |
| GNU Stow | symlink | ★★ | ディレクトリ構造が前提 |
| chezmoi | dotfiles | ★★★★ | 高機能。テンプレートやSecret管理も充実 |
| yadm | Home管理 | ★★★ | Gitベースで扱いやすい |
| mise | ツール・dotfiles・Task | ★★ | 開発環境をまとめて管理 |
ただ、自分の使い方を振り返ると、chezmoiの機能をほとんど使っていませんでした。
私が欲しかったのは、
- Gitで管理できる
- シンボリックリンクを作れる
- OSごとに少し設定を切り替えられる
- セットアップを自動化できる
そのくらいです。
miseは「ランタイム管理ツール」で終わりません
miseというと、
- Node.js
- Python
- Go
- Java
などのランタイムを管理するツール、というイメージを持っている方も多いと思います。
もちろん、それも正しい認識です。
ただ最近のmiseは、それだけではありません。
ランタイム管理だけでなく、
- Environment管理
- Task Runner
- Dotfiles管理
まで一通りカバーできるようになっています。
つまり、
開発環境 = mise.tomlという形にかなり近づけられます。
個人的には、ここが一番大きなポイントでした。
私のdotfiles構成
現在の isksss/dotfiles は、こんな構成になっています。
dotfiles
├── mise.toml
├── dotfiles
│ ├── .zshrc
│ ├── .gitconfig
│ ├── .config
│ │ ├── nvim
│ │ ├── starship.toml
│ │ └── wezterm
│ └── scripts
└── tasks中心になるのは mise.toml です。
ここにツールのインストール、Task、dotfilesの設定をまとめています。
新しいPCをセットアップするときも、
git clone
mise install
mise run setupこれだけで普段使っている環境まで持っていけます。
「あの設定はどこで管理していたかな」と探すことも少なくなりました。
chezmoiから移行した理由
繰り返しになりますが、chezmoiは本当に良いツールです。
ただ、私には少し高機能すぎました。
例えば、
- Go Template
- Secret管理
- 暗号化
- 1行単位の編集
- Password Managerとの連携
このあたりは、一度も使う機会がありませんでした。
その一方で、
- source state
- target state
- apply
- template
など、覚える概念はそれなりにあります。
dotfilesを普通にGit管理したいだけなら、少しだけ重く感じました。
miseなら設定もかなりシンプルです。
[settings]
dotfiles.root = "~/.dotfiles"
[dotfiles]
"~/.zshrc" = {}
"~/.config/nvim" = {}「開発環境は全部miseで管理する」という考え方が、自分にはとても合っていました。
環境構築がシンプルになります
以前は、
mise install
chezmoi apply
brew bundle
make setupというように、複数のツールを順番に実行していました。
今は、
mise install
mise run setupだけです。
ランタイムもTaskもdotfilesも同じツールで管理できるので、「環境構築はこの2コマンドです」と説明できるようになりました。
初学者にも勧めやすいと思います
初学者ほど、
- NodeはVolta
- Pythonはpyenv
- dotfilesはchezmoi
- タスクはMake
というように、役割ごとにツールが増えがちです。
もちろん、それぞれ優秀なツールなので間違いではありません。
ただ、最初からmiseを使えば、覚えるツールを一つにまとめられます。
環境構築で迷うポイントも少なくなるはずです。
まとめ
dotfiles管理には今でもさまざまな選択肢があります。
Git、Stow、chezmoi、yadm。どれも実績のある優秀なツールです。
その中で、私は**「開発環境全体をまとめて管理できる」という理由でmiseを選びました。**
ランタイム管理とdotfiles管理を別々のツールに任せる必要がなくなったのは、思っていた以上に快適でした。
これから新しくdotfilesを作るのであれば、一度miseも選択肢に入れてみる価値は十分あると思います。