#!/usr/bin/env zsh pushd $HOME setopt EXTENDED_GLOB if [[ ! -d dotfiles && ${(L)host} =~ prefect ]] then hg clone ssh://alan@home.alanpearce.co.uk:22222/dotfiles fi install-dot () { local absolute if [[ ${1[-1]} == "/" ]] then absolute=$PWD/ if [[ ! -d $1 ]] then mkdir $1 fi else absolute="" fi for f in $@[2,-1] do if [[ ! -e $1$f:t ]] then ln -sf $absolute$f $1$f:t fi done } install-dot dotfiles/.git/hooks/ dotfiles/git-hooks/* install-dot .emacs.d/ dotfiles/emacs/* install-dot . dotfiles/^install(.) dotfiles/zsh/zshrc install-dot .ssh/ dotfiles/ssh/* if [[ -d projects/dwm ]] then install-dot projects/dwm/ dotfiles/dwm/* fi popd if [[ -x =emacs ]] then emacs --batch --eval '(batch-byte-recompile-directory 0)' ~/.emacs.d/ fi fasd_cache=~/.zsh/cache/fasd-init-zsh if [[ ! -s "$fasd_cache" || zsh/functions/fasd -nt "$fasd_cache" ]]; then zsh/functions/fasd/fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install >! "$fasd_cache" fi autoload -U zrecompile local -a zfiles zfiles=( zsh/functions/fasd/fasd $fasd_cache zsh/zshrc zsh/zshrc_${HOST%%.*} ) if [[ -e /usr/bin/emerge ]]; then zfiles+=zsh/zshrc_gentoo fi if [[ $OSTYPE == freebsd ]]; then zfiles+=zsh/zshrc_freebsd fi zrecompile -p -R ~/.zshrc.zwc $zfiles for fp in zsh/functions/*(/); do zrecompile -p $fp $fp/* done