#!/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 if [[ -x =emacs ]] then emacs --batch --eval '(batch-byte-recompile-directory 0)' ~/.emacs.d/ fi if [[ ! -d ~/.zsh/cache ]] then mkdir -p ~/.zsh/cache fi fasd_cache=~/.zsh/cache/fasd-init-zsh if [[ ! -s "$fasd_cache" || dotfiles/zsh/functions/fasd -nt "$fasd_cache" ]]; then dotfiles/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=( dotfiles/zsh/functions/fasd/fasd $fasd_cache dotfiles/zsh/zshrc ) if [[ -f dotfiles/zsh/zshrc_${HOST%%.*} ]]; then zfiles+=dotfiles/zsh/zshrc_${HOST%%.*} fi if [[ -e /usr/bin/emerge ]]; then zfiles+=dotfiles/zsh/zshrc_gentoo fi if [[ $OSTYPE == freebsd* ]]; then zfiles+=dotfiles/zsh/zshrc_freebsd fi zrecompile -p -R ~/.zshrc.zwc $zfiles for fp in dotfiles/zsh/functions/*(/); do zrecompile -p $fp $fp/* done popd