Initial commit.
This commit is contained in:
		
							
								
								
									
										9
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| # ZSH config | ||||
|  | ||||
| This is a ZSH configuration, baked by [Stanislav N. aka pztrn](http://en.pztrn.name/). | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| * Fully modular design. | ||||
| * Ability to write own mini-apps. | ||||
| * Support libraries support. Just write them and place in 'lib'. Don't forget to source them! | ||||
							
								
								
									
										2
									
								
								zsh/00-init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								zsh/00-init.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| bindkey -e | ||||
| zstyle :compinstall filename '${CONFIG_PATH}/.zshrc' | ||||
							
								
								
									
										11
									
								
								zsh/10-exports.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								zsh/10-exports.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| export PATH="/home/pztrn/bin:/usr/lib:/usr/lib/colorgcc/bin:/usr/sbin:/sbin:/usr/local/heroku/bin:/data/Programs/hyde:$PATH" | ||||
| export EDITOR=nano | ||||
|  | ||||
| # More or less pretty fonts in Java programs. | ||||
| export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' | ||||
| export JAVA_FONTS=/usr/share/fonts/TTF | ||||
|  | ||||
| # PyENV. | ||||
| export PYENV_ROOT="/data/.pyenv" | ||||
| export PATH="$PYENV_ROOT/bin:$PATH" | ||||
| eval "$(pyenv init -)" | ||||
							
								
								
									
										3
									
								
								zsh/11-autocomplete.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								zsh/11-autocomplete.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| autoload -Uz compinit | ||||
| compinit | ||||
| zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' | ||||
							
								
								
									
										11
									
								
								zsh/20-history.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								zsh/20-history.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| HISTFILE=~/.histfile | ||||
| HISTSIZE=1000 | ||||
| SAVEHIST=1000 | ||||
|  | ||||
| setopt extended_history | ||||
| setopt hist_expire_dups_first | ||||
| setopt hist_ignore_dups # ignore duplication command history list | ||||
| setopt hist_ignore_space | ||||
| setopt hist_verify | ||||
| setopt inc_append_history | ||||
| setopt share_history # share command history data | ||||
							
								
								
									
										61
									
								
								zsh/30-keys.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								zsh/30-keys.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| # This configuration was completely stolen from Oh-My-ZSH: | ||||
| # https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/key-bindings.zsh | ||||
| # Enchanced with more word actions (move backward and forward one word), I | ||||
| # prefer ALT key to do same thing. | ||||
|  | ||||
| # Make sure that the terminal is in application mode when zle is active, since | ||||
| # only then values from $terminfo are valid | ||||
| if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then | ||||
|     function zle-line-init() { | ||||
|         echoti smkx | ||||
|     } | ||||
|     function zle-line-finish() { | ||||
|         echoti rmkx | ||||
|     } | ||||
|     zle -N zle-line-init | ||||
|     zle -N zle-line-finish | ||||
| fi | ||||
|  | ||||
| bindkey -e # Use emacs key bindings | ||||
| bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark | ||||
| bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls | ||||
| bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. | ||||
| if [[ "${terminfo[kpp]}" != "" ]]; then | ||||
|     bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history | ||||
| fi | ||||
| if [[ "${terminfo[knp]}" != "" ]]; then | ||||
|     bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history | ||||
| fi | ||||
| if [[ "${terminfo[kcuu1]}" != "" ]]; then | ||||
|     bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward | ||||
| fi | ||||
| if [[ "${terminfo[kcud1]}" != "" ]]; then | ||||
|     bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward | ||||
| fi | ||||
| if [[ "${terminfo[khome]}" != "" ]]; then | ||||
|     bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line | ||||
| fi | ||||
| if [[ "${terminfo[kend]}" != "" ]]; then | ||||
|     bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line | ||||
| fi | ||||
|     bindkey ' ' magic-space # [Space] - do history expansion | ||||
|     bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word | ||||
|     bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word | ||||
|     bindkey '^[[1;3C' forward-word # [ALT-RightArrow] - move forward one word | ||||
|     bindkey '^[[1;3D' backward-word # [ALT-LeftArrow] - move backward one word | ||||
| if [[ "${terminfo[kcbt]}" != "" ]]; then | ||||
|     bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards | ||||
| fi | ||||
|     bindkey '^?' backward-delete-char # [Backspace] - delete backward | ||||
| if [[ "${terminfo[kdch1]}" != "" ]]; then | ||||
|     bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward | ||||
| else | ||||
|     bindkey "^[[3~" delete-char | ||||
|     bindkey "^[3;5~" delete-char | ||||
|     bindkey "\e[3~" delete-char | ||||
| fi | ||||
|  | ||||
| # Edit the current command line in $EDITOR | ||||
| autoload -U edit-command-line | ||||
| zle -N edit-command-line | ||||
| bindkey '\C-x\C-e' edit-command-line | ||||
							
								
								
									
										12
									
								
								zsh/40-prompt.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								zsh/40-prompt.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| # Load user desired prompt. | ||||
|  | ||||
| autoload -Uz promptinit | ||||
| promptinit | ||||
|  | ||||
| if [ "${PROMPT_THEME}" != "" ]; then | ||||
|     if [ -f ${CONFIG_PATH}/zsh/prompts/${PROMPT_THEME}.zsh-theme ]; then | ||||
|         source ${CONFIG_PATH}/zsh/prompts/${PROMPT_THEME}.zsh-theme | ||||
|     else | ||||
|         echo "Theme \"${PROMPT_THEME}\" could not be loaded. File does not exist or unreadable." | ||||
|     fi | ||||
| fi | ||||
							
								
								
									
										42
									
								
								zsh/50-aliases.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								zsh/50-aliases.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| alias screen="TERM=xterm screen" | ||||
|  | ||||
| # AION ^_^ | ||||
| #alias aion="cd /data/Programs/aion/ && WINEPREFIX="/home/pztrn/.wine-aion" wine AWLite.exe" | ||||
|  | ||||
| # SVN Add all in ABUILDS | ||||
| #alias addall="cd /data/AgiliaLinux/ABUILDS && sh svnadd.sh" | ||||
|  | ||||
| # VirtualBox Aliases | ||||
| alias as-start='VBoxManage startvm "Arch Linux Server" --type headless' | ||||
| alias as-stop='VBoxManage controlvm "Arch Linux Server" acpipowerbutton' | ||||
|  | ||||
| alias x86_64-start='VBoxManage startvm "Agilia x86_64" --type headless' | ||||
| alias x86_64-stop='VBoxManage controlvm "Agilia x86_64" acpipowerbutton' | ||||
|  | ||||
| # QTile | ||||
| alias qtcfg="nano ~/.config/qtile/config.py" | ||||
|  | ||||
| # Games | ||||
| alias regnum="/data/Programs/Regnum/rolauncher" | ||||
| alias ut2004="aoss /data/Programs/UT2004/ut2004" | ||||
|  | ||||
| #PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting | ||||
| #source /home/pztrn/.rvm/scripts/rvm | ||||
|  | ||||
| # Xilitra | ||||
| alias xbs="/data/XILITRA/xbs/src/xbs.py" | ||||
| alias deptracker="/data/XILITRA/xilitra-dev-tools/deptracker/deptracker" | ||||
| alias xpkg="/data/XILITRA/xpkg/src/xpkg.py" | ||||
|  | ||||
| # Other | ||||
| alias clocksync="sudo ntpdate 0.pool.ntp.org" | ||||
| alias got="git" | ||||
|  | ||||
| # Blogs | ||||
| alias crotal="/data/.pyenv/versions/2.7.6/bin/crotal" | ||||
|  | ||||
| #alias yasearch="yaourt -Ss" | ||||
| #alias yainstall="yaourt -S" | ||||
| #alias yadel="yaourt -Rd" | ||||
| #alias sysupdate="yaourt -Syua" | ||||
| #alias flvgrab="ffmpeg -f alsa -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec pcm_s16le -vcodec flv -sameq" | ||||
							
								
								
									
										20
									
								
								zsh/99-fbterm.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								zsh/99-fbterm.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| # Launch fbterm on TTY login | ||||
|  | ||||
| # But first some pre-checks. nVidia proprietary drivers will not allow | ||||
| # us to use it, so we should disable this. | ||||
|  | ||||
| NVIDIA_POWERED=0 | ||||
| lsmod | grep nvidia &> /dev/null | ||||
|  | ||||
| if [ $? -eq 0 ]; then | ||||
|     error 1 "Will not use FBTerm - nVidia proprietary driver detected" | ||||
|     NVIDIA_POWERED=1 | ||||
| fi | ||||
|  | ||||
| if [ ${USE_FBTERM} -gt 0 ]; then | ||||
|     if [ ${NVIDIA_POWERED} -ne 1 ]; then | ||||
|         if [[ "$TTY" =~ ".*tty.*" ]] then | ||||
|             fbterm | ||||
|         fi | ||||
|     fi | ||||
| fi | ||||
							
								
								
									
										0
									
								
								zsh/aliases/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								zsh/aliases/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								zsh/apps/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								zsh/apps/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										4
									
								
								zsh/apps/colors.app.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								zsh/apps/colors.app.zsh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| function main() | ||||
| { | ||||
|     // | ||||
| } | ||||
							
								
								
									
										72
									
								
								zsh/lib/logger.lib.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								zsh/lib/logger.lib.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| # Logger for debug output. | ||||
|  | ||||
| # Debug messages array. | ||||
| DEBUG_MESSAGES=("\033[1;32mINFO     \033[1;m" "\033[1;36mDEBUG    \033[1;m" "\033[1;31mHARDDEBUG\033[1;m") | ||||
|  | ||||
| # Colorize messages depending on verbosity level. | ||||
| VERB_LVL_COLORS=("\033[1;m" "\033[1;34m" "\033[1;35m") | ||||
|  | ||||
| # Formatted message will be placed in this variable. | ||||
| FORMATTED_MESSAGE="" | ||||
|  | ||||
| function log() { | ||||
|     # Just log. | ||||
|     log_common $1 "$2" | ||||
|     if [ $? -eq 0 ]; then | ||||
|         echo -e "${VERB_LVL_COLORS[${1}]}${FORMATTED_MESSAGE}\033[1;m" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| function log_common() { | ||||
|     # Executes some common things for logs. | ||||
|     local DEBUG_LVL=$1 | ||||
|     local MESSAGE=$2 | ||||
|  | ||||
|     check_debug ${DEBUG_LVL} | ||||
|     if [ $? -ne 0 ]; then | ||||
|         return 1 | ||||
|     fi | ||||
|  | ||||
|     # All ok, printing... | ||||
|     FORMATTED_MESSAGE="[${DEBUG_MESSAGES[${DEBUG_LVL}]}] ${MESSAGE}" | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| function error() { | ||||
|     # Just log. | ||||
|     error_common $1 "$2" | ||||
|     if [ $? -eq 0 ]; then | ||||
|         echo -e "${VERB_LVL_COLORS[${1}]}${FORMATTED_MESSAGE}\033[1;m" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| function error_common() { | ||||
|     # Executes some common things for logs. | ||||
|     local DEBUG_LVL=$1 | ||||
|     local MESSAGE=$2 | ||||
|  | ||||
|     check_debug ${DEBUG_LVL} | ||||
|     if [ $? -ne 0 ]; then | ||||
|         return 1 | ||||
|     fi | ||||
|  | ||||
|     # All ok, printing... | ||||
|     FORMATTED_MESSAGE="[ERROR] \033[1;31m${MESSAGE}\033[1;m" | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
|  | ||||
| function check_debug() { | ||||
|     # Checks for debug level and if it applicable to us. | ||||
|     # Return codes: | ||||
|     #   - 0: this debug level is okay to be printed. | ||||
|     #   - 1: this debug level should not be printed. | ||||
|     local DEBUG_LVL=$1 | ||||
|  | ||||
|  | ||||
|     if [ ${DEBUG_LVL} -le ${DEBUG} ]; then | ||||
|         return 0 | ||||
|     else | ||||
|         return 1 | ||||
|     fi | ||||
| } | ||||
							
								
								
									
										72
									
								
								zsh/prompts/pztrn.zsh-theme
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								zsh/prompts/pztrn.zsh-theme
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| # pztrn prompt theme | ||||
| autoload -U add-zsh-hook | ||||
|  | ||||
| prompt_pztrn_help () { | ||||
|     cat <<'EOF' | ||||
|  | ||||
|     prompt pztrn [<color1> [<color2> [<color3> [<color4> [<color5>]]]]] | ||||
|  | ||||
|     defaults are red, cyan, green, yellow, and white, respectively. | ||||
|  | ||||
| EOF | ||||
| } | ||||
|  | ||||
| prompt_pztrn_setup () { | ||||
|     local -a pcc | ||||
|     local -A pc | ||||
|     local p_date p_tty p_plat p_ver p_userpwd p_apm p_shlvlhist p_rc p_end p_win | ||||
|  | ||||
|     autoload -Uz vcs_info | ||||
|  | ||||
|     pcc[1]=${1:-${${SSH_CLIENT+'yellow'}:-'red'}} | ||||
|     pcc[2]=${2:-'cyan'} | ||||
|     pcc[3]=${3:-'green'} | ||||
|     pcc[4]=${4:-'yellow'} | ||||
|     pcc[5]=${5:-'white'} | ||||
|  | ||||
|     pc['\[']="%F{$pcc[1]}[" | ||||
|     pc['\]']="%F{$pcc[1]}]" | ||||
|     pc['<']="%F{$pcc[1]}<" | ||||
|     pc['>']="%F{$pcc[1]}>" | ||||
|     pc['\(']="%F{$pcc[1]}(" | ||||
|     pc['\)']="%F{$pcc[1]})" | ||||
|  | ||||
|     p_date="$pc['\[']%F{$pcc[2]}%D{%a %y/%m/%d %R %Z}$pc['\]']" | ||||
|     p_tty="$pc['\[']%F{$pcc[3]}%l$pc['\]']" | ||||
|     p_plat="$pc['\[']%F{$pcc[2]}$(uname -r)$pc['\]']" | ||||
|     p_ver="$pc['\[']%F{$pcc[2]}${ZSH_VERSION}$pc['\]']" | ||||
|  | ||||
|     [[ -n "$WINDOW" ]] && p_win="$pc['\(']%F{$pcc[4]}$WINDOW$pc['\)']" | ||||
|  | ||||
|     p_userpwd="$pc['\[']%F{$pcc[5]}User:%F{$pcc[3]} %n$pc['\]']$pc['\[']%F{$pcc[5]}Host:%F{$pcc[3]} %M$pc['\]']" | ||||
|  | ||||
|     p_shlvlhist="$pc['\[']%F{$pcc[3]}%B%h%b$pc['\]']" | ||||
|     p_rc="%(?..[%?%1v] )" | ||||
|     p_end="%f%B%#%b " | ||||
|     p_path="$pc['\[']%F{$pcc[4]} %d $pc['\]']" | ||||
|  | ||||
|     zle_highlight[(r)default:*]=default:$pcc[2] | ||||
|  | ||||
|     prompt="$p_date$p_tty$p_plat$p_ver$p_userpwd$p_shlvlhist | ||||
| $p_path $p_end" | ||||
|     PS2='%(4_.\.)%3_> %E' | ||||
|  | ||||
|     add-zsh-hook precmd prompt_pztrn_precmd | ||||
| } | ||||
|  | ||||
| prompt_pztrn_precmd () { | ||||
|     setopt noxtrace noksharrays localoptions | ||||
|     local exitstatus=$? | ||||
|     local git_dir git_ref | ||||
|  | ||||
|     psvar=() | ||||
|     [[ $exitstatus -ge 128 ]] && psvar[1]=" $signals[$exitstatus-127]" || | ||||
| 	psvar[1]="" | ||||
|  | ||||
|     [[ -o interactive ]] && jobs -l | ||||
|  | ||||
|     vcs_info | ||||
|     [[ -n $vcs_info_msg_0_ ]] && psvar[2]="$vcs_info_msg_0_" || psvar[2]="NO" | ||||
| } | ||||
|  | ||||
| prompt_pztrn_setup "$@" | ||||
							
								
								
									
										54
									
								
								zshrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								zshrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| #!/bin/bash | ||||
| # ^^^ THIS IS FOR SYNTAX HIGHLIGHT! | ||||
|  | ||||
| #. /etc/profile | ||||
|  | ||||
| ##################################################################### | ||||
| # CONFIGURATION | ||||
| # ------------- | ||||
| # You should set these variables :) | ||||
| ##################################################################### | ||||
| # The very important thing - debug. | ||||
| # Should we enable debug output? | ||||
| DEBUG=0 | ||||
| # Prompt configuration | ||||
| PROMPT_THEME="pztrn" | ||||
|  | ||||
| # FBTerm - should we use it? | ||||
| # nVidia users with proprietary drivers - sorry, you can't use it. | ||||
| USE_FBTERM=1 | ||||
|  | ||||
| ##################################################################### | ||||
| # INITIALIZATION | ||||
| # -------------- | ||||
| # Here goes initialization thing. | ||||
| # DO NOT CHANGE ANYTHING, UNLESS YOU ARE KNOW WHAT ARE YOU DOING! | ||||
| ##################################################################### | ||||
| # Get real script path. | ||||
| CONFIG_PATH='' | ||||
| CONFIG_FOUND=0 | ||||
|  | ||||
| if [ -h ${HOME}/.zshrc ]; then | ||||
|     CONFIG_PATH=`readlink ${HOME}/.zshrc` | ||||
|     CONFIG_PATH=`dirname ${CONFIG_PATH}` | ||||
|     if [ ${#CONFIG_PATH[@]} -gt 0 ]; then | ||||
|         CONFIG_FOUND=1 | ||||
|     else | ||||
|         echo "CONFIG_PATH has invalid value: '${CONFIG_PATH}'" | ||||
|     fi | ||||
| fi | ||||
|  | ||||
| # Some sourcing. | ||||
| source ${CONFIG_PATH}/zsh/lib/logger.lib.sh | ||||
|  | ||||
| if [ $CONFIG_FOUND -eq 1 ]; then | ||||
|     for config_file in `ls ${CONFIG_PATH}/zsh/ | sort | grep zsh`; do | ||||
|         source ${CONFIG_PATH}/zsh/${config_file} | ||||
|     done | ||||
| else | ||||
|     echo "Failed to load configuration." | ||||
| fi | ||||
|  | ||||
| set -B | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user