log

zsh/screen/vim の設定ファイルを Dropbox + github で管理する

今まで Dropbox のみで管理してたけど、どれこれ構わず Dropbox インストールするわけにもいかないので、Dropbox にいれつつ github でも管理するようにした。 ついでに github から clone した後の配置を自動化するスクリプトを書いた。

レポジトリ: https://github.com/yono/dotfiles

zsh

Mac/Linux で設定が異なる部分が多いので、共通部分は zshrc.common にまとめてそれを zshrc.mac/zshrc.linux から source で読み込むという形をとっている。

例えば Linux の場合は以下な感じでシンボリックリンクを張って使っている。

$ ln -s ~/Dropbox/dotfiles/zsh/zshrc.linux ~/.zshrc

screen

環境ごとに変える要素も特にないので、そのまま。欲を言うと、多段 screen するために環境ごとに設定を分けたいところだけどまだやってない。

vim

一番手間取った。

プラグインを vundle で管理してるので、その辺りの設定をほげほげしてた。

まず、bundle(vundle が管理するディレクトリ)は Ignore しておくこと。

$ vim .gitignore
vim/bundle

で、vundle は submodule として扱う。

$ git submodule add git://github.com/gmarik/vundle.git vim/vundle

デプロイするスクリプト

dotfiles を clone した後にやることは以下のとおり。

  1. submodule を読み込む
  2. 各設定ファイルにシンボリックリンクを貼る
  3. vundle で各プラグインを取得

手動でやるのがめんどくさかったので簡単なスクリプトを書いた。

https://github.com/yono/dotfiles/blob/master/init.sh

#!/bin/sh

DROPBOX_DIR="$HOME/Dropbox"
DOTFILES="$DROPBOX_DIR/dotfiles"

if [ ! -d "$DOTFILES" ]
then
echo "Please mv dotfiles to $DROPBOX_DIR"
exit
fi

cd $DOTFILES

git submodule update --init

ln -s $DOTFILES/zsh $HOME/.zsh
ln -s $DOTFILES/zsh/zshrc.linux $HOME/.zshrc
ln -s $DOTFILES/zlogin $HOME/.zlogin
ln -s $DOTFILES/screenrc $HOME/.screenrc
ln -s $DOTFILES/vimrc $HOME/.vimrc
ln -s $DOTFILES/vim $HOME/.vim

vim -c ':BundleInstall!'

こんな感じで、即席で作った仮想マシンにもさくっと自分の環境が持ち出せるようになった。快適。