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の設定が済んでいれば、すぐにでも始めれます。

手順

  1. Github上にリポジトリの作成 & git clone
  2. 管理したい設定ファイルをリポジトリに移動する

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

4. Git同期

Git運用の方針はお任せしますが、リポジトリへのPushまで完了できれば、ひとまずの dotfiles 入門は完了です!

git add .zshrc git commit -m "Add .zshrc" git push origin main

※ 注意点

認証情報やAPIキー等の機密情報をGitで管理しないよう気をつけてください。

まとめ

今回は、簡単な入門方法を紹介させていただきました。

Github上でいろんなエンジニアの dotfiles を見ていると、
セットアップスクリプトでシンボリックリンクを一括で作成したり、
コマンドのエイリアスの管理をしていたり、
よく使うスニペットを管理していたり...と、
エンジニアに依って個性がかなり出たカスタマイズを見ることが出来ます。

Gitでバージョン管理をしているので、設定内容をブラッシュアップしていける、というのもいいですよね!
この機に dotfiles に挑戦してみてはいかがでしょうか?

梅木 和弥/ アプリケーションエンジニア

Webのシステム開発における、設計・実装に携わっています。
業務ドメインを技術に翻訳する工程に注力しております。SOLID原則が僕の物差しです。

梅木 和弥 の書いた記事一覧

最新の関連記事

Contact お問い合わせ

Drupalでの開発・運用、サーバー構築、Webサイト構築全般についてお気軽にご相談ください。専門スタッフによるDrupal無料相談も行なっております。