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も選択肢に入れてみる価値は十分あると思います。