#!/bin/zsh # for both zsh and bash #umask 027 # screw others umask 022 # don't inherit last umask. pip will break itself. ADDPATH() { grep ":$1:" <<<":$PATH:" >/dev/null || export PATH="$PATH:$1" } ADDPATH "$HOME/opt/local/bin" r="$HOME/.gem/ruby/2.2.0/bin" mkdir -p "$r" && ADDPATH "$r" unset r ify() { [ $# -ge 2 ] || return local ex=$1 shift $@ | $ex } has() { which "$1" >/dev/null 2>&1 && which "$1"; } # cleanup in case of inherited exports for x in AR CC CPP CXX CFLAGS CPPFLAGS CXXFLAGS LDFLAGS RANLIB RC WINDRES; do unset $x done [ "$LANG" != "en_US.UTF-8" ] && echo "Warning: LANG is $LANG" # PuTTY over serial [[ "$TERM" == vt102 ]] && export TERM="xterm" export PREFIX="$HOME/opt/local" export CC="$(has clang || has gcc)" export CXX="$(has clang || has g++)" export CFLAGS='-march=native -O2' export LDFLAGS='-Wl,-O1,--sort-common,-z,relro' export CFLAGS="$CFLAGS -I'$HOME/opt/local/include'" export LDFLAGS="$LDFLAGS -L'$HOME/opt/local/lib'" export CXXFLAGS="$CFLAGS" export LD_LIBRARY_PATH= # -n isn't an option in zsh's export export MAKEFLAGS="-j2" export EDITOR='vim -p' export GOPATH="$HOME/go" # colors for x in ls dir vdir grep fgrep egrep; do alias $x="$x --color=auto" done #alias make="$(has colormake || has make)" # just flags export LESS='-SR' alias makedbg='CFLAGS="-O0" LDFLAGS="-g" make' alias fils="du -bad1" alias lsfm="lsf -ugpms" alias lsa="ls -A --group-directories-first" alias logs="logs -o cat -b -e" alias logsf="logs -f -e" alias diff="git diff --color=auto --no-ext-diff --no-index" alias db="dropbox_uploader" # being specific alias erc="e ~/.zshrc ~/shrc.zsh ~/.bashrc ~/.vimrc" alias irc="screen -dR irc irssi" alias crawl='screen -dR crawl ssh crawl@crawl.develz.org -i ~/.ssh/crawl' alias crawla='screen -dR crawl ssh crawl@crawl.akrasiac.org -l joshua -i ~/.ssh/crawl' alias revend='objcopy -I binary -O binary --reverse-bytes=4' # providing extra functionality # TODO: dotfiles first, like `LC_ALL=C ls -A` which doesnt work with -X flag alias ll="ify less ls -ACX --group-directories-first --color=force" alias counts='find . | wc -l' alias exts='print -l *(:e:l) | sort | uniq -c | sort -n' alias meow='( cd ~/play/meow; ~/sh/meow.sh/run -pa )' alias nocom='grep -oP --line-buffered --color=never "^[^#]+"' alias unwrap='awk '\''BEGIN{RS="\n\n";FS="\n"}{for(i=1;i<=NF;i++)printf "%s ",$i;print "\n"}'\' alias picky='{ pacman -Qgq base base-devel | tee -; pacman -Qtnq; } | sort | uniq -u' alias unused='{ pacman -Qt; pacman -Qe | tee -; } | sort | uniq -u' alias makepkgf='sudo -u $USER MAKEFLAGS=-j2 makepkg -Af --skipchecksums' alias rakef='rake && gem build *.gemspec && gem install *.gem' alias rot13='tr "A-Za-z0-9" "N-ZA-Mn-za-m5-90-4"' alias cleanse='tr -cd "\11\12\15\40-\176"' function trash() { dd status=none if=/dev/random bs=1 count="$1" } . ~/sh/z/z.sh export MPV_STREAM_FLAGS="--quiet --no-sub --vo=opengl:swapinterval=0" twitch(){ livestreamer "twitch.tv/$1" best -p mpv -a \ "$MPV_STREAM_FLAGS ${2:+--autofit=}${2:-} {filename}" } # hitbox uses rtmp but mpv doesnt support rtmp dump parameters hitbox(){ livestreamer "hitbox.tv/$1" best -p mpv -a \ "$MPV_STREAM_FLAGS ${2:+--autofit=}${2:-} {filename}" }