tvl-depot/aliases.sh
2018-01-08 15:14:36 -05:00

115 lines
3.5 KiB
Bash

alias c="clear"
alias dir='find . -maxdepth 1 -type d -regex "\.\/[^.].+"'
# aliases with dependencies
command -v nvim >/dev/null && alias vim=nvim || \
echo 'Missing dependency (nvim). Failed to alias vim -> nvim'
command -v find >/dev/null && alias find='find -E' || \
echo 'Missing dependency (find -E). Failed to alias find -> find -E'
command -v egrep >/dev/null && alias grep=egrep || \
echo 'Missing dependency (egrep). Failed to alias grep -> egrep'
command -v pygmentize >/dev/null && alias ccat='pygmentize -g' >/dev/null || \
echo 'Missing dependency (pygmentize -g). Failed to alias ccat -> pygmentize -g'
command -v hub >/dev/null && alias git=hub || \
echo 'Missing dependency (hub). Failed to alias git -> hub'
command -v tmux >/dev/null && alias tls='tmux list-sessions' || \
echo 'Missing dependency (tmux). Failed to alias tls -> tmux list-sessions'
command -v gpg2 >/dev/null && alias gpg=gpg2 || \
echo 'Missing dependency (gpg2). Failed to alias gpg -> gpg2'
# exa-specific aliases
if command -v exa >/dev/null || echo 'Missing dependency (exa). Failed to create dependent aliases.'; then
alias ls='exa'
alias ll='exa -l'
alias ll='ls -l'
alias la='exa -la'
alias la='ls -la'
# tree-views of dirs and subdirs
function lt {
if [ -z $1 ]; then
exa --tree
else
depth=$1
exa --tree --level ${depth}
fi
}
fi
if command -v kubectl >/dev/null; then
# kubernetes aliases
alias kpods='kubectl get pods'
alias kdeploys='kubectl get deployments'
# the following functions rely on gcloud being installed
if command -v gcloud >/dev/null; then
function kswitch {
# environment should be "staging" or "public"
environment=$1
gcloud container clusters get-credentials $environment
}
fi
# kubernetes functions
function kedit {
deployment=$1
kubectl edit deployments $deployment
}
function kdns {
# Returns the domain names of the ingress points
kubectl get ing
}
function kush {
name=$1
cmd=${2-/bin/bash}
kubectl exec -it $name -- $cmd
}
fi
# git-specific aliases
git config --global alias.recent 'for-each-ref --count=10 --sort=-committerdate refs/heads/ --format="%(refname:short)"'
git config --global alias.yday '! git log --name-only --since=yesterday.midnight --until=today.midnight --author="$(git config --get user.email)"'
git config --global alias.conflicts 'diff --name-only --diff-filter=U'
git config --global alias.patch-grep 'log -p -S'
alias gyday='git log --name-only --since=yesterday.midnight --until=today.midnight --author="$(git config --get user.email)"'
alias glp="git log --graph --pretty=format:'%Cred%h%Creset -%Cblue %an %Creset - %C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative"
alias gprom="git pull --rebase origin master"
alias gcan='git commit --amend --no-edit'
alias gpf='git push --force'
alias gpff='git push --force --no-verify' # aka git push fucking force
alias gds='git diff --staged'
alias gfx='git commit --fixup'
alias gsh='git show'
# elixir-specific aliases
alias m=mix
alias ism='iex -S mix'
alias tism='MIX_ENV=test iex -S mix'
alias mdg='mix deps.get'
# docker-specific aliases
if command -v docker >/dev/null; then
# personal aliases
alias d=docker
alias dps='docker ps'
alias drm='docker rm'
alias drmi='docker rmi'
alias drit='docker run -it'
alias drd='docker run -d'
alias di='docker images'
function dsh {
container=$1
docker exec -it "${container}" /bin/bash
}
fi