🔯

WinもLinuxもMacも使う人のdotfilesライフが良くなるツールを見つけました

2024/04/29に公開

はじめに

色々な開発環境で開発をする人はいませんか?
僕はArch Linux(WSL)を家では使って、出先ではMac使ったりしています。
各環境ごとにdotfileを出し分けしたり、インストールしたりしたいとよく思っていました。
そこで、dotfilesというツールで解決できそうなので入れてみました。
https://github.com/rhysd/dotfiles

Tool Install

terminal
$ go install github.com/rhysd/dotfiles

Dotfile Clone

すでにdotfilesを/your-name/dotfilesとGitHubに作っている方は、
以下のコマンドでローカルにdotfiles持ってくることができます。

terminal
$ dotfiles clone your-name

Mappings

.dotfiles/mappings.jsonに以下のようなJsonファイルを置くことでSymbolic Linkのマッピングをすることができます。

mappings.json
{
  "vimrc": "~/.vimrc"
}

Macだけに置きたいものは、.dotfiles/mappings_darwin.jsonにJsonファイルを置くことでMacのときのみSymbolic Linkを作ることができます。

mappings_darwin.json
{
  "vimrc": "~/.config/nvim/init.vim"
}

Macだけではなく、以下のようなファイルにすることで各環境でのみ読み込むdotfileを管理することができます。

  • .dotfiles/mappings_unixlike.json: Linux & Macのとき
  • .dotfiles/mappings_linux.json: Linuxのみ
  • .dotfiles/mappings_darwin.json: Macのみ
  • .dotfiles/mappings_windows.json: Windowsのみ

個人的に良いと思ったポイントは、
同じdotfileでも環境ごとにファイルを変えたい場合です。
gitconfigのアドレスを変えたり、Vimの設定ファイルで環境ごとに分けたい項目等をMapping機能を使って出し分けすることで複雑なIf文で管理していたところから開放されると思いました。

終わりに

dotfilesは他のコマンドもあって、dotfilesのリストを確認できたり、git pullをしてくれるコマンドもあります。
これを使うことでより良いdotfilesライフを送ることができると思いました。

Discussion