ボク式dotfiles
setup.sh
iTerm2 + zsh + tmux + vim で快適な256色ターミナル環境を構築する - ( ꒪⌓꒪) ゆるよろ日記を見ててsetup.shがいいなと思って追加した。
気になったのは既にシンボリックリンクがある時。
そのままsetup.shを実行すると、ディレクトリの場合シンボリックリンクがディレクトリ下にもうひとつ張られてしまう。
ということでシンボリックリンクが既にあるかどうかの判定を入れた。
チェック
DOT_FILES=( .vim .vimrc .bazaar) for file in ${DOT_FILES[@]} do if [ -e $HOME/$file ]; then echo "既にファイルが存在します: $file" else ln -s $HOME/dotfiles/$file $HOME/$file echo "シンボリックリンクを貼りました: $file" fi done
echo で表示するとやっぱりわかりやすい。
丁寧にチェックするなら、以下を利用すると良い。
-e | 存在するかどうか |
-d | ディレクトリかどうか |
-f | ファイルかどうか |
-L | シンボリックリンクかどうか |
んでsetup.shを利用することで様々な設定ファイルのシンボリックリンクが容易になったので、BazaarやGitのファイルもガシガシdotfilesに追加した。
OS互換
MacやLinuxごとの異なる設定でも、例えばzshrcの場合、
case "$OSTYPE" in # BSD (contains Mac) darwin*) alias o='open' alias ls='ls -ahGp' alias ld='ls -ahGp | grep /' alias ll='ls -ahGlp' alias lld='ls -ahGlp | grep /' ;; # for GNU linux*) alias ls='ls -ahp --color=auto' alias ld='ls -ahp --color=auto | grep /' alias ll='ls -ahlp --color=auto' alias lld='ls -ahlp --color=auto | grep /' ;; esac
で同一ファイルで完結するようにしている。その他のrcファイルも同様。
if has('mac') set transparency=20 " opacity set guifont=Ricty:h16 " font set columns=114 " width set lines=200 " line set antialias elseif has('linux') set guifont=Monaco\ 12 set columns=160 set lines=100 endif