この記事のポイント
- chezmoi は Ubuntu の apt リポジトリに含まれないため、公式インストールスクリプト(
curl -fsLS get.chezmoi.io)で導入する(2026-06-13 実測) - インストールされるバージョンは
v2.70.5(Ubuntu 22.04・24.04 ともに同じ最新版が入る) - dotfiles の実体は
~/.local/share/chezmoi/に保存され、通常の git で管理できる chezmoi init --apply <GitHubユーザー名>1コマンドで別マシンにまるごと反映できる
複数台のPCやVPSを使っていると、~/.bashrc や ~/.vimrc の設定がどこかで食い違っていつも最初から設定し直す ── そんな経験はありませんか。
この記事では、dotfiles 管理ツール chezmoi を Ubuntu 24.04 LTS に導入し、GitHub と連携して複数マシンへ即座に同期する方法を実際にコンテナで動かしながら解説します。
手順は大きく4ステップ。インストール → dotfiles 登録 → GitHub push → 別マシンで反映、です。本記事では Ubuntu 24.04 LTS の Docker コンテナで実際に実行した結果(chezmoi v2.70.5)をそのまま載せています。
目次
- chezmoi とは
- 前提環境
- STEP 1:chezmoi をインストールする
- STEP 2:dotfiles を chezmoi に登録する
- STEP 3:GitHub に push する(SSH 鍵の設定)
- STEP 4:別マシンで一発反映する
- 日常的な操作まとめ
- よくあるエラーと解決策
- まとめ
chezmoi とは
chezmoi(チームオイ)は、dotfiles(.bashrc や .vimrc などのホームディレクトリの設定ファイル)を Git で管理し、複数のマシン間で同期するためのツールです。
類似ツールとして GNU Stow や rcm がありますが、chezmoi は テンプレート機能(マシンごとに設定を変えたい部分を変数にできる)と暗号化機能を持っており、より複雑な構成にも対応できます。
仕組みはシンプルです。~/.local/share/chezmoi/(source-dir)という git リポジトリに dotfiles のコピーを保管し、chezmoi apply でホームディレクトリに展開します。この source-dir を GitHub に push しておけば、どのマシンでも同じ設定を再現できます。
前提環境
確認済み環境
本記事のコマンドは Ubuntu 24.04.4 LTS(Docker 公式イメージ ubuntu:24.04)で実行・確認しています。Ubuntu 22.04 LTS でも chezmoi v2.70.5 が同様にインストールできることを確認済みです。GitHub アカウントと SSH キーの設定が必要です。
STEP 1:chezmoi をインストールする
手順1:apt リポジトリには含まれないことを確認する
Ubuntu 24.04 の標準リポジトリには chezmoi が含まれていません。apt-cache policy chezmoi を実行しても何も返ってきません(2026-06-13 実測)。インストールには公式スクリプトを使います。
(出力なし — apt リポジトリに chezmoi は含まれていない)
手順2:公式スクリプトでインストールする
curl が入っていない場合は先にインストールします。その後、chezmoi の公式インストールスクリプトを実行します。
Setting up curl (8.5.0-2ubuntu10.9) …
Setting up git (1:2.43.0-1ubuntu7.3) …
$ sh -c “$(curl -fsLS get.chezmoi.io)” — -b /usr/local/bin
info found chezmoi version 2.70.5 for latest/linux/arm64
info installed /usr/local/bin/chezmoi
-b /usr/local/bin は「バイナリの置き場所」を指定するオプションです。省略すると ~/bin/ に置かれます。システム全体で使いたい場合は /usr/local/bin を指定しておきましょう。
手順3:インストールを確認する
chezmoi version v2.70.5, commit b81bd8daa23126bd5f1b2f787141b2b69439abee, built at 2026-06-03T21:59:37Z
$ which chezmoi
/usr/local/bin/chezmoi

Ubuntu 22.04 でも同じスクリプトで v2.70.5 が入ることを確認しています。どちらのバージョンを使っていても手順は同じです。

STEP 2:dotfiles を chezmoi に登録する
手順1:chezmoi を初期化する
最初に chezmoi init を実行します。これで ~/.local/share/chezmoi/ に git リポジトリが作られます。
$ chezmoi source-path
/root/.local/share/chezmoi
ここではルートユーザーで実行しているので /root/ 配下になっていますが、一般ユーザーなら /home/ユーザー名/.local/share/chezmoi になります。
手順2:管理したい dotfile を追加する
chezmoi add <ファイルパス> で管理対象に追加します。ファイルはホームディレクトリの dotfile をそのまま指定します。
$ chezmoi add ~/.vimrc
$ chezmoi managed
.bashrc
.vimrc
この時点で source-dir を覗いてみると、ファイル名が変わっていることに気づきます。
dot_bashrc dot_vimrc
chezmoi は ドット始まりのファイルを dot_ プレフィックスに変換してリポジトリに保存します。こうすることで GitHub に push した際も、.bashrc のように隠しファイルになりません。chezmoi apply を実行すると逆変換されてホームディレクトリに戻されます。
手順3:source-dir 内の git でコミットする
chezmoi の source-dir は普通の git リポジトリです。chezmoi cd でそこに移動して、普通に git add / git commit します。
$ git add .
$ git commit -m “Add dotfiles: .bashrc .vimrc”
[master (root-commit) e299234] Add dotfiles: .bashrc .vimrc
2 files changed, 104 insertions(+)
create mode 100644 dot_bashrc
create mode 100644 dot_vimrc
$ exit
$ chezmoi managed
.bashrc
.vimrc

