bashrc with separate plugins
This commit is contained in:
		
							parent
							
								
									ad4eec0cd7
								
							
						
					
					
						commit
						3fe7c056de
					
				
					 2 changed files with 51 additions and 46 deletions
				
			
		
							
								
								
									
										52
									
								
								bashrc
									
										
									
									
									
								
							
							
						
						
									
										52
									
								
								bashrc
									
										
									
									
									
								
							| 
						 | 
					@ -2,20 +2,8 @@
 | 
				
			||||||
[[ $- != *i* ]] && return
 | 
					[[ $- != *i* ]] && return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# {{{ settings
 | 
					# {{{ settings
 | 
				
			||||||
vscripts="${HOME}/vscripts"
 | 
					 | 
				
			||||||
local_bin="${HOME}/.local/bin"
 | 
					local_bin="${HOME}/.local/bin"
 | 
				
			||||||
gem_bin="${HOME}/.local/gem-bin"
 | 
					[[ -d "${local_bin}" && "${PATH}" != *${local_bin}* ]] && export PATH="${PATH}:${local_bin}"
 | 
				
			||||||
[[ -d ${vscripts} && ${PATH} != *${vscripts}* ]] && export PATH=${PATH}:${vscripts}
 | 
					 | 
				
			||||||
[[ -d ${local_bin} && ${PATH} != *${local_bin}* ]] && export PATH=${PATH}:${local_bin}
 | 
					 | 
				
			||||||
[[ -h ${gem_bin} && ${PATH} != *${gem_bin}* ]] && export PATH=${PATH}:${gem_bin}
 | 
					 | 
				
			||||||
unset local_bin vscripts gem_bin
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
dotfiles="${HOME}/vdotfiles"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
completion_path='/usr/share/bash-completion/bash_completion'
 | 
					 | 
				
			||||||
git_prompt_path='/usr/lib/bash-git-prompt/gitprompt.sh'
 | 
					 | 
				
			||||||
comp_enabled=true
 | 
					 | 
				
			||||||
git_enabled=true
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
HISTSIZE=1000
 | 
					HISTSIZE=1000
 | 
				
			||||||
HISTFILE="${HOME}/.bash_history.${UID}"
 | 
					HISTFILE="${HOME}/.bash_history.${UID}"
 | 
				
			||||||
| 
						 | 
					@ -71,7 +59,7 @@ prompt_command()
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        bang="${pnred}>"
 | 
					        bang="${pnred}>"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    PS1="[ ${prompt_user}${HOSTNAME}:${pbold}\w${preset} ]${newline}${bang}${preset} "
 | 
					    PS1="[ ${prompt_user}${HOSTNAME}:${pbold}${PWD}${preset} ]${newline}${bang}${preset} "
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
PROMPT_COMMAND=prompt_command
 | 
					PROMPT_COMMAND=prompt_command
 | 
				
			||||||
# }}}
 | 
					# }}}
 | 
				
			||||||
| 
						 | 
					@ -156,38 +144,10 @@ alias atmux='command tmux -2 attach'
 | 
				
			||||||
alias rscreen='command screen -Dr'
 | 
					alias rscreen='command screen -Dr'
 | 
				
			||||||
alias scr='command screen sudo -Es'
 | 
					alias scr='command screen sudo -Es'
 | 
				
			||||||
# }}}
 | 
					# }}}
 | 
				
			||||||
# {{{ plugins
 | 
					# {{{ plugins and traps
 | 
				
			||||||
if [[ -n ${comp_enabled} && -r ${completion_path} ]]; then
 | 
					plugins="${HOME}/vdotfiles/plugins.bash"
 | 
				
			||||||
    source ${completion_path}
 | 
					[[ -r "${plugins}" ]] && . "${plugins}"
 | 
				
			||||||
fi
 | 
					
 | 
				
			||||||
