mirror of
				https://github.com/frebib/dotfiles.git
				synced 2024-06-14 12:57:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			269 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/zsh
 | |
| 
 | |
| # Common Aliases
 | |
| alias -g ...=../..
 | |
| alias -g ....=../../..
 | |
| alias -g .....=../../../..
 | |
| alias -g ......=../../../../..
 | |
| 
 | |
| alias ..la="cd ..;la"
 | |
| alias ..ll="cd..;ll"
 | |
| alias ..l="..ll"
 | |
| 
 | |
| alias l=ll
 | |
| alias ll="ls -lFh"
 | |
| alias la="ls -lAFh"
 | |
| alias lat='la -t'
 | |
| alias al=la # No, I don't need the Mono Assembly Linker
 | |
| 
 | |
| alias md="mkdir -p"
 | |
| mcd(){
 | |
|     mkdir -p $1 && cd $1
 | |
| }
 | |
| alias cdt='cd `mktemp -d`'
 | |
| alias grep='grep --color'
 | |
| alias -g H='| head'
 | |
| alias -g T='| tail'
 | |
| alias -g G='| grep'
 | |
| alias -g L="| less"
 | |
| alias -g C="| wc -l"
 | |
| alias -g S="| sort"
 | |
| alias -g U="| uniq"
 | |
| alias -g count="| wc -l"
 | |
| alias -g NE="2> /dev/null"
 | |
| alias -g NUL="&> /dev/null"
 | |
| alias -g BG="&;disown"
 | |
| alias -g COL="| column -t"
 | |
| alias -g CLIP="| xclip -i -selection primary -f | xclip -i -selection clipboard"
 | |
| calc() { bc -l <<< "$@"; }
 | |
| 
 | |
| alias svi=sudoedit
 | |
| # This will enable us to use aliases in sudo.
 | |
| # (If alias finishes with a space or tab, the shell will check if the next command is also aliased.)
 | |
| # Source: https://github.com/mayah/home/blob/master/.zsh/zshrc.d/alias.zsh
 | |
| alias sudo='sudo -E '
 | |
| alias open=xdg-open
 | |
| 
 | |
| # Command rewrites
 | |
| alias ls='ls --color=always'
 | |
| alias rm='rm -i'
 | |
| alias mv='mv -i'
 | |
| alias cp='cp -ir'
 | |
| alias pacman='pacman --color=always'
 | |
| alias pacaur='pacaur --color=always'
 | |
| alias tree='tree --dirsfirst -C -F'
 | |
| alias dd='dd status=progress'
 | |
| alias env='env | sort'
 | |
| alias ssh="ssh -tt"
 | |
| alias grip='grip --user=frebib --pass=$GRIP_API_KEY'
 | |
| which gopass &>/dev/null && alias pass='gopass'
 | |
| alias abuild='docker run -ti --rm \
 | |
|     -e USER \
 | |
|     -e PWD \
 | |
|     -w $PWD \
 | |
|     -v $PWD:$PWD \
 | |
|     -v ~/.abuild:/home/$USER/.abuild \
 | |
|     -v ~/.config/git:/home/$USER/.config/git:ro \
 | |
|     -v ~/.gnupg:/home/$USER/.gnupg \
 | |
|     frebib/alpine-sdk:edge abuild'
 | |
| 
 | |
| # System aliases
 | |
| alias s="sudo systemctl"
 | |
| alias j=journalctl
 | |
| alias p=pacaur
 | |
| alias ps='ps aux'
 | |
| alias catn='tail -n +1 --'
 | |
| alias kl='killall -s 9'
 | |
| alias chx='chmod +x'
 | |
| 
 | |
| # File default aliases
 | |
| pdf() {
 | |
|     evince $@ NE BG
 | |
| }
 | |
| alias -s pdf=pdf
 | |
| alias -s zip="unzip -l"
 | |
| alias -s rar="unrar l"
 | |
| alias -s tar="tar tf"
 | |
| alias -s gz="tar tf"
 | |
