diff options
Diffstat (limited to 'shell/_zshrc')
-rw-r--r-- | shell/_zshrc | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/shell/_zshrc b/shell/_zshrc new file mode 100644 index 0000000..1c03df1 --- /dev/null +++ b/shell/_zshrc @@ -0,0 +1,173 @@ +zstyle ':completion:*' menu select + +# Path to your oh-my-zsh configuration. +ZSH=$HOME/.oh-my-zsh + +# Set name of the theme to load. +# Look in ~/.oh-my-zsh/themes/ +# Optionally, if you set this to "random", it'll load a random theme each +# time that oh-my-zsh is loaded. +ZSH_THEME="robbyrussell" + +# Set to this to use case-sensitive completion +# CASE_SENSITIVE="true" + +# Comment this out to disable bi-weekly auto-update checks +# DISABLE_AUTO_UPDATE="true" + +# Uncomment to change how many often would you like to wait before auto-updates occur? (in days) +# export UPDATE_ZSH_DAYS=13 + +# Uncomment following line if you want to disable colors in ls +# DISABLE_LS_COLORS="true" + +# Uncomment following line if you want to disable autosetting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment following line if you want red dots to be displayed while waiting for completion +COMPLETION_WAITING_DOTS="true" + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +plugins=(git) + +source $ZSH/oh-my-zsh.sh + +# 256 color mode +if [ -n "$TMUX" ]; then + export TERM=screen-256color +else + export TERM=xterm-256color +fi + +# cabal +export PATH=$PATH:~/.cabal/bin + +# ruby +export PATH=$PATH:$HOME/.gem/ruby/2.1.0/bin + +# vim +export EDITOR=vim + +# xclip +alias xclip="xclip -selection c" + +alias open="xdg-open" + +function noproxy { + unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY ftp_proxy FTP_PROXY no_proxy + + # change dconf + dconf reset -f /system/proxy/ + + proxy_update +} + +function setproxy { + base_proxy="proxy.domain.com" + base_proxy_port=8080 + + dconf_proxy="'$base_proxy'" + env_proxy="http://$base_proxy:$base_proxy_port" + + http_proxy=$env_proxy + HTTP_PROXY=$env_proxy + https_proxy=$env_proxy + HTTPS_PROXY=$env_proxy + ftp_proxy=$env_proxy + FTP_PROXY=$env_proxy + no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com" + export http_proxy https_proxy HTTP_PROXY HTTPS_PROXY ftp_proxy FTP_PROXY no_proxy + + # change dconf + dconf write /system/proxy/mode "'manual'" + dconf write /system/proxy/ignore-hosts "['localhost', '127.0.0.0/8', '10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12']" + dconf write /system/proxy/http/enabled true + dconf write /system/proxy/http/host "$dconf_proxy" + dconf write /system/proxy/http/port "$base_proxy_port" + dconf write /system/proxy/https/host "$dconf_proxy" + dconf write /system/proxy/https/port "$base_proxy_port" + dconf write /system/proxy/ftp/host "$dconf_proxy" + dconf write /system/proxy/ftp/port "$base_proxy_port" + + proxy_update +} + +# restart/reload applications for proxy settings to take effect +function proxy_update { + # dropbox + killall -q dropbox + dropbox-cli start +} + +# set lid closing action to sleep +function set_closing_sleep { + get_closing_action + if [ $? -eq 0 ]; then + head -n -2 /etc/systemd/logind.conf | sudo tee /etc/systemd/logind.conf > /dev/null + echo "Closing action set to sleep if lid is closed." + sudo systemctl restart systemd-logind.service + else + echo "Already set to sleep if lid is closed." + fi +} + +# set lid closing action to nothing +function set_closing_nothing { + get_closing_action + if [ $? -eq 1 ]; then + cat <<'EOF' | sudo tee -a /etc/systemd/logind.conf > /dev/null +#custom +HandleLidSwitch=ignore +EOF + echo "Closing action set to _not_ sleep if lid is closed." + sudo systemctl restart systemd-logind.service + else + echo "Already set to _not_ sleep if lid is closed." + fi +} + +# 0 is nothing, 1 is sleep +function get_closing_action { + grep -q '#custom' /etc/systemd/logind.conf + return $? +} + +function toggle_laptop_closing_action { + get_closing_action + if [ $? -eq 1 ]; then + set_closing_nothing + else + set_closing_sleep + fi +} + +function update_and_sleep { + get_closing_action + save=$? + set_closing_nothing + yaourt -Syu --noconfirm + if [ $save -eq 1 ]; then + set_closing_sleep + fi + systemctl suspend +} + +function 256color_test { + ( x=`tput op` y=`printf %$((${COLUMNS}-6))s`; + for i in {0..256}; + do + o=00$i; + echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x; + done ) +} + + +## run on startup + +if type "archey" > /dev/null; then + archey # nice system information and arch logo +fi + +cat ~/TODO |