You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dotfiles/zsh/.zprofile

154 lines
3.0 KiB
Bash

#
# Executes commands at login pre-zshrc.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
#
# Browser
#
if [[ "$OSTYPE" == darwin* ]]; then
export BROWSER='open'
fi
#
# Editors
#
export EDITOR='vi'
export VISUAL="myemacs -c"
export ALTERNATE_EDITOR=""
export PAGER='less'
#
# Language
#
if [[ -z "$LANG" ]]; then
export LANG='en_US.UTF-8'
fi
#
# Paths
#
# Ensure path arrays do not contain duplicates.
typeset -gU cdpath fpath mailpath path
# Set the the list of directories that cd searches.
# cdpath=(
# $cdpath
# )
# Set the list of directories that Zsh searches for programs.
path=(
/usr/local/{bin,sbin}
~/.bin
~/.local/{bin,sbin}
$path
)
#
# Less
#
# Set the default Less options.
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
# Remove -X and -F (exit if the content fits on one screen) to enable it.
export LESS='-F -g -i -M -R -S -w -X -z-4'
# Set the Less input preprocessor.
# Try both `lesspipe` and `lesspipe.sh` as either might exist on a system.
if (( $#commands[(i)lesspipe(|.sh)] )); then
export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-"
fi
#
# Temporary Files
#
if [[ ! -d "$TMPDIR" ]]; then
export TMPDIR="/tmp/$LOGNAME"
mkdir -p -m 700 "$TMPDIR"
fi
# Handy aliases
alias fail="less +F"
# Docker goodies
alias da="docker_start_attach"
alias drm="docker rm"
alias drun="docker run"
alias drmi="docker rmi"
alias dps="docker ps"
alias dpi="docker images"
alias dc="docker-compose"
alias dcr="compose-run"
alias da="docker_start_attach"
alias daa="docker_apply_all_containers"
alias dci="docker_clean_images"
alias dcc="docker_clean_containers"
alias dac="docker_apply_containers"
function docker_start_attach () {
docker start $1 && docker attach $1
}
function drmia () {
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')
}
function newdev () {
docker run -v $PWD:/usr/src/app -t -i --name $1 -h $1 balkian/devmachine
}
function docker_apply_containers () {
if [[ "$#" -lt 1 ]];
then
echo "Usage: $0 <filter> <action>"
exit 1
fi
containers=$(docker ps -a | grep -v 'CONTAINER' | awk "/$1/{ print \$0}")
echo -n $containers
if [[ "$#" -gt 1 ]];
then
shift;
echo $containers | awk '{print $1}' | xargs docker "$@"
fi
#| xargs docker rmi "$@"
}
function docker_clean_containers () {
docker rm $(docker ps -q --filter=status=exited)
}
function docker_clean_images () {
docker rmi $(docker images -a --filter=dangling=true -q)
}
function docker_nuke () {
docker rmi $(docker images -q)
}
alias gsicluster='ssh balkian@shannon.gsi.dit.upm.es -p 1337'
function gsiclustercopy(){
scp -P 1337 $1 balkian@shannon.gsi.dit.upm.es:/shared/balkian/$2
}
TMPPREFIX="${TMPDIR%/}/zsh"
if command -v foo >/dev/null 2>&1 ; then
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
pyenv virtualenvwrapper
fi
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin/
setopt interactivecomments