summaryrefslogtreecommitdiffstats
path: root/shell/_zshrc
diff options
context:
space:
mode:
Diffstat (limited to 'shell/_zshrc')
-rw-r--r--shell/_zshrc173
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