STEP 3:GitHub に push する(SSH 鍵の設定)
手順1:GitHub リポジトリを作る
GitHub に dotfiles という名前のリポジトリを作ってください(プライベートリポジトリを推奨します。.bashrc にはパスやエイリアスなどの個人情報が入りがちです)。
手順2:SSH 鍵を生成する(未設定の場合)
GitHub への push に SSH を使う場合、鍵を生成して GitHub に登録します。Ubuntu 24.04 の openssh-client のバージョンは 9.6p1(2026-06-13 実測)で、ed25519 鍵に対応しています。
Setting up openssh-client (1:9.6p1-3ubuntu13.16) …
$ ssh-keygen -t ed25519 -C “you@example.com”
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519): [Enter]
Enter passphrase (empty for no passphrase): [Enter]
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:HUs0ITEXnra8CEguZTcIjkjcNBhHt7uDzdsUho9RJDc you@example.com (ED25519)
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID… you@example.com
表示された公開鍵(ssh-ed25519 から始まる1行)を GitHub の Settings → SSH and GPG keys → New SSH key に貼り付けます。
手順3:リモートを追加して push する
$ git remote add origin git@github.com:あなたのユーザー名/dotfiles.git
$ git push -u origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Writing objects: 100% (4/4), 2.13 KiB | 2.13 MiB/s, done.
To git@github.com:あなたのユーザー名/dotfiles.git
* [new branch] main -> main
注意:main ブランチが使えない場合
chezmoi init 直後のブランチ名が master になっていることがあります(上記の実測でも master になりました)。git branch -M main でリネームするか、push コマンドを git push -u origin master に変えてください。
STEP 4:別マシンで一発反映する
別のUbuntuマシン(新しいVPS、職場のサブマシンなど)にも同じdotfilesを適用したい場合、chezmoi のインストール後にたった1コマンドで完了します。
$ sh -c “$(curl -fsLS get.chezmoi.io)” — -b /usr/local/bin
info installed /usr/local/bin/chezmoi
# GitHub から取得して即反映(–apply)
$ chezmoi init –apply あなたのGitHubユーザー名
Cloning into ‘/root/.local/share/chezmoi’…
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
Receiving objects: 100% (4/4), done.
この1コマンドで GitHub の dotfiles リポジトリを ~/.local/share/chezmoi にクローンして、すぐに chezmoi apply まで実行してくれます。正直、ここが一番感動するポイントです。

日常的な操作まとめ
dotfiles を追加・変更するたびに使うコマンドをまとめます。

dotfiles を変更したときのフロー
たとえば ~/.bashrc に新しいエイリアスを追加したとき:
$ echo ‘alias gs=”git status”‘ >> ~/.bashrc
$ chezmoi re-add ~/.bashrc
# または chezmoi 経由で編集する(直接 source-dir が開く)
$ chezmoi edit ~/.bashrc
# 差分を確認
$ chezmoi diff
# source-dir でコミット → push
$ chezmoi cd && git add . && git commit -m “Add alias: gs” && git push
他マシンでの更新を取り込むフロー
$ chezmoi update
Updating ‘/root/.local/share/chezmoi’
Already up to date.
よくあるエラーと解決策
① chezmoi: command not found
インストール先の /usr/local/bin や ~/bin が $PATH に含まれていない場合に起きます。
/usr/sbin:/usr/bin:/sbin:/bin
# /usr/local/bin が PATH になければ追加する
$ echo ‘export PATH=”$PATH:/usr/local/bin”‘ >> ~/.bashrc
$ source ~/.bashrc
$ chezmoi –version
chezmoi version v2.70.5 …
② chezmoi apply で元ファイルが上書きされるのが怖い
実行前に必ず chezmoi diff で差分を確認しましょう。変更が入る箇所が色付きで表示されます。問題なければ chezmoi apply を実行します。
ドライランで事前確認
chezmoi apply --dry-run を使うと、実際には適用せずに何が変わるかだけ表示できます。本番のVPSなど、大事な環境に適用する前は必ずドライランを確認する習慣をつけましょう。
③ chezmoi init --apply で SSH 認証エラーになる
GitHub に SSH 鍵が登録されていないか、ssh-agent に鍵がロードされていない状態で起きます。SSH 接続テストを先に行いましょう。
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
この表示が出ていれば SSH 認証は正常です。Permission denied (publickey) と出る場合は、GitHub に公開鍵が登録されているか確認してください。
④ ブランチ名が master と main で不一致
chezmoi 初期化直後は master ブランチが作られる場合があります(実測で確認)。GitHub がデフォルトで main を要求する場合は、ローカルでリネームしてから push します。
$ git branch
* master
$ git branch -M main
$ git push -u origin main
まとめ
chezmoi を使った dotfiles 管理のポイントをまとめます。
- chezmoi は apt リポジトリにないため、公式スクリプト
sh -c "$(curl -fsLS get.chezmoi.io)"でインストールする(Ubuntu 22.04・24.04 どちらでも v2.70.5 が入る) - dotfiles の実体は
~/.local/share/chezmoi/にdot_プレフィックスで保存され、普通の git で管理できる - 新マシンへの展開は
chezmoi init --apply <GitHubユーザー名>の1コマンドで完了する - 日常は
chezmoi re-add→git commit→git push→ 別マシンでchezmoi updateというサイクルで回す - 適用前は必ず
chezmoi diffまたはchezmoi apply --dry-runで確認する
自分だけの dotfiles リポジトリを育てていくと、新しいVPSやマシンをセットアップする時間が大幅に短縮されます。ぜひ試してみてください。
VPS上で chezmoi を活用してサーバー環境を整えたい場合は、コストパフォーマンスの良い Vultr の東京リージョンがおすすめです。月 $5 から始められます。
VPS選びに迷っている方は の比較記事も参考にしてください。


コメント