| alias -s jar="java -jar"
 | |
| alias -s git="git clone --recursive"
 | |
| 
 | |
| 
 | |
| # Git Aliases
 | |
| alias g=git
 | |
| alias gignore='$EDITOR .gitignore'
 | |
| alias gcl="git clone --recursive"
 | |
| alias gco="git checkout"
 | |
| alias gcom="git checkout master"
 | |
| alias ga="git add"
 | |
| alias gap="git -c interactive.diffFilter=\"git diff --color-words\" add -p"
 | |
| alias gaa="ga -A"
 | |
| alias grm="git rm"
 | |
| alias gc="git commit"
 | |
| alias gcm="gc -m"
 | |
| alias gca="git commit --amend"
 | |
| alias gcan="git commit --amend --no-edit"
 | |
| alias gcam="git commit --amend -m"
 | |
| alias gst="git status"
 | |
| 
 | |
| alias gm="git merge"
 | |
| alias gma="git merge --abort"
 | |
| alias grb="git rebase"
 | |
| alias grba="grb --abort"
 | |
| alias grbc="grb --continue"
 | |
| 
 | |
| alias gf="git fetch"
 | |
| alias gp="git push"
 | |
| alias gpf="gp --force"
 | |
| alias gpsu="git push --set-upstream"
 | |
| alias gpsuom="git push --set-upstream origin master"
 | |
| alias gpall="git remote | xargs -L1 git push"
 | |
| alias gl="git pull --rebase"
 | |
| alias glp="gl && gp"
 | |
| gd() {
 | |
|     local commit=$1
 | |
|     if [ -z "$commit" ] || [ ${commit:0:1} != '@' ]; then
 | |
|         git diff --color-words $@
 | |
|         return
 | |
|     else
 | |
|         git diff --color-words "@~${commit:1}^!"
 | |
|     fi
 | |
| }
 | |
| alias gds="git diff --staged --color-words"
 | |
| alias glg="git log --stat --color"
 | |
| alias glog="git log --oneline --decorate --color --graph"
 | |
| 
 | |
| alias grst="git reset"
 | |
| alias gundo="git reset @~1"
 | |
| alias gclean="git clean"
 | |
| alias gbr="git branch"
 | |
| alias gr="git remote"
 | |
| alias grv="git remote -v"
 | |
| alias gra="gr add"
 | |
| alias grr="gr rm"
 | |
| alias grao="gra origin"
 | |
| alias grro="grr origin"
 | |
| 
 | |
| alias gsta='git stash'
 | |
| alias gstd='gsta drop'
 | |
| alias gstl='gsta list'
 | |
| alias gstp='gsta pop'
 | |
| alias gstv="gsta show -p stash@{0}"
 | |
| 
 | |
| # Docker aliases
 | |
| alias d=docker
 | |
| alias dps='docker ps'
 | |
| alias dpsa='docker ps -a'
 | |
| alias drm='docker rm'
 | |
| alias drmi='docker rmi'
 | |
| alias dim='docker images'
 | |
| alias dbl='docker build --pull'
 | |
| alias dbl.='docker build --pull .'
 | |
| alias drun='docker run -ti'
 | |
| alias dkl='docker kill'
 | |
| dklrm() { docker kill $@ ; docker rm $@ }
 | |
| alias dst='docker stop'
 | |
| alias drst='docker restart'
 | |
| alias dnet='docker network'
 | |
| alias dvol='docker volume'
 | |
| alias dlg='docker logs -f'
 | |
| alias dalpine='docker run -ti --rm alpine /bin/sh'
 | |
| alias drm-stopped='docker container prune'
 | |
| alias drmi-untag='docker image prune'
 | |
| alias dprune='docker system prune -f'
 | |
| alias dsh='_CMD=dsh _dsh exec'
 | |
| alias drsh='_CMD=drsh _dsh run --rm --entrypoint='
 | |