if [[ -n ${git_enabled} && -r ${git_prompt_path} ]]; then
 | 
					 | 
				
			||||||
    GIT_PROMPT_FETCH_REMOTE_STATUS=0
 | 
					 | 
				
			||||||
    GIT_PROMPT_SHOW_UPSTREAM=1
 | 
					 | 
				
			||||||
    GIT_PROMPT_ONLY_IN_REPO=1
 | 
					 | 
				
			||||||
    # theme overrides
 | 
					 | 
				
			||||||
    if [[ $USER == 'von' ]]; then
 | 
					 | 
				
			||||||
        git_prompt_username=""
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        git_prompt_username="${pnred}${USER}${preset} "
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    GIT_PROMPT_PREFIX="[ "
 | 
					 | 
				
			||||||
    GIT_PROMPT_SUFFIX=" ]"
 | 
					 | 
				
			||||||
    GIT_PROMPT_SEPARATOR=" "
 | 
					 | 
				
			||||||
    GIT_PROMPT_START="[ ${git_prompt_username}${HOSTNAME}:${pbold}\w${preset} ]"
 | 
					 | 
				
			||||||
    GIT_PROMPT_THEME_NAME="Custom"
 | 
					 | 
				
			||||||
    GIT_PROMPT_UNTRACKED="${pncyan}u"
 | 
					 | 
				
			||||||
    GIT_PROMPT_CHANGED="${pnblue}+"
 | 
					 | 
				
			||||||
    GIT_PROMPT_STAGED="${pnyellow}s"
 | 
					 | 
				
			||||||
    GIT_PROMPT_CONFLICTS="${pnred}x"
 | 
					 | 
				
			||||||
    GIT_PROMPT_STASHED="${pbmagenta}→"
 | 
					 | 
				
			||||||
    GIT_PROMPT_CLEAN="${pngreen}."
 | 
					 | 
				
			||||||
    GIT_PROMPT_END_USER="\n${pbold}>${preset} "
 | 
					 | 
				
			||||||
    GIT_PROMPT_END_ROOT="\n${pnred}>${preset} "
 | 
					 | 
				
			||||||
    source ${git_prompt_path}
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
unset completion_path git_prompt_path
 | 
					 | 
				
			||||||
# }}}
 | 
					 | 
				
			||||||
# {{{ traps
 | 
					 | 
				
			||||||
# we want to see exit code on error (it also has to be the last entry here)
 | 
					# we want to see exit code on error (it also has to be the last entry here)
 | 
				
			||||||
trap 'printf "${nred}>>${reset} ${bold}exit${reset} ${nred}%s${reset}\n" "$?" >&2' ERR
 | 
					trap 'printf "${nred}>>${reset} ${bold}exit${reset} ${nred}%s${reset}\n" "$?" >&2' ERR
 | 
				
			||||||
# }}}
 | 
					# }}}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										45
									
								
								plugins.bash
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								plugins.bash
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,45 @@
 | 
				
			||||||
 | 
					enable_vscripts()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    local vscripts="${HOME}/vscripts"
 | 
				
			||||||
 | 
					    [[ -d ${vscripts} && ${PATH} != *${vscripts}* ]] && export PATH=${PATH}:${vscripts}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enable_completion()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    local completion_path='/usr/share/bash-completion/bash_completion'
 | 
				
			||||||
 | 
					    [[ -r "${completion_path}" ]] && . "${completion_path}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enable_git_prompt()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    local git_prompt_path='/usr/lib/bash-git-prompt/gitprompt.sh'
 | 
				
			||||||
 | 
					    if [[ -r "${git_prompt_path}" ]]; then
 | 
				
			||||||
 | 
					        GIT_PROMPT_FETCH_REMOTE_STATUS=0
 | 
				
			||||||
 | 
					        GIT_PROMPT_SHOW_UPSTREAM=1
 | 
				
			||||||
 | 
					        GIT_PROMPT_ONLY_IN_REPO=1
 | 
				
			||||||
 | 
					        # theme overrides
 | 
				
			||||||
 | 
					        if [[ $USER == 'von' ]]; then
 | 
				
			||||||
 | 
					            git_prompt_username=""
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            git_prompt_username="${pnred}${USER}${preset} "
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        GIT_PROMPT_PREFIX="[ "
 | 
				
			||||||
 | 
					        GIT_PROMPT_SUFFIX=" ]"
 | 
				
			||||||
 | 
					        GIT_PROMPT_SEPARATOR=" "
 | 
				
			||||||
 | 
					        GIT_PROMPT_START="[ ${git_prompt_username}${HOSTNAME}:${pbold}\w${preset} ]"
 | 
				
			||||||
 | 
					        GIT_PROMPT_THEME_NAME="Custom"
 | 
				
			||||||
 | 
					        GIT_PROMPT_UNTRACKED="${pncyan}u"
 | 
				
			||||||
 | 
					        GIT_PROMPT_CHANGED="${pnblue}+"
 | 
				
			||||||
 | 
					        GIT_PROMPT_STAGED="${pnyellow}s"
 | 
				
			||||||
 | 
					        GIT_PROMPT_CONFLICTS="${pnred}x"
 | 
				
			||||||
 | 
					        GIT_PROMPT_STASHED="${pbmagenta}→"
 | 
				
			||||||
 | 
					        GIT_PROMPT_CLEAN="${pngreen}."
 | 
				
			||||||
 | 
					        GIT_PROMPT_END_USER="\n${pbold}>${preset} "
 | 
				
			||||||
 | 
					        GIT_PROMPT_END_ROOT="\n${pnred}>${preset} "
 | 
				
			||||||
 | 
					        . "${git_prompt_path}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enable_vscripts
 | 
				
			||||||
 | 
					enable_completion
 | 
				
			||||||
 | 
					enable_git_prompt
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue