dotfiles育てましょ
梅木 和弥
はじめに
みなさんは普段利用しているOSの設定内容どうやって管理されていますか?
例えば。
gitconfig、zsh設定、vscode設定、vimの設定、homebrewのパッケージリスト、etc...。
エンジニアであれば「かなりカスタマイズしてるよ」って方、多いですよね。
タイトルで記載している dotfiles とは、ドット(.)から始まる設定ファイル(.bashrcのようなもの)等を管理しているGitリポジトリを指します。
- OSを買い替えた際の初期設定が「`git clone` といくつかのスクリプトを実行しただけでいつもの開発環境が整う」って魅力的じゃないですか?
- 設定内容、ブラッシュアップして行きたくないですか?
本記事では dotfiles について紹介させていただきます。みなさんも自分だけのOSのカスタマイズをGitで育てていきましょ。
対象読者
- OSの設定にこだわっている人
- OSの設定内容をバージョン管理したい人
- OSの設定内容をクラウドで管理したい人
- そろそろPC乗り換えようかなと思っている人
- PCを複数台持ってる人
- etc...
dotfiles とは
改めて説明いたします。
dotfiles とは: ドットから始まるファイル等を管理しているGitリポジトリを指します。
ドットで始まるファイル、たくさんありますよね。
- .zshrc
- .vimrc
- .gitconfig
- ...
Githubのリポジトリ検索で、キーワード「dotfiles」と検索するといろんなエンジニアの dotfiles を閲覧することが出来ます。
https://github.com/search?q=dotfiles&type=repositories
いろんな人のOSの設定を確認できる文化って良いですよね。
(私も、他の方が公開しているシェルスクリプトを参考にしたり、コマンドのエイリアス設定を真似させてもらったり...と結構活用しています)
dotfiles の入門方法
座学的な説明はほどほどに。
ではさっそく、dotfiles の簡単な始め方を紹介させていただきます。
そこまで難しくないです。Githubのアカウントを持っていて、ローカルのGitの設定が済んでいれば、すぐにでも始めれます。
手順
- Github上にリポジトリの作成 & git clone
- 管理したい設定ファイルをリポジトリに移動する
1. Github上にリポジトリの作成 & git clone
Github上でリポジトリを作成してください。
リポジトリ名はなんでもよいですが、よく使われている名称は「dotfiles」が多いみたいです。
作成後、ローカルPCにクローンをしてください。
クローンするパスはお好みでよいですが、私の場合はユーザーディレクトリ直下に設置しています。
cd && git clone https://github.com/{アカウント名}/dotfiles.git .dotfiles
2. 管理したい設定ファイルをリポジトリに移動する
今回はサンプルとして、.zshrc ファイルを対象とします。
`mv` コマンドでGitの管理下に移動しましょう。
mv ~/.zshrc ~/.dotfiles/
3. シンボリックリンクを貼る
設定ファイルを移動すると、元の設定内容が外れてしまいます。
元の場所へのシンボリックリンクを貼りましょう。
ln -s ~/.dotfiles/.zshrc ~/.zshrc
※ zshrc はMacOSで使われるシェルの設定ファイル
4. Git同期
Git運用の方針はお任せしますが、リポジトリへのPushまで完了できれば、ひとまずの dotfiles 入門は完了です!
git add .zshrc git commit -m "Add .zshrc" git push origin main
※ 注意点
認証情報やAPIキー等の機密情報をGitで管理しないよう気をつけてください。
活用例
dotfiles への簡単な入門方法を紹介した所で、実際の活用例の一部を紹介させていただきます。
参考までに、私のリポジトリを添付させていただきますね!
https://github.com/umekikazuya/dotfiles
1. git設定の同期
私がかなりdotfilesの恩恵を受けている箇所です。
gitの設定って結構カスタマイズできますよね。そういった自分だけの gitの設定の管理も dotfiles で育てていきましょう。
- エイリアス管理
※ 「git commit --amend --no-edit を git ame」、「git log -o を git logo」 等。 - コミットテンプレートの管理
- git-hook の管理
以前、別媒体で 「git push 時に品質管理のためのスクリプトを実行する」という記事を記載いたしました。
ご興味あればこちらもご覧ください。
2. vscodeの設定
vscode だけじゃなく neovim も然りですが、普段使っているエディタの設定も dotfiles で管理したいですよね。
vscode の設定項目については出来ることが多すぎるので、全部は書きませんが、私は以下を中心にカスタマイズしています。
- フォント設定(種類、サイズ、幅)
- テーマ設定
- 単語の区切り文字設定
- 検索の設定
- エディタ拡張機能の設定
- ...。
工夫すれば、「拡張機能のリスト」「キーバインド設定」も管理することが出来そうですね!
まとめ
今回は、簡単な入門方法を紹介させていただきました。
Github上でいろんなエンジニアの dotfiles を見ていると、
セットアップスクリプトでシンボリックリンクを一括で作成したり、
コマンドのエイリアスの管理をしていたり、
よく使うスニペットを管理していたり...と、
エンジニアに依って個性がかなり出たカスタマイズを見ることが出来ます。
Gitでバージョン管理をしているので、設定内容をブラッシュアップしていける、というのもいいですよね!
この機に dotfiles に挑戦してみてはいかがでしょうか?
梅木 和弥/ アプリケーションエンジニア
Webのシステム開発における、設計・実装に携わっています。
業務ドメインを技術に翻訳する工程に注力しております。SOLID原則が僕の物差しです。


