succi0303 blog

This is my personal blog. All posts are my own.

chezmoiを使ってdotfiesにWSL環境でのみ有効な設定を定義する

chezmoiを使って、WindowsのWSL環境でのみ有効になる設定を定義しました。

chezmoiは設定ファイル群 (dotfiles)を管理するためのユーティリティーツールです。chezmoiのテンプレート機能を使うと、環境ごとに異なる設定を定義できます。

テンプレートの作成

設定ファイルをテンプレートとしてchezmoiの管理対象に追加する場合は以下のコマンドを実行します。

chezmoi add --template ~/.zshrc

設定ファイルがすでにchezmoiの管理対象になっている場合は以下のコマンドでテンプレートに変更します。

chezmoi chattr +template ~/.zshrc

WSL環境の判定

WSL環境のみ有効な設定を定義するには、次のように記述します。

{{ if eq .chezmoi.os "linux" }}
{{   if (.chezmoi.kernel.osrelease | lower | contains "microsoft") }}
# WSL-specific code
{{   end }}
{{ end }}

.gitconfigの設定

WSL2環境のGitのみ、GitHubへの認証にGit for WindowsのGit Credential Managerを利用するため、.gitconfigのテンプレートであるdot_gitconfig.tmplを次のように設定しました。

{{ if eq .chezmoi.os "linux" }}
{{   if (.chezmoi.kernel.osrelease | lower | contains "microsoft") }}
[credential]
    helper = /mnt/c/Program\\ Files/Git/mingw64/bin/git-credential-manager.exe
{{   end }}
{{ end }}