1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-05-18 17:53:23 -07:00
rc/home/-shrc

149 lines
5.0 KiB
Bash

#!/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
export OMP_NUM_THREADS=4
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
[ "$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 CC="$(has clang || has clang-3.8 || has gcc)"
export CXX="$(has clang++ || has clang++-3.8 || 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 VST_SDK_DIR="$HOME/src/vstsdk2.4"
export LADSPA_PATH="/usr/lib/ladspa"
export NQDIR="$HOME/play"
export EDITOR='vim'
# 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 makedbg='CFLAGS="-O0" LDFLAGS="-g" make'
alias fils="du -bad1"
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
)
# being specific
alias pip="sudo -H pip3"
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 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'
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 -ACX --group-directories-first --color=force"
alias ml="PATH='$cdrive/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/bin:$cdrive/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/libnvvp:$cdrive/path/bin:$cdrive/WINDOWS/system32:$cdrive/WINDOWS:$cdrive/Miniconda3:$cdrive/Miniconda3/Scripts:$cdrive/Miniconda3/Library/bin' $cdrive/Miniconda3/envs/*/python -u"
alias chell='PATH=${PATH/*\/usr\/bin:/} gcc WHOA -std=gnu11 -static-libgcc -static -I/cygwin/home/notwa/opt/local/include -s -Ofast'
alias hell='PATH=${PATH/*\/usr\/bin:/} g++ WHOA -std=gnu++17 -static-libgcc -static-libstdc++ -static -I/cygwin/home/notwa/opt/local/include -s -Ofast'
# 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 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'
trash() {
dd status=none if=/dev/random bs=1 count="$1"
}
unset cdrive
[ -e ~/sh/z/z.sh ] && . ~/sh/z/z.sh
. ~/.streamcrap