# ===== ALIASES ===== alias g="git" alias a="git add --all :/" alias b="git branch" alias c="git commit -am" alias ch="git checkout" alias pull="git pull" alias rb="git reset HEAD --hard" alias s="git status" alias st="git stash" # alias g5="git5" # alias e="git5 export" # alias m="git5 merge --no-ff" # alias ma="git5 mail -m" # alias push="git5 submit -xy" # alias push="git submit -xy" alias dc="a && c \"dummy comment\"" # alias dcp="a; dc; git push" alias zshconfig="subl ~/.zshrc" alias zshreload="exec zsh" alias tarc="tar cvzf" # alias rcp="rsync --partial --progress --append --rsh=ssh -r -h" # alias rmv="rsync --partial --progress --append --rsh=ssh -r -h --remove-sent-files" # alias rsyncc="rsync -rzPhc" alias pythonserve="sudo python -m SimpleHTTPServer 80" # replace alias sg='perl -0pe' # alias clbin="curl -F 'clbin=<-' https://clbin.com" #alias afs="unmount-abra0; mount-abra0;" alias .g='git --git-dir=$HOME/.dotgit/ --work-tree=$HOME' alias .gs='.g status -uno' alias .gp='.g commit -am "auto" && .g push' alias p="perl -pe" alias -g LATEST='*(om[1])' #alias f1sql="/google/data/ro/projects/storage/f1/tools/f1-sql" #alias t="task" #alias revs="ssh abra0 'tail -f -n0 ~/reverse_shell' | tee -a .rem_history| zsh -s" #alias nika_pop="echo \"afplay ~/tmp/nika.mp3\" > ~/reverse_shell" # remote tmux on server alias tmuxr="tmux new -ADs auto-session" # ===== FUNCTIONS ===== function publish() { rsyncc $@ "dedi:/var/www/abra.me/list/" } function publishwhere() { rsyncc ${@:2} "dedi:/var/www/abra.me/$1" } function twitch() { local arg=${@:2} local arg=${arg:-best} livestreamer "http://www.twitch.tv/$1" $arg } function dcp() { local arg=$@ if [[ -z $arg ]]; then local arg="$(whoami) at $(date)" fi a || return 1 git commit -m "$arg" || return 1 git push || return 1 } function strip-tags() { find . -type f -name '*.mp3' \ | tr '\n' '\0' \ | xargs -0 -n1 mid3v2 --delete-frames=TXXX,USLT,TIPL,UFID,APIC,TBPM,TCMP,TDOR,TDRC,TLAN,TMED,TPOS,TPUB,TRCK,TCON } function dedi-beet() { ssh dedi -- sudo -u torrent-user beet $@ } function beet-comments() { dedi-beet modify "comments='$2'" "albumartist:'$1'" } function rsync2() { #rsync -rzPh -u --no-W rsync \ --info=PROGRESS2 \ --progress \ --recursive \ --compress \ --human-readable \ --update \ --inplace \ --times \ --no-whole-file \ --itemize-changes \ --stats \ --fuzzy \ --verbose \ $@ } function sync-music() { rsync2 --delete dedi:/home/torrent-user/music-library/ /Users/abra/music/library/ } function .g-init() { git init --bare $HOME/.dotgit .g config --local status.showUntrackedFiles no .g remote add origin ssh://dedi/root/.dotgit git config --global user.name "Your Name" git config --global user.email you@example.com .g remote add origin ssh://dedi/var/www/git.abra.me/dot.git } function is_local() { [[ $(hostname) =~ '^abra0' ]] } function make_user() { if is_local; then echo "You're local" return 1 fi adduser --system --shell /bin/zsh --disabled-password $1 || return 1 wget abra.me/.dotfiles.tar.gz -O /home/$1/.dotfiles.tar.gz tar xf /home/$1/.dotfiles.tar.gz -C /home/$1 chown $1:nogroup -R /home/$1/ } function latest() { echo -n ("${(@f)$(ls *(om[1,$1]))}") } function testo() { # set -eux # set -o pipefail # set -exo pipefail setopt ERR_RETURN d sadsa ls } function testo2() { # set -eux # set -o pipefail # set -exo pipefail sadsa ls } function ffmpeg_timelapse() { local DATE=$1 local PRESET=$2 if [[ -z $PRESET ]]; then local PRESET="ultrafast" fi ls /mnt/a/snaps/$DATE | wc -l || return ffmpeg \ -pattern_type glob -i "/mnt/a/snaps/$DATE/*.jpg" \ -vf 'fps=60' -tune film -preset fast -vsync 0 \ "/mnt/a/$DATE.mp4" }