dotfiles/dot_zshrc.tmpl

142 lines
4.0 KiB
Cheetah
Raw Normal View History

# Directly start sway if we're on tty1
if [ "$(tty)" = "/dev/tty1" ]; then
2019-10-18 16:43:44 +02:00
exec sway-run
fi
# Back out if we're surrounded by Emacs
[ "$TERM" = "eterm-color" ] && exec bash
2019-07-30 23:54:50 +02:00
[ "$TERM" = "xterm-termite" ] && export TERM=xterm-256color
2019-03-07 11:28:43 +01:00
# Back out if we are in a Emacs tramp session
2019-07-30 23:54:50 +02:00
if [[ $TERM == "eterm-color " ]] || [[ $TERM == "dumb" ]]; then
unsetopt zle
PS1='$ '
return
fi
2019-03-07 11:28:43 +01:00
plugins=(fzf fasd dotenv tmuxinator)
2019-07-30 23:54:50 +02:00
fpath=( ~/.kubectx/completion "${fpath[@]}" )
2019-07-30 23:54:50 +02:00
ZSH_CUSTOM="${HOME}/.zsh-custom"
2020-02-22 18:36:10 +01:00
{{- if eq .chezmoi.fullHostname "mcnaught.uberspace.de" }}
ZSH_THEME="jreese"
{{ else }}
2019-07-30 23:54:50 +02:00
ZSH_THEME="powerlevel10k/powerlevel10k"
{{- end }}
2019-07-30 23:54:50 +02:00
ZSH_DOTENV_FILE=".direnv"
FZF_MARKS_FILE="${HOME}/.config/fzf/${HOST}"
2017-12-05 22:12:38 +01:00
2019-07-30 23:54:50 +02:00
export ZSH=/home/bascht/.oh-my-zsh
2020-03-11 11:43:36 +01:00
export DISABLE_AUTO_UPDATE="true"
2019-07-30 23:54:50 +02:00
source $ZSH/oh-my-zsh.sh
source $ZSH_CUSTOM/plugins/fzf-marks/fzf-marks.plugin.zsh
2017-12-05 22:12:38 +01:00
alias va="vagrant"
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"
2017-12-05 22:12:38 +01:00
alias emacseval="emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "a")'"
alias drri="docker run --rm -ti"
alias dry="drri -v /var/run/docker.sock:/var/run/docker.sock skanehira/docui"
2019-03-07 11:28:35 +01:00
alias k=kubectl
alias kgp="kubectl get pods"
alias krs="kubectl rollout status"
2019-07-31 02:02:41 +02:00
alias g=git
alias gpr="git pull -r"
alias git-cleanup-merged-branches="git fetch -va && git branch --merged | egrep -v '(^\*|master)' | xargs git branch -d"
alias wttr="curl 'wttr.in/Bogenhausen?1pQF&lang=de'"
alias termbin="nc termbin.com 9999"
alias ssh='TERM=xterm-256color ssh'
alias sudo='TERM=xterm-256color sudo'
alias gp="gopass"
alias hl="hledger"
2020-01-27 17:18:47 +01:00
alias cm="chezmoi"
alias cm-private="chezmoi -S ~/.local/share/chezmoi-private"
alias kn="kubens"
# Global Aliases
alias -g B="|bat"
alias -g baml="|bat -l yaml"
# Switch between multiple kubeconfigs, stored in gopass
kp() { export KUBECONFIG=/dev/shm/kubeconfig && gopass $(gopass ls -f | fzf --query "'${1} kubeconfig" --select-1) > $KUBECONFIG && source <(kubectl completion zsh) }
2018-11-12 10:13:57 +01:00
timestamp() { date +%Y-%m-%d-%H%M%S }
letterup() {
if [[ ! -a $1 ]]; then
take $1;
cp -a ~/Documents/Personal/Brief-Vorlage/2017-LaTeX/* .;
else
cd $1;
fi;
tmuxinator start letter;
}
2018-02-07 07:30:29 +01:00
2019-07-31 02:02:41 +02:00
# Pretty up FZF
export FZF_DEFAULT_OPTS='
2019-07-31 02:27:27 +02:00
--prompt=" "
2019-10-25 22:23:06 +02:00
--color=bg+:#f0f0f1,bg:#fafafa,spinner:#0184bc,hl:#4078f2
--color=fg:#696c77,header:#4078f2,info:#c18401,pointer:#0184bc
--color=marker:#0184bc,fg+:#202227,prompt:#c18401,hl+:#4078f2
2019-07-31 02:02:41 +02:00
'
#source /usr/share/zsh/site-functions/tmuxinator.zsh
# Via @dohq
# https://gist.github.com/dohq/1dc702cc0b46eb62884515ea52330d60
function fzf-ssh () {
2019-07-30 23:54:50 +02:00
local selected_host=$(grep "Host " ~/.ssh/config | grep -v '*' | cut -b 6- | fzf --reverse --height=20 --query "$LBUFFER")
if [ -n "$selected_host" ]; then
BUFFER="ssh ${selected_host}"
zle accept-line
fi
zle reset-prompt
}
# Only load kubectl completion when needed. I's bog-slow
2019-10-18 16:42:58 +02:00
if [[ -f $KUBECONFIG ]]; then
source <(kubectl completion zsh);
fi;
zle -N fzf-ssh
bindkey '\es' fzf-ssh
function fzf-vm () {
local selected_vm=$(grep "Host " ~/.ssh/config | grep -oP "vm-(\w+)" | sort -u | cut -b 4- | fzf --reverse --height=20 --query "$LBUFFER")
if [ -n "$selected_vm" ]; then
BUFFER="vm ${selected_vm} ''"
zle accept-line
fi
zle reset-prompt
}
zle -N fzf-vm
bindkey '\ev' fzf-vm
function ta () {
tmux attach $(tmux ls -F "#{session_name}" | fzf)
}
2019-07-30 23:54:50 +02:00
# Via @leahneukirchen
autoload -Uz copy-earlier-word
zle -N copy-earlier-word
bindkey "^[m" copy-earlier-word
if [ -f ~/Code/architecture/bin/ia ]; then
source <(~/Code/architecture/bin/ia completion)
fi;
if [ -f /home/bascht/Code/infrastructure-cli/Rakefile ]; then
alias chuck="rake -f /home/bascht/Code/infrastructure-cli/Rakefile"
fi;
2019-07-30 23:54:50 +02:00
source ~/.zsh-custom/plugins/
source ~/.p10k.zsh
autoload -U compinit && compinit