# Path to your oh-my-zsh configuration. ZSH=$HOME/.oh-my-zsh export ZSH_DISABLE_COMPFIX=true # Update config once every 24 hours cd $HOME/.zcustom # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) case "`uname`" in Linux) STATARGS="-c %Z" alias df='df -x squashfs -x tmpfs -x devtmpfs' alias mount='mount -t ext3,ext4,cifs,nfs,nfs4,zfs,vfat,btrfs' alias open=xdg-open plugins=(battery golang zsh-syntax-highlighting) ;; Darwin) test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" STATARGS="-f %m" plugins=(battery brew golang lein macos zsh-syntax-highlighting) ;; OpenBSD) STATARGS="-f %m" plugins=(battery zsh-syntax-highlighting) ;; FreeBSD) STATARGS="-f %m" plugins=(battery zsh-syntax-highlighting) ;; *) echo "Error! Unknown system `uname`" exit 1 ;; esac if [ -f .lastcheck ]; then # if it hasn't been touched in the last week NOW=`date +%s` LAST=`stat $STATARGS .lastcheck` if [ $(($NOW - $LAST)) -gt 604800 ]; then echo "Updating config" git pull touch .lastcheck fi else # Doesn't exist touch .lastcheck echo "Updating config" git pull fi cd # Aliases # Disable correction. alias ack='nocorrect ack' alias cd='nocorrect cd' alias cp='nocorrect cp' alias ebuild='nocorrect ebuild' alias gist='nocorrect gist' alias grep='nocorrect grep' alias heroku='nocorrect heroku' alias ln='nocorrect ln' alias man='nocorrect man' alias mkdir='nocorrect mkdir' alias mv='nocorrect mv' alias rm='nocorrect rm' # Disable globbing. alias fc='noglob fc' alias find='noglob find' alias ftp='noglob ftp' alias history='noglob history' alias locate='noglob locate' alias rake='noglob rake' alias rsync='noglob rsync' alias scp='noglob scp' alias sftp='noglob sftp' # Define general aliases. alias _='sudo' alias cp="${aliases[cp]:-cp} -i" alias ln="${aliases[ln]:-ln} -i" alias mkdir="${aliases[mkdir]:-mkdir} -p" alias mv="${aliases[mv]:-mv} -i" alias rm="${aliases[rm]:-rm} -i" alias l='ls -l' alias cls=clear DISABLE_UPDATE_PROMPT="true" # Uncomment following line if you want to disable marking untracked files under # VCS as dirty. This makes repository status check for large repositories much, # much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" source $ZSH/oh-my-zsh.sh # Customize to your needs... unsetopt AUTO_PUSHD export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/opt/X11/bin:$HOME/bin:." #bindkey -e function follow() { if [ $# -eq 0 ]; then echo "Usage: follow \nChange to the directory holding \n" else pushd `filepath $1` fi } # MPU -- Combination of mkdir -p and pushd function mpu() { if [ $# -lt 1 ]; then echo "Usage: `basename $0` -- Makes dir (and any ancestor directories) if necessary, and then pushes to it" else mkdir -p $1 pushd $1 fi } # Source per-instance customizations if they exist if [ -e $HOME/.zcustom/zshrc ]; then source $HOME/.zcustom/zshrc fi # Remove duplicate entries in the PATH typeset -U path