dotfiles/home/.zshrc

91 lines
2.5 KiB
Bash

export ZSH=/home/bascht/.oh-my-zsh
# Back out if we're surrounded by Emacs
[ "$TERM" = "eterm-color" ] && exec bash
# Back out if we are in a Emacs tramp session
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
source ~/.zplug/init.zsh
source $ZSH/oh-my-zsh.sh
zplug "plugins/fasd", from:oh-my-zsh
zplug "plugins/tmuxinator", from:oh-my-zsh
zplug "denysdovhan/spaceship-prompt", use:spaceship.zsh, from:github, as:theme
zplug "junegunn/fzf", use:shell/key-bindings.zsh
zplug "urbainvaes/fzf-marks"
zplug "Tarrasch/zsh-autoenv"
zplug "MichaelAquilina/zsh-emojis"
AUTOENV_FILE_ENTER=".direnv"
ZSH_THEME="spaceship"
# Only show kubecontext on demand
SPACESHIP_KUBECONTEXT_SHOW=false
SPACESHIP_PROMPT_ORDER=(
user
dir
host
git
ruby
docker
aws
kubecontext
exec_time
line_sep
jobs
exit_code
char
)
alias va="vagrant"
alias tm="tmux -2"
alias ta="tm a -t"
alias bi="bundle install"
alias be="bundle exec"
alias ber="bundle exec rake"
alias e=$EDITOR
alias ssh-yop="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
alias docker-rm-stopped="docker rm (docker ps -a -q)"
alias docker-rm-dangling="docker rmi (docker images -q -f dangling=true)"
alias dco="docker-compose"
alias dcorrm="docker-compose run --rm"
alias emacseval="emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "a")'"
alias dry="docker run -it -v /var/run/docker.sock:/var/run/docker.sock moncho/dry"
alias k=kubectl
alias git-cleanup-merged-branches="git fetch -va && git branch --merged | egrep -v '(^\*|master)' | xargs git branch -d"
timestamp() { date +%Y-%m-%d-%H%M%S }
letterup() { take $1 && cp -a ~/Documents/Personal/Brief-Vorlage/2017-LaTeX/* .; }
[ "$TERM" = "xterm-termite" ] && export TERM=xterm-256color
zplug load
# Override the tmux ssh auth sock
SSH_TMUX_SOCK="${HOME}/.ssh/ssh_auth_sock"
if [ "${SSH_AUTH_SOCK}" != "${SSH_TMUX_SOCK}" ]; then
ln -sf "$SSH_AUTH_SOCK" "$SSH_TMUX_SOCK"
fi
source /usr/share/zsh/site-functions/tmuxinator.zsh
# Via @dohq
# https://gist.github.com/dohq/1dc702cc0b46eb62884515ea52330d60
function fzf-ssh () {
local selected_host=$(grep "Host " ~/.ssh/config | grep -v '*' | cut -b 6- | fzf --query "$LBUFFER")
if [ -n "$selected_host" ]; then
BUFFER="ssh ${selected_host}"
zle accept-line
fi
zle reset-prompt
}
zle -N fzf-ssh
bindkey '\es' fzf-ssh
# Work around a broken autocompletion https://github.com/gopasspw/gopass/issues/585
source <(gopass completion zsh | head -n -1 | tail -n +2)
compdef _gopass gopass