diff options
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/_zshrc | 233 | 
1 files changed, 128 insertions, 105 deletions
diff --git a/shell/_zshrc b/shell/_zshrc index 954027f..b15be93 100644 --- a/shell/_zshrc +++ b/shell/_zshrc @@ -1,7 +1,5 @@ -zstyle ':completion:*' menu select - -# Path to your oh-my-zsh configuration. -ZSH=$HOME/.oh-my-zsh +# Path to your oh-my-zsh installation. +export ZSH=$HOME/.oh-my-zsh  # Set name of the theme to load.  # Look in ~/.oh-my-zsh/themes/ @@ -9,167 +7,192 @@ ZSH=$HOME/.oh-my-zsh  # time that oh-my-zsh is loaded.  ZSH_THEME="robbyrussell" -# Set to this to use case-sensitive completion +# Uncomment the following line to use case-sensitive completion.  # CASE_SENSITIVE="true" -# Comment this out to disable bi-weekly auto-update checks +# Uncomment the following line to use hyphen-insensitive completion. Case +# sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment the following line 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) +# Uncomment the following line to change how often to auto-update (in days).  # export UPDATE_ZSH_DAYS=13 -# Uncomment following line if you want to disable colors in ls +# Uncomment the following line to disable colors in ls.  # DISABLE_LS_COLORS="true" -# Uncomment following line if you want to disable autosetting terminal title. +# Uncomment the following line to disable auto-setting terminal title.  # DISABLE_AUTO_TITLE="true" -# Uncomment following line if you want red dots to be displayed while waiting for completion +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion.  COMPLETION_WAITING_DOTS="true" +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder +  # 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) +# Add wisely, as too many plugins slow down shell startup.  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.2.0/bin - -# vim -export EDITOR=vim - -# xclip -alias xclip="xclip -selection c" - -alias open="xdg-open" - +## functions  function noproxy { -    unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY ftp_proxy FTP_PROXY no_proxy +	unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY ftp_proxy FTP_PROXY no_proxy -    # change dconf -    dconf reset -f /system/proxy/ +	# change dconf +	dconf reset -f /system/proxy/ -    proxy_update +	proxy_update  } -function setproxy { -    base_proxy="proxy.domain.com" -    base_proxy_port=8080 +	function setproxy { +	base_proxy="proxy.domain.com" +	base_proxy_port=8080 -    dconf_proxy="'$base_proxy'" -    env_proxy="http://$base_proxy:$base_proxy_port" +	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 +	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" +	# 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 -} +	proxy_update +	}  # restart/reload applications for proxy settings to take effect  function proxy_update { -    # dropbox -    killall -q dropbox -    dropbox-cli start +	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 +	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 +	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." +	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 $? +	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 +	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 +	get_closing_action +	save=$? +	set_closing_nothing +	yaourt -Syu --noconfirm + +	[ $save -eq 1 ] && set_closing_sleep + +	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 ) +	( 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 )  } +## PATH +export PATH=$PATH:~/.cabal/bin +export PATH=$PATH:$HOME/.gem/ruby/2.2.0/bin -## run on startup +## alias -if type "archey" > /dev/null; then -    archey # nice system information and arch logo +alias xclip="xclip -selection c" +alias open="xdg-open" + +## env +export EDITOR=vim + +# force 256 color mode +if [ -n "$TMUX" ]; then +	export TERM=screen-256color +else +	export TERM=xterm-256color  fi -if [ -e "$HOME/TODO" ]; then -    cat "$HOME/TODO" +# use gpg-agent as ssh-agent +gpg-connect-agent /bye > /dev/null 2>&1 +export SSH_AUTH_SOCK="$HOME/.gnupg/S.gpg-agent.ssh" + +## zsh options + +bindkey -M viins ' ' magic-space +setopt EXTENDED_GLOB +HISTSIZE=100000000 + +## startup +if type "archey" > /dev/null; then +	archey # nice system information and arch logo  fi + +[ -e ~/TODO ] && cat ~/TODO  | 
