aboutsummaryrefslogtreecommitdiff
path: root/zsh
diff options
context:
space:
mode:
authorxero <x@xero.nu>2014-07-14 13:23:05 -0400
committerxero <x@xero.nu>2014-07-14 13:23:05 -0400
commit56560fd597f94dfe6fe5fa79648398ab29d05775 (patch)
tree7e77d23be98b2df8ef847f49ee645085356305be /zsh
parent1434c859bcf94a0bbee88e72c8a01849d0356293 (diff)
downloaddotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.tar.xz
dotfiles_ascii-56560fd597f94dfe6fe5fa79648398ab29d05775.zip
updated repo to manage dotfiles via gnu stow, the symlink farm manager. happy birthday commit! :birthday: :sparkles:
Diffstat (limited to 'zsh')
-rw-r--r--zsh/.zsh/colored-man-pages.zsh8
-rw-r--r--zsh/.zsh/functions/chpwd_update_git_vars1
-rw-r--r--zsh/.zsh/functions/precmd_update_git_vars4
-rw-r--r--zsh/.zsh/functions/preexec_update_git_vars5
-rw-r--r--zsh/.zsh/functions/prompt_git_info21
-rw-r--r--zsh/.zsh/functions/update_current_git_vars31
-rw-r--r--zsh/.zshrc168
7 files changed, 238 insertions, 0 deletions
diff --git a/zsh/.zsh/colored-man-pages.zsh b/zsh/.zsh/colored-man-pages.zsh
new file mode 100644
index 0000000..6854d97
--- /dev/null
+++ b/zsh/.zsh/colored-man-pages.zsh
@@ -0,0 +1,8 @@
+#█▓▒░ source: https://github.com/imkira/dotfiles/blob/master/.zsh/colored-man-pages.zsh
+export LESS_TERMCAP_mb=$'\E[01;31m'
+export LESS_TERMCAP_md=$'\E[01;38;5;74m'
+export LESS_TERMCAP_me=$'\E[0m'
+export LESS_TERMCAP_se=$'\E[0m'
+export LESS_TERMCAP_so=$'\E[38;33;246m'
+export LESS_TERMCAP_ue=$'\E[0m'
+export LESS_TERMCAP_us=$'\E[04;38;5;146m'
diff --git a/zsh/.zsh/functions/chpwd_update_git_vars b/zsh/.zsh/functions/chpwd_update_git_vars
new file mode 100644
index 0000000..2cc7ffa
--- /dev/null
+++ b/zsh/.zsh/functions/chpwd_update_git_vars
@@ -0,0 +1 @@
+update_current_git_vars \ No newline at end of file
diff --git a/zsh/.zsh/functions/precmd_update_git_vars b/zsh/.zsh/functions/precmd_update_git_vars
new file mode 100644
index 0000000..7fa32df
--- /dev/null
+++ b/zsh/.zsh/functions/precmd_update_git_vars
@@ -0,0 +1,4 @@
+if [ -n "$__EXECUTED_GIT_COMMAND" ]; then
+ update_current_git_vars
+ unset __EXECUTED_GIT_COMMAND
+fi \ No newline at end of file
diff --git a/zsh/.zsh/functions/preexec_update_git_vars b/zsh/.zsh/functions/preexec_update_git_vars
new file mode 100644
index 0000000..998de21
--- /dev/null
+++ b/zsh/.zsh/functions/preexec_update_git_vars
@@ -0,0 +1,5 @@
+case "$1" in
+ git*)
+ __EXECUTED_GIT_COMMAND=1
+ ;;
+esac \ No newline at end of file
diff --git a/zsh/.zsh/functions/prompt_git_info b/zsh/.zsh/functions/prompt_git_info
new file mode 100644
index 0000000..d492ac8
--- /dev/null
+++ b/zsh/.zsh/functions/prompt_git_info
@@ -0,0 +1,21 @@
+if [ -n "$__CURRENT_GIT_BRANCH" ]; then
+ local s="%F{cyan}-[%F{white}"
+ s+="$__CURRENT_GIT_BRANCH"
+ case "$__CURRENT_GIT_BRANCH_STATUS" in
+ ahead)
+ s+="↑"
+ ;;
+ diverged)
+ s+="↕"
+ ;;
+ behind)
+ s+="↓"
+ ;;
+ esac
+ if [ -n "$__CURRENT_GIT_BRANCH_IS_DIRTY" ]; then
+ s+="⚡"
+ fi
+ s+="%F{cyan}]"
+
+ printf "%s%s" $s
+fi \ No newline at end of file
diff --git a/zsh/.zsh/functions/update_current_git_vars b/zsh/.zsh/functions/update_current_git_vars
new file mode 100644
index 0000000..716d984
--- /dev/null
+++ b/zsh/.zsh/functions/update_current_git_vars
@@ -0,0 +1,31 @@
+unset __CURRENT_GIT_BRANCH
+unset __CURRENT_GIT_BRANCH_STATUS
+unset __CURRENT_GIT_BRANCH_IS_DIRTY
+
+local st="$(git status 2>/dev/null)"
+local st2="$(git log -1 --pretty=%h 2>/dev/null)"
+
+if [[ -n "$st" ]]; then
+ local -a arr
+ arr=(${(f)st})
+
+ if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then
+ __CURRENT_GIT_BRANCH="$st2"
+ else
+ __CURRENT_GIT_BRANCH="${arr[1][(w)4]}";
+ fi
+
+ if [[ $arr[2] =~ 'Your branch is' ]]; then
+ if [[ $arr[2] =~ 'ahead' ]]; then
+ __CURRENT_GIT_BRANCH_STATUS='ahead'
+ elif [[ $arr[2] =~ 'diverged' ]]; then
+ __CURRENT_GIT_BRANCH_STATUS='diverged'
+ else
+ __CURRENT_GIT_BRANCH_STATUS='behind'
+ fi
+ fi
+
+ if [[ ! $st =~ 'nothing to commit' ]]; then
+ __CURRENT_GIT_BRANCH_IS_DIRTY='1'
+ fi
+fi \ No newline at end of file
diff --git a/zsh/.zshrc b/zsh/.zshrc
new file mode 100644
index 0000000..f0a834c
--- /dev/null
+++ b/zsh/.zshrc
@@ -0,0 +1,168 @@
+# ██
+# ░██
+# ██████ ██████░██ ██████ █████
+# ░░░░██ ██░░░░ ░██████ ░░██░░█ ██░░░██
+# ██ ░░█████ ░██░░░██ ░██ ░ ░██ ░░
+# ██ ░░░░░██░██ ░██ ░██ ░██ ██
+# ██████ ██████ ░██ ░██░███ ░░█████
+# ░░░░░░ ░░░░░░ ░░ ░░ ░░░ ░░░░░
+#
+# ▓▓▓▓▓▓▓▓▓▓
+# ░▓ author ▓ xero <x@xero.nu>
+# ░▓ code ▓ http://code.xero.nu/dotfiles
+# ░▓ mirror ▓ http://git.io/.files
+# ░▓▓▓▓▓▓▓▓▓▓
+# ░░░░░░░░░░
+#
+# █▓▒░ timestamps
+# HIST_STAMPS="mm/dd/yyyy"
+
+#█▓▒░ exports
+export PATH=$HOME/bin:/usr/local/bin:$PATH
+# export MANPATH="/usr/local/man:$MANPATH"
+
+#█▓▒░ preferred editor for local and remote sessions
+if [[ -n $SSH_CONNECTION ]]; then
+ export EDITOR='vim'
+else
+ export EDITOR='vim'
+fi
+
+#█▓▒░ aliases
+alias ls='ls --color=auto'
+alias lsla="ls -la --color=auto"
+alias "cd.."="cd ../"
+alias rock="ncmpcpp"
+alias mixer="alsamixer"
+alias checkrootkits='sudo rkhunter --update; sudo rkhunter --propupd; sudo rkhunter --check'
+alias genplaylist="cd ~/music;find . -name '*.mp3' -o -name '*.flac'|sed -e 's%^./%%g' > ~/.config/mpd/playlists/all.m3u;mpd ~/.config/mpd/mpd.conf;mpc clear;mpc load all.m3u;mpc update"
+alias matrix="cmatrix -b -s"
+alias pipes="bash ~/code/fun/pipes"
+alias pipesx="bash ~/code/fun/pipesx"
+alias rain="bash ~/code/fun/rain"
+alias screenfetch="~/code/fun/screenfetch"
+alias hashcompare='bash ~/code/sys/hash-compare '
+alias tempwatch="while :; do sensors; sleep 1 && clear; done;"
+alias term='urxvtc -hold -e ' #used for awesomewm run menu
+alias fixcursor='xsetroot -cursor_name left_ptr'
+dirlist() {
+ ls -la "$1" && echo -e '' && tree -a "$1"
+}
+#█▓▒░ debian aliases
+#alias sai="sudo apt-get install"
+#alias apachereload='sudo /etc/init.d/apache2 restart'
+#alias disks="palimpsest"
+#alias invert="xcalib -i -a"
+#█▓▒░ arch aliases
+alias pacman="sudo pacman"
+alias apachereload='sudo systemctl restart httpd.service'
+alias disks="ncdu"
+#█▓▒░ work aliases
+alias workscreen='xrandr --output HDMI1 --left-of LVDS1 --mode 1366x768'
+
+#█▓▒░ ssh
+export SSH_KEY_PATH="~/.ssh/id_rsa"
+
+#█▓▒░ keybindings
+typeset -A key
+
+key[Home]=${terminfo[khome]}
+key[End]=${terminfo[kend]}
+key[Insert]=${terminfo[kich1]}
+key[Delete]=${terminfo[kdch1]}
+key[Up]=${terminfo[kcuu1]}
+key[Down]=${terminfo[kcud1]}
+key[Left]=${terminfo[kcub1]}
+key[Right]=${terminfo[kcuf1]}
+key[PageUp]=${terminfo[kpp]}
+key[PageDown]=${terminfo[knp]}
+
+[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line
+[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line
+[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode
+[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char
+[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history
+[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history
+[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char
+[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char
+[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" beginning-of-buffer-or-history
+[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" end-of-buffer-or-history
+
+if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
+ function zle-line-init () {
+ printf '%s' "${terminfo[smkx]}"
+ }
+ function zle-line-finish () {
+ printf '%s' "${terminfo[rmkx]}"
+ }
+ zle -N zle-line-init
+ zle -N zle-line-finish
+fi
+
+
+#█▓▒░ autocompletion systems
+autoload -Uz compinit
+compinit
+
+zstyle ':completion:*' auto-description 'specify: %d'
+zstyle ':completion:*' completer _expand _complete _correct _approximate
+zstyle ':completion:*' format 'Completing %d'
+zstyle ':completion:*' group-name ''
+zstyle ':completion:*' menu select=2 eval "$(dircolors -b)"
+zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
+zstyle ':completion:*' list-colors ''
+zstyle ':completion:*' list-prompt %SAt %p: hit TAB for more, or the character to insert%s
+zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
+zstyle ':completion:*' menu select=long
+zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
+zstyle ':completion:*' use-compctl false
+zstyle ':completion:*' verbose true
+
+zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
+zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
+
+#█▓▒░ allow functions in the prompt
+setopt PROMPT_SUBST
+
+#█▓▒░ autoload zsh functions
+fpath=(~/.zsh/functions $fpath)
+autoload -U ~/.zsh/functions/*(:t)
+
+#█▓▒░ enable auto-execution of functions
+typeset -ga preexec_functions
+typeset -ga precmd_functions
+typeset -ga chpwd_functions
+
+#█▓▒░ append git functions needed for prompt.
+preexec_functions+='preexec_update_git_vars'
+precmd_functions+='precmd_update_git_vars'
+chpwd_functions+='chpwd_update_git_vars'
+
+#█▓▒░ load configs
+for config_file (~/.zsh/*.zsh) source $config_file
+
+#█▓▒░ history
+HISTFILE=~/.zhistory
+setopt APPEND_HISTORY
+HISTSIZE=1200
+SAVEHIST=1000
+setopt HIST_EXPIRE_DUPS_FIRST
+setopt EXTENDED_HISTORY
+setopt SHARE_HISTORY
+
+#█▓▒░ custom prompts
+
+#█▓▒░dual line
+PROMPT="%F{cyan}┌[%F{white}%n@%M%F{cyan}]─[%F{red}%~%F{cyan}]
+%F{cyan}└─ %F{white}"
+#RPROMPT="%F{cyan}[%F{white}%n@%M%F{cyan}]"
+
+#█▓▒░ ninja
+PROMPT="%F{white} ▟▙ %F{red}%~%F{white}
+▟▒%F{blue}░░░░░░░%F{white}▜▙▜████████████████████████████████▛
+▜▒%F{blue}░░░░░░░%F{white}▟▛▟▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▛
+ ▜▛
+ %F{white}"
+
+#█▓▒░ minial
+PROMPT='%F{cyan}[%F{white}%~%F{cyan}]$(prompt_git_info)── -%f '