# My personal ZSH plugin with custom aliases and functions. # It might not be very useful for you. # **** zsh options **** set -o shwordsplit # **** aliases definitions **** alias zz='source $HOME/.zshrc' alias vz='vim $HOME/.zshrc && source $HOME/.zshrc' alias vp='vim $ZSH_CUSTOM/plugins/zsh-david/zsh-david.plugin.zsh && source $HOME/.zshrc' alias vu='upgrade_oh_my_zsh && _upgrade_custom' alias vi='vim' alias v='vim' alias vv='vim $HOME/.vimrc' alias serve="python2 -m SimpleHTTPServer" alias push="git push origin master" alias pull="git pull origin master" alias commit="git commit -a" #alias vpn="sudo openvpn --writepid /var/run/openvpn --config /home/david/.vpn/david.conf" alias aec="sshuttle -vvr 90.146.8.233 192.168.6.0/24 90.146.8.0/26 10.9.0.0/26 10.12.0.0/16 10.2.0.0/26 192.168.3.0/24 10.12.4.0/22" alias home="sshuttle -vvr stargazer.socialnerds.org:2222 10.1.0.0/16" alias dmz="sshuttle -vvr 90.146.8.9 90.146.8.0/26" alias c="clear" alias start_vmware="~/Git/scripts/start_vmware.sh" #alias ls='ls --color=auto' #does not work on macos alias pacrepo='sudo reflector -l 20 -f 10 --save /etc/pacman.d/mirrorlist' alias pacman='sudo pacman' alias journalctl='sudo journalctl' alias pacu='sudo pacman -Syu --noconfirm' alias auru='yaourt -Syua --noconfirm' alias systemctl='sudo systemctl' alias se='ls /usr/bin | grep' # **** variables **** export EDITOR=vim if [[ $LANG = '' ]]; then export LANG=en_US.UTF-8 fi # **** function definitions **** ## RDP client rdp() { if [ -z $1 ]; then echo -e "server: \c" read server else server=$1 fi echo -e "username [davidadm]: \c" read username if [ -z $username ]; then username="davidadm" fi echo -e "domain [aec.at]: \c" read domain if [ -z $domain ]; then domain="aec.at" fi which rdesktop >/dev/null if [ $? -eq 0 ]; then #rdesktop -u $username -p - -d $domain -g 1366x768 $server -k de rdesktop -K -u $username -p - -d $domain -g workarea $server -k de else which xfreerdp >/dev/null if [ $? -eq 0 ]; then #xfreerdp +clipboard /v:$server /u:$username /d:$domain /size:1920x1080 xfreerdp /v:$server /u:$username /d:$domain /size:1366x768 -wallpaper:on else echo "error: no rdp client found" return 1 fi fi } ## OS Upgrade for various systems. update() { systems="ubuntu arch solus raspbian antergos" issue="$(cat /etc/issue)" for item in $systems; do echo $issue | grep -i $item >> /dev/null if [ $? -eq 0 ]; then system=$item fi done case $system in ubuntu|debian|raspbian) echo "Updating Ubuntu/Debian.." sudo apt-get update && sudo apt-get dist-upgrade ;; arch|antergos) echo "Updating Arch Linux.." sudo pacman -Syu ;; solus) echo "Updating Solus OS.." sudo eopkg update-repo && sudo eopkg upgrade ;; ?) echo "error: unknown system." return 1 ;; esac if [ $? -ne 0 ]; then echo "error: something went wrong." return 1 fi } ## Cross-platform install routine install() { systems="ubuntu arch" issue="$(cat /etc/issue)" packages=$* for item in $systems; do echo $issue | grep -i $item >> /dev/null if [ $? -eq 0 ]; then system=$item fi done case $system in ubuntu) sudo apt-get install -y $packages ;; arch) sudo pacman -Sy --noconfirm $packages ;; ?) echo "unknown system. could not run install." ;; esac } ## Thinkpad Trackpoint input fix (for for thinkpad x131e/chromebook) fixtrackpoint() { xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5 xinput set-prop "TPPS/2 IBM TrackPoint" "Device Accel Constant Deceleration" 0.75 }