| _dsh() {
 | |
|     if [ $# -lt 2 ]; then
 | |
|         echo "Usage: ${_CMD:-$0} [user@]container [program [args]]" >&2
 | |
|         return 64
 | |
|     fi
 | |
| 
 | |
|     local dowhat="$1"
 | |
|     local docker_args=()
 | |
|     shift
 | |
| 
 | |
|     while [ "${1:0:1}" = '-' ]; do
 | |
|         if [ "${1:0:2}" != '--' ]; then
 | |
|             docker_args+=("$1")
 | |
|             shift
 | |
|         fi
 | |
|         docker_args+=("$1")
 | |
|         shift
 | |
|     done
 | |
| 
 | |
|     local user="$(echo "$1" | cut -d'@' -f1 -s)"
 | |
|     local prog="${@:2:$#}"
 | |
|     local usercmd=""
 | |
|     if [ -z "$user" ]; then
 | |
|         host="$1"
 | |
|     else
 | |
|         host=`echo $1 | cut -d'@' -f2 -s`
 | |
|         usercmd="--user=$user"
 | |
|     fi
 | |
| 
 | |
|     if [ "$dowhat" = 'exec' -a -z "$(docker ps -q -f name="$host")" <&- ]; then
 | |
|         echo "No such container $host" >&2
 | |
|         return 5
 | |
|     fi
 | |
| 
 | |
|     if [ -z "$prog" ]; then
 | |
|         set -o pipefail
 | |
|         local rm=
 | |
|         if [ "$dowhat" = 'run' ]; then
 | |
|             rm='--rm --entrypoint='
 | |
|         fi
 | |
|         for shell in bash sh; do
 | |
|             if shell_path="$(eval "docker $dowhat $rm $host which $shell" <&- | sed 's|[\r\n]||g')"; then
 | |
|                 prog="$shell_path"
 | |
|                 break
 | |
|             fi
 | |
|         done
 | |
|         set +o pipefail
 | |
|         if [ -z "$prog" ]; then
 | |
|             echo "Warning: No shell found in path.. trying /bin/sh" >&2
 | |
|             prog=/bin/sh
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     docker $dowhat ${docker_args[@]} -ti $usercmd $host $(xargs <<< $prog)
 | |
| }
 | |
| 
 | |
| alias dm='docker-machine'
 | |
| dm-con() {
 | |
|     eval $(docker-machine env $1)
 | |
| }
 | |
| alias dmc=dm-con
 | |
| 
 | |
| alias dc='docker-compose'
 | |
| 
 | |
| # ZFS aliases
 | |
| alias zfs='sudo zfs'
 | |
| alias zpool='sudo zpool'
 | |
| alias z=zfs
 | |
| alias zp=zpool
 | |
| 
 | |
| # General Aliases
 | |
| alias ssha='eval `ssh-agent` ; ssh-add'
 | |
| alias aliases="$EDITOR $DOTFILES/aliases ; exec zsh"
 | |
| alias vimrc="$EDITOR ~/.vimrc"
 | |
| alias zshrc="$EDITOR ~/.zshrc ; exec zsh"
 | |
| alias xinitrc="$EDITOR ~/.xinitrc"
 | |
| alias xresources="$EDITOR ~/.Xresources ; xrdb merge ~/.Xresources"
 | |
| alias xsession="$EDITOR ~/.xsession"
 | |
| alias sshc="$EDITOR ~/.ssh/config"
 | |
| alias dotfiles="cd $DOTFILES"
 | |
| alias i3c="$EDITOR ~/.config/i3/config ; i3-msg restart"
 | |
| alias i3bc="$EDITOR ~/.config/i3/blocks/config ; i3-msg restart"
 | |
| i3b() {
 | |
|     $EDITOR ~/.config/i3/blocks/$@
 | |
| }
 | |
| alias sf=screenfetch
 | |
| alias nf=neofetch
 | |
| randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
 | |
| alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
 | |
| 
 | |
| alias lab="ssh -tt tw '~/ctl' 2>/dev/null"
 | |
| 
 | |
| # vim: ft=sh
 |