前回 は仮想マシンの準備まで行ったので、今回はローカルの設定を整えます。
dotfilesはgithubとかで管理しておくと良いようです。ただ、今のところ私はgit管理していません。この先、gitで管理するなら、Vagrantfileと同じディレクトリにgit cloneするのが良いかなと思っています。私はホスト側でgitの操作を行うようにしているので、共有フォルダを使うと便利なのです。
dotfilesにはdeploy.shとinitialize.shを用意しています。構成は以下の通り。.vimと.tmux.confを管理しています。.zshrcは管理していません。今はoh-my-zshのインストール時に、zshrc.zsh-templateから作れば良いかなと思っています。
deploy.sh
よくあるタイプのdeployです。.hogeという名前のディレクトリやファイルへのリンクを、HOMEに作成します。
#! /bin/sh
cd `dirname $0`
DOT_DIRECTORY=`pwd`
for f in .??*
do
[[ ${f} = ".git" ]] && continue
[[ ${f} = ".gitignore" ]] && continue
ln -snfv ${DOT_DIRECTORY}/${f} ${HOME}/${f}
done
echo -e "\e[32mDeploy dotfiles complete!\e[m"
initialize.sh
HOMEのdotfilesがリンクか(≒deployが行われたか)を確認してからインストール処理を行います。インストールの方針としては、アンインストールしてから再インストールです。initializeを行えば、初期化された環境が準備されるイメージ。また、Vagrantfileのprovisionで行っているoh-my-zshやpyenvのインストールも、こちらで行えば良いかなと今は考えています。
#! /bin/sh
cd `dirname $0`
for f in .??*
do
[[ ${f} = ".git" ]] && continue
[[ ${f} = ".gitignore" ]] && continue
if [ ! -L ${HOME}/${f} ]; then
echo -e "\e[31mPlease run deploy.sh!\e[m"
exit 1
fi
done
# dein
rm -rf ~/.vim/dein
mkdir ~/.vim/dein
curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
sh ./installer.sh ~/.vim/dein
rm ./installer.sh
echo -e "\e[32mInitialize dotfiles complete!\e[m"
まとめ
dotfilesはユーザの環境を準備するもの、というイメージです。ユーザ個別でインストールするもは、ここにまとめておくのが良いのではないでしょうか。次回はpyenvを使った開発環境とテスト環境の分離について書こうと思います。
0 件のコメント:
コメントを投稿