# Path to oh-my-zsh installation. export ZSH=/usr/share/oh-my-zsh/ # Plugins plugins=( pip python common-aliases extract heroku ) export COMPLETION_WAITING_DOTS="true" # Enable oh-my-zsh source $ZSH/oh-my-zsh.sh source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh export fpath=(/usr/share/zsh/site-functions $fpath) autoload -U compinit && rm -f ~/.zcompdump && compinit autoload -Uz colors && colors local ret_status="%(?:%{$fg_bold[green]%}λ :%{$fg_bold[red]%}λ )" export PROMPT="${ret_status} %{$fg_bold[green]%}%n@%m%{$reset_color%}:%{$fg_bold[blue]%}%~%{$reset_color%}$ " eval "$(direnv hook zsh)" alias src="source {{ home }}/.zshrc && tmux source {{ home }}/.tmux.conf" # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac # Set environment variables export DOTFILES=${HOME}/.dotfiles export TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S' export HISTCONTROL=ignoreboth export BROWSER=$(which firefox) export EDITOR=$(which nvim) # bash aliases alias refresh="cd $PWD > /dev/null" alias c="clear" alias e="exit" alias no="yes n" alias open="mimeopen" alias browse "mimeopen ." # colourify things! alias ls='ls --color=auto' alias grep='grep --color=auto' alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # Node stuff alias ni="npm install" alias ns="npm start" alias nt="npm test" nb() { if [ $# -eq 0 ]; then command npm run build else for arg in "$@" do command npm run build-${arg} done fi } nr() { for arg in "$@" do command npm run $arg done } nvm() { # This takes ~1sec, so we lazy-load it. unset $0 source "/usr/share/nvm/init-nvm.sh" $0 $@ } npx () { command $(npm bin)/$@ } eval $(thefuck --alias) eval "$(pazi init zsh)" # git aliases alias gs="git status" alias gd="git diff" alias git-root='cd $(git root)' hub() { if [ $# -eq 1 ]; then command git clone git@github.com:RealOrangeOne/${1} --recursive && cd ${1} else command git clone git@github.com:${1}/${2} --recursive && cd ${2} fi } git-cleanup() { command git checkout master command git branch --merged | grep -v '*' | xargs -n 1 git branch -D command git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -D command git remote prune origin command git checkout - } alias t="tig" alias ts="tig status" # Gnome gd-lock() { sessionid=`loginctl list-sessions | grep $USER | awk '{print $1}'` loginctl lock-session $sessionid } gd-unlock() { sessionid=`loginctl list-sessions | grep $USER | awk '{print $1}'` loginctl unlock-session $sessionid } # miscellaneous software aliases alias serve="/usr/bin/python3 -m http.server" alias regen-ssh-conf="assh config build > ~/.ssh/config" alias clip="xclip -selection clipboard" alias cl="climate" alias tmux-cleanup="tmux list-sessions | grep -v attached | cut -d: -f1 | xargs -t -n1 tmux kill-session -t" alias lock-screen="xdotool key 'Super_L+l'" alias mux="tmuxinator start" alias open-port="firewall-cmd --zone=public --add-port" alias close-port="firewall-cmd --zone=public --remove-port" alias reset-ports="firewall-cmd --complete-reload"