#!/bin/zsh # for both zsh and bash umask 022 # don't inherit last umask. pip will break itself. [ -z "$MSYSTEM" ] && cdrive="/cygdrive/c" || cdrive="/c" hash -d cyg="$cdrive/cygwin/home/$USER" hash -d msys="$cdrive/msys64/home/$USER" hash -d e="/media/2tb/you" hash -d c="$cdrive" hash -d win="$cdrive/Users/$USER" hash -d mm="$cdrive/Program Files (x86)/mupen64plus/mm" ADDPATH() { new="$(readlink -f "$1")" grep ":$new:" <<<":$PATH:" >/dev/null || export PATH="$PATH:$new" } ADDPATH "$HOME/opt/local/bin" [ -n "$MSYSTEM" ] && ADDPATH "/c/path" # https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1380084 export SSH_AUTH_SOCK=0 # https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls/ # i haven't checked if this makes any difference personally, but may as well, eh? export TZ=':/etc/localtime' ify() { [ $# -ge 2 ] || return local ex=$1 shift $@ | $ex } has() { which "$1" >&/dev/null && which "$1"; } # cleanup in case of inherited exports unset PREFIX CC CPP CXX LD CFLAGS CPPFLAGS CXXFLAGS LDFLAGS unset AR RANLIB RC WINDRES OBJDUMP OBJCOPY COMPILER_PATH unset LD_LIBRARY_PATH [ "$LANG" != "en_US.UTF-8" ] && [ "$LANG" != "en_CA.UTF-8" ] && echo "Warning: LANG is $LANG" # PuTTY over serial [[ "$TERM" == vt102 ]] && export TERM="xterm" # Qt is stupid and thinks we're running unity so it hides the menu bar [[ "$DESKTOP_SESSION" == xfce ]] && export QT_QPA_PLATFORMTHEME="" export PREFIX="$HOME/opt/local" export EDITOR='vim' export CC="$(has clang || has clang-3.8 || has gcc)" export CXX="$(has clang++ || has clang++-3.8 || has g++)" export CXXFLAGS="$CFLAGS" export MAKEFLAGS="-j2" export OMP_NUM_THREADS=4 export VST_SDK_DIR="$HOME/src/vstsdk2.4" export LADSPA_PATH="/usr/lib/ladspa" export NQDIR="$HOME/play" # colors for x in ls dir vdir grep fgrep egrep; do alias $x="$x --color=auto" done unset x #alias make="$(has colormake || has make)" # just flags export LESS='-SR' alias db="dropbox_uploader" alias fils="du -bahd1" 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 gs='git status' # rip ghostscript alias gd='git diff -U2' alias gds='git --no-pager diff --stat' alias gl='git log --oneline' whoa=( -fdiagnostics-color=always -Wall -Wextra # -Winline # only for C # -Wshadow # only for C -Wwrite-strings -Werror=implicit-function-declaration -Werror=uninitialized -Werror=missing-prototypes -Werror=format-security # -Werror=undef -Wno-unused -Wno-padded -Wno-missing-field-initializers -Wno-type-limits # should disable with pragma but this will do for now -Wno-misleading-indentation # gcc 6 -Wno-disabled-macro-expansion # clang -Wno-language-extension-token # clang -Wno-unknown-warning-option # clang ) welp=( -fno-exceptions -fno-non-call-exceptions -fno-rtti #-fno-use-cxa-atexit #-ffreestanding -fno-common -ffunction-sections -fdata-sections -Wl,--gc-sections -finline-small-functions -findirect-inlining ) # being specific alias pip="sudo -H pip3" alias irc='screeny "$USER" irc irssi' alias crawl='screeny "$USER" crawl ssh crawl@crawl.develz.org -i ~/.ssh/crawl' alias crawla='screeny "$USER" crawl ssh joshua@crawl.akrasiac.org -i ~/.ssh/crawl' alias revend='objcopy -I binary -O binary --reverse-bytes=4' alias aur="BUILDDIR=$HOME/src $HOME/sh/aur -jj" alias clone='sudo rsync -aHA --info=progress2 --no-i-r' alias meow='( cd ~/play/meow; ~/sh/meow.sh/run -pa )' # TODO: dotfiles first, like `LC_ALL=C ls -A` which doesnt work with -X flag alias ll="ify less ls -lAX --group-directories-first --color=force" alias get="git clone --single-branch --depth 1" # providing extra functionality alias counts='find . | wc -l' alias exts='print -l *(:e:l) | sort | uniq -c | sort -n' alias freq="cut -d' ' -f1 < ~/.histfile | sort | uniq -c | sort -rn | head" # alias nocom='grep -oP --line-buffered --color=never "^[^#]+"' alias jrep='grep -aPo "[\x{20}-\x{7E}\x{4E00}-\x{9FFF}\x{3040}-\x{30FF}]+"' alias bomb='uconv -f utf-8 -t utf-8 --add-signature' alias cleanse='tr -cd "\11\12\15\40-\176"' alias rot13='tr "A-Za-z0-9" "N-ZA-Mn-za-m5-90-4"' alias unwrap='awk '\''BEGIN{RS="\n\n";FS="\n"}{for(i=1;i<=NF;i++)printf "%s ",$i;print "\n"}'\' alias double='awk "{print;print}"' # alias picky='{ pacman -Qgq base base-devel xorg xorg-drivers xfce4 | double; pacman -Qeq; } | sort | uniq -u' alias unused='{ pacman -Qtq; pacman -Qeq | double; } | sort | uniq -u' # alias makepkgf='sudo -u $USER makepkg -Af --skipchecksums --skippgpcheck' alias rakef='rake && gem build *.gemspec && gem install *.gem' trash() { dd status=none if=/dev/random bs=1 count="$1" } unset cdrive [ -e ~/sh/z/z.sh ] && . ~/sh/z/z.sh . ~/.streamcrap . ~/.ea