dotfilesってなに
ホームディレクトリ配下にある.bashrc
とか.vimrc
とかをGithubで管理してポータブルにする方法。WEB業界のエンジニアはよくやってるらしい。設定ファイルがだいたいドットで始まってるからドットファイルと呼ぶ。
なにが嬉しい?
会社、家、仮想環境とそれぞれの環境のPCで設定を簡単に共有できる。
便利な設定見つけたけど他のPCでも設定書くのめんどくさいなー。ってのがなくなる。
ちなみに私のプロフィール
銀行のシステムのきっちりした世界で2年勤めて3ヶ月ほど前にWEB業界(Rubyメインの開発)にジョブチェンジ。
前職ではGithubなんてものは使ってなかったので設定ファイルをポータブルにするなどという発想はありませんでした。。
やり方
前提
- githubアカウント持ってる
- githubの使い方の基本的なところは抑えている
- macやLinux等のUnix系OSで開発している
手順
① ターミナル開いてcd
してホームディレクトリに移動してmkdir dotfiles
を実行してディレクトリ作成
② そのままls -la
でホームディレクトリ配下にある設定ファイルを確認(ls
にa
オプションつけないとドットで始まるファイルが見れない)
③cp
コマンドで持っていきたい設定ファイルを①で作ったディレクトリの配下に置く(私は①のディレクトリの下にさらにdotfiles
ディレクトリ作ってそこに置いている)
④(これは恐ければ)cp .bashrc .bashrc_bk
とかでcp
コマンドでバックアップを取っておく(まあやらなくても多分大丈夫。。)
⑤①のディレクトリ以下に設定ファイルを共有するためのスクリプトを作る。
私の場合link.sh
という名前でこんな感じで作成
#!/bin/bashln-sf ~/dotfiles/dotfiles/.bash_profile ~/.bash_profile
ln-sf ~/dotfiles/dotfiles/.bashrc ~/.bashrc
ln-sf ~/dotfiles/dotfiles/.vimrc ~/.vimrc
ln-sf ~/dotfiles/dotfiles/.gitconfig ~/.gitconfig
ln-sf ~/dotfiles/dotfiles/.gitignore_global ~/.gitignore_global
cat<<EOS設定ファイルを置き換えました!!
.bash_profile
.bashrc
.vimrc
.gitconfig
.gitignore_global
EOS
⑥bash link.sh
とコマンド実行して上のスクリプトを動かす
⑦ホームディレクトリ以下でls -la
と実行してうまくいってたらこんな感じでリンクが貼られている.vimrc -> /Users/ikegayayuuki/dotfiles/dotfiles/.vimrc
⑧うまくいってたらGithubでリポジトリ作ってそこにpush
こんな感じで面倒な設定を共有
[alias]
st = status
cm = commit
co = checkout
br = branch
pl = pull
ps = push
リポジトリ作ってみて
上にも書きましたが、楽しい
設定ファイルいじるのがどういうわけか楽しくなってきます。viの使い方とか便利なaliasとか調べたくなってきますし、設定ファイルちゃんとすると地味に作業効率上がるので早めにやっとくのおすすめです。
もっとすごいdotfilesたち
とりあえず最初のうちはここに書いたくらいでいいかもですが、Githubのリポジトリで検索するとなにやらすごいのが色々出てきます。
特に設定ファイルのシンボリックリンク貼るとこはfor文で回したりansibleで配布したりの方がいいのかも??
あとはqiitaでもdotfilesのタグがあって調べると無限にやることがありそう。
参考
Githubに公開されてるDotfiesのガイド的なもの
https://dotfiles.github.io/
QiitaのDotfilesタグ
https://qiita.com/tags/dotfiles