198 lines
4.7 KiB
Bash
198 lines
4.7 KiB
Bash
# 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 {update_zsh,zu}='echo "LAST_EPOCH=0" > $ZSH_CACHE_DIR/.zsh-custom-update > $ZSH_CACHE_DIR/.zsh-update; 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; echo "if you made changes please push to master with vu"'
|
|
alias vu='cd $ZSH_CUSTOM/plugins/zsh-david; git commit -am "plugin update" && git push origin master; cd -'
|
|
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 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 192.168.42.0/24"
|
|
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 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 ****
|
|
|
|
## output handling
|
|
log() {
|
|
case $1 in
|
|
"error")
|
|
level="\033[31m✗\033[0m"
|
|
;;
|
|
"warn")
|
|
level="\033[33m!\033[0m"
|
|
;;
|
|
"debug")
|
|
level="\033[2md\033[0m"
|
|
;;
|
|
"success")
|
|
level="\033[32m✓\033[0m"
|
|
;;
|
|
"info")
|
|
level="i"
|
|
;;
|
|
*)
|
|
level="\033[31mLoglevel unknown. Programming error? ($1)\033[0m"
|
|
;;
|
|
esac
|
|
|
|
sleep 0.5; echo -e "[$level] ${@:2}"
|
|
}
|
|
|
|
## setup user accounts on linux systems
|
|
setup_user() {
|
|
if [ $1 ]; then
|
|
log info "setting up account for $1"
|
|
else
|
|
log error "no username given"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
## 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
|
|
|
|
}
|
|
|
|
|
|
# **** old content which i keep here for reference ****
|
|
|
|
## 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
|
|
#}
|
|
|
|
|