# Programming languages ## Go export GOPATH="$HOME/go" export PATH="$PATH:$GOPATH/bin" ## Node export NVM_DIR=$(realpath "$HOME/.nvm") source "$NVM_DIR/nvm.sh" ## Python (pip) export PATH="$HOME/.local/bin:$PATH" ## Lua export PATH="$PATH:$HOME/.luarocks/bin/" # Misc ## Local binaries export PATH="$HOME/bin:$PATH" # Ergonomic ## Battery percentage alias batt="upower -i /org/freedesktop/UPower/devices/battery_BAT0|grep percentage|awk '{print $2}'" ## Upload to transfer.sh transfer() { if [ $# -eq 0 ];then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" return 1 fi tmpfile=$(mktemp -t transferXXX) if tty -s;then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g') curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile fi cat $tmpfile rm -f $tmpfile } ## Touchpad enabling/disabling function touchpad() { touchpad="SynPS/2 Synaptics TouchPad" if [[ $1 == "disable" ]];then xinput --set-prop "$touchpad" "libinput Send Events Mode Enabled" 1 1 notify-send "Touchpad" "Disabled" else xinput --set-prop "$touchpad" "libinput Send Events Mode Enabled" 0 0 notify-send "Touchpad" "Enabled" fi } ## Terminal font function tfont() { ( [ -z "$1" ] && font="Terminess Powerline" || font="$1" [ -z "$2" ] && fontsize=18 || fontsize="$2" echo -en "\033]710;xft:$font:pixelsize=$fontsize\007" ) } ## resync pulseaudio bluetooth connection function btsync() { ( card=$(pactl list cards short|grep -E -o 'bluez_card.*[[:space:]]') pacmd set-card-profile $card off pacmd set-card-profile $card a2dp_sink ) } # Fancy stuff ## dircolors eval "$(dircolors -b $HOME/.dircolors)" ## fzf [ -e /usr/share/doc/fzf/examples/key-bindings.zsh ] && source /usr/share/doc/fzf/examples/key-bindings.zsh ## Color switcher alias dynamic-colors="~/.dynamic-colors/bin/dynamic-colors" ## Timer function timer() { ( if [ -z "$1" ] || [ -z "$2" ]; then echo "USAGE: $0 [u|f] TIME/DURATION" >&2 return 1 fi if [ "$1" != "u" ] && [ "$1" != "f" ]; then echo "Invalid mode “$1” supplied. Valid modes are: u|f" >&2 return 2 fi [ "$1" = "u" ] && mode="until" [ "$1" = "f" ] && mode="for" gosleep --${mode} "$2" if [ "$?" = 0 ]; then echo "Press CTRL-C to stop the alarm…" >&2 echo -en "\a" # highlight window paplay ~/Dokumente/sound/ringtones/Bergentrückung.wav else echo "The sleep command failed. Please check the options." >&2 return 3 fi ) } ## Wallpaper switcher function wp() { ( if [ -z "$1" ] || ([ "$1" = "rand" ] && [ -z "$2" ]); then echo "USAGE: $0 rand|restore|default [path]" return 1 fi if [ "$1" = "default" ];then feh --bg-fill /usr/share/wallpapers/wallpaper.jpg fi if [ "$1" = "rand" ]; then base="$HOME/Bilder/wallpaper" rand=$(shuf -n1 -e $base/$2/*) [ -z "$rand" ] || feh --bg-fill "$rand" fi if [ "$1" = "restore" ]; then ~/.fehbg fi ) } # Program aliases/env ## Aliases for programs if which exa 2>&1 >> /dev/null;then alias exa="exa --git" alias ls="exa" fi alias ipy="ipython3" alias mpvhdr="mpv --tone-mapping=hable" alias rls="/bin/ls --color=auto" alias shiori="docker exec shiori_shiori_1 shiori" alias tearstop="compton --backend=glx" function jitsi-meet() { chromium --app="https://meet.jit.si/$1" } alias line="chromium --user-data-dir=$HOME/.line --app=chrome-extension://ophjlpahpchlmihnnnihgmmeilfjmjjc/index.html" ## Environment variables export HVSC_BASE="$HOME/Dokumente/sound/HVSC/" export ESP_ROOT="$HOME/projekte/esp8266/esp-open-sdk" export ANDROID_HOME="$HOME/projekte/android/sdk" export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on' # force antialiasing in java ## include docker functions source ~/.zshrc.docker ## drone ci function drone-add-hub() { ( drone secret add --name docker_username --data sbruder "$1" drone secret add --name docker_password --data "$(pass show devops/docker|head -n 1)" "$1" ) } function drone-add-registry() { ( drone secret add --name docker_username --data simon "$1" drone secret add --name docker_password --data "$(pass show accounts/sbruderldap|head -n 1)" "$1" ) } function drone-add-netlify() { ( drone secret add --name netlify_key --data "$(pass show devops/netlify |grep Drone-Key|cut -d: -f2|tr -d ' ')" "$1" ) } function drone-add-s3() { ( drone secret add --name aws_access_key_id --data "$(pass show data/minio/personal|grep User|cut -d: -f2|tr -d ' ')" "$1" drone secret add --name aws_secret_access_key --data "$(pass show data/minio/personal|head -n 1)" "$1" ) } function drone() { ( source ~/.drone-env ~/bin/drone $@ ) } function docker-ls() { ( DOCKER_LS_PASSWORD=$(pass show accounts/sbruderldap|head -n 1) ~/bin/docker-ls $@ ) } function docker-rm() { ( DOCKER_LS_PASSWORD=$(pass show accounts/sbruderldap|head -n 1) ~/bin/docker-rm $@ ) }