はじめに
こんにちは、カンムでバンドルカードの機械学習を担当しているfkubotaです。テックブログ初参加なので今回はライトな内容で投稿させていただきます。イケイケ機械学習記事はいずれ...
この記事では、最近ちょっとだけ改善した dotfiles
の管理について紹介したいと思います。
dotfiles
とは、ホームディレクトリ($HOME)
下にある、.vimrc, .bashrc などの設定ファイル群を指します。
最終的には、コマンド1つでこのdotfilesが新しい環境に反映されます
。
魔法のコマンド:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/fkubota/dotfiles/master/install.sh)"
このコマンドでdotfilesが反映されると、
これが
こうなります
結論だけ見たい方は、方法紹介 から見ると良いと思います。
- こんな人が想定読者
- dotfiles 管理しなきゃと思っているけど、何もしてません...TT
- dotfiles をまとめたリポジトリはあるよ。でも新しい環境に反映させるのは少し面倒...。
上記に該当する人に有用な記事になるように頑張って書きます。
参考記事
基本的にはこの記事を参考にしています。
この記事の作者ほどヘビーユーザではない&もう少し気軽に使いたいのでちょっとコードを変更しています。
dotfilesを管理するモチベーション
機械学習をやっている人は、新しい環境で作業を行うという経験が多いのではないでしょうか?
会社の計算サーバーにssh接続して使うとか、GCPやAWSのマシンを借りるとか。その都度、そこで自分の開発環境を構築するはずです。僕の場合であれば、vim
, tmux
, fish
のオレオレ設定を普段使っているので新しい環境でもそれを構築しています。
僕自身、以前はめちゃくちゃしんどい管理の仕方をしていました。
歴史としてはこんな感じです。
- 新しい環境で作業するたびにdotfilesをコピペ
- この管理だとどの環境が最新状態なのかわからなくなります
- gitで管理して、シンボリックリンクを作る
- シンボリックリンクが手作業でめんどくさかった
- シンボリックリンクを行うシェルスクリプトを作成
- これで大分楽になった
- git cloneからシンボリックリンク作成までを
ワンライナー
で- NOW!!
方法紹介
まずは、dotfilesリポジトリをgithubで作成してください。
ちなみに僕のリポジトリはこちら。
今回は簡単のために、.vimrc
のみを管理対象とします。
dotfiles リポジトリ内に、.vimrc
を作成します。
touch dotfiles/.vimrc
次に、シンボリックリンクを行うためのシェルスクリプトをdotfilies下に作成します。
ファイル名は、install.sh
としてください。
install.sh
の中身は以下のようにします。
DOT_DIR={dotfilesリポジトリをクローンするディレクトリ} # clone git clone https://github.com/{your account name}/dotfiles.git ${DOT_DIR} # link ln -sf $DOT_DIR/.vimrc ~/.vimrc
上記の {dotfilesリポジトリをクローンするディレクトリ}
と {your account name}
をそれぞれ適切な値に設定してください。
僕の場合であれば、
DOT_DIR="$HOME/Git/dotfiles" # clone git clone https://github.com/fkubota/dotfiles.git ${DOT_DIR} # link ln -sf $DOT_DIR/.vimrc ~/.vimrc
となります。これで準備完了です。
このスクリプトを実行すれば、DOT_DIR
で指定したディレクリにdotfilesリポジトリがクローンされ、.vimrc
がシンボリックリンクされます。lnコマンドに-f
オプションが指定されているので、すでにある場合に上書きされてしまうので困る場合は外してください。
あとは、ワンライナーを叩くだけ!! です!
どこのディレクトリ下でもいいので、
bash -c "$(curl -fsSL https://raw.githubusercontent.com/{your account name}/dotfiles/main/install.sh)"
と叩いてみてください。指定した場所にリポジトリがクローンされ、シンボリックリンクが、~/.vimrc
に作成されるはずです。
(デフォルトブランチ名がmain
ではなく、master
である場合は、main
を master
に変更してください)
ホームディレクトリ下で
ls -la
などで確認できます。僕の場合は、
.vimrc -> /home/fkubota/Git/dotfiles/vim/.vimrc
と出力されていました。
以上が簡単な紹介です。これを基本として追加したい項目を増やしていくだけです。
僕の場合は、 vim
, tmux
, fish
のdotfilesを管理する以外にも必要なものを追加しています。
後はお好みで楽しんでください。
dotfiles、育てるとかわいくなっていきますよ。
2年半前はlinuxってなに?
— fkubota 🦉 (@fkubota_) 2021年4月13日
ssh?????
って感じだったのに今じゃdotfilesかわいいとおもってるからなぁ。
おわりに
今回の記事で弊社のテックブログとしては、3本目。
今後も続々と楽しい記事をあげていく予定です。
カンムに少しでも興味ある方はぜひこちらから応募してください!!!