Advertisement
Guest User

Untitled

a guest
Feb 12th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 10.46 KB | None | 0 0
  1. # ~/.bashrc: executed by bash(1) for non-login shells.
  2. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
  3. # for examples
  4. # We use preexec and precmd hook functions for Bash
  5. # If you have anything that's using the Debug Trap or PROMPT_COMMAND
  6. # change it to use preexec or precmd
  7. # See also https://github.com/rcaloras/bash-preexec
  8.  
  9. # If not running interactively, don't do anything
  10. case $- in
  11.     *i*) ;;
  12.       *) return;;
  13. esac
  14.  
  15. # don't put duplicate lines or lines starting with space in the history.
  16. # See bash(1) for more options
  17. HISTCONTROL=ignoreboth
  18.  
  19. # append to the history file, don't overwrite it
  20. shopt -s histappend
  21.  
  22. # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
  23. HISTSIZE=1000
  24. HISTFILESIZE=2000
  25.  
  26. # check the window size after each command and, if necessary,
  27. # update the values of LINES and COLUMNS.
  28. shopt -s checkwinsize
  29.  
  30. # If set, the pattern "**" used in a pathname expansion context will
  31. # match all files and zero or more directories and subdirectories.
  32. #shopt -s globstar
  33.  
  34. # make less more friendly for non-text input files, see lesspipe(1)
  35. [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
  36.  
  37. # set variable identifying the chroot you work in (used in the prompt below)
  38. if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
  39.     debian_chroot=$(cat /etc/debian_chroot)
  40. fi
  41.  
  42. # set a fancy prompt (non-color, unless we know we "want" color)
  43. case "$TERM" in
  44.     xterm-color|*-256color) color_prompt=yes;;
  45. esac
  46.  
  47. # uncomment for a colored prompt, if the terminal has the capability; turned
  48. # off by default to not distract the user: the focus in a terminal window
  49. # should be on the output of commands, not on the prompt
  50. #force_color_prompt=yes
  51.  
  52. if [ -n "$force_color_prompt" ]; then
  53.     if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
  54.     # We have color support; assume it's compliant with Ecma-48
  55.     # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
  56.     # a case would tend to support setf rather than setaf.)
  57.     color_prompt=yes
  58.     else
  59.     color_prompt=
  60.     fi
  61. fi
  62.  
  63. if [ "$color_prompt" = yes ]; then
  64.     PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
  65. else
  66.     PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
  67. fi
  68. unset color_prompt force_color_prompt
  69.  
  70. # enable color support of ls and also add handy aliases
  71. if [ -x /usr/bin/dircolors ]; then
  72.     test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
  73.     alias ls='ls --color=auto'
  74.     #alias dir='dir --color=auto'
  75.     #alias vdir='vdir --color=auto'
  76.  
  77.     alias grep='grep --color=auto'
  78.     alias fgrep='fgrep --color=auto'
  79.     alias egrep='egrep --color=auto'
  80. fi
  81.  
  82. # colored GCC warnings and errors
  83. #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
  84.  
  85. # some more ls aliases
  86. alias ll='ls -alF'
  87. alias la='ls -A'
  88. alias l='ls -CF'
  89.  
  90. ### Start agent
  91. eval `ssh-agent -s`
  92. ### Personal Key
  93. # ssh-add ~/.ssh/freenologies-server-key.pem
  94. ### Other Key
  95. # ssh-add ~/.ssh/drv
  96.  
  97. function load_freenologies(){
  98.   destroy_ssh
  99.   ssh-add ~/.ssh/freenologies-server-key.pem  && git config --global user.email "glisterkaiser@gmail.com" && git config --global user.name "Jorge Fuentes"
  100. }
  101.  
  102. function load_drv(){
  103.   destroy_ssh
  104.   ssh-add ~/.ssh/drv  && git config --global user.email "glisterkaiser@gmail.com" && git config --global user.name "Jorge Fuentes"
  105. }
  106.  
  107. # Add an "alert" alias for long running commands.  Use like so:
  108. #   sleep 10; alert
  109. alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
  110.  
  111. # Alias definitions.
  112. # You may want to put all your additions into a separate file like
  113. # ~/.bash_aliases, instead of adding them here directly.
  114. # See /usr/share/doc/bash-doc/examples in the bash-doc package.
  115.  
  116. if [ -f ~/.bash_aliases ]; then
  117.     . ~/.bash_aliases
  118. fi
  119.  
  120. # enable programmable completion features (you don't need to enable
  121. # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
  122. # sources /etc/bash.bashrc).
  123. if ! shopt -oq posix; then
  124.   if [ -f /usr/share/bash-completion/bash_completion ]; then
  125.     . /usr/share/bash-completion/bash_completion
  126.   elif [ -f /etc/bash_completion ]; then
  127.     . /etc/bash_completion
  128.   fi
  129. fi
  130.  
  131. # If this is an xterm set more declarative titles
  132. # "dir: last_cmd" and "actual_cmd" during execution
  133. # If you want to exclude a cmd from being printed see line 156
  134. case "$TERM" in
  135. xterm*|rxvt*)
  136.     PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\$(print_title)\a\]$PS1"
  137.     __el_LAST_EXECUTED_COMMAND=""
  138.     print_title ()
  139.     {
  140.         __el_FIRSTPART=""
  141.         __el_SECONDPART=""
  142.         if [ "$PWD" == "$HOME" ]; then
  143.             __el_FIRSTPART=$(gettext --domain="pantheon-files" "Home")
  144.         else
  145.             if [ "$PWD" == "/" ]; then
  146.                 __el_FIRSTPART="/"
  147.             else
  148.                 __el_FIRSTPART="${PWD##*/}"
  149.             fi
  150.         fi
  151.         if [[ "$__el_LAST_EXECUTED_COMMAND" == "" ]]; then
  152.             echo "$__el_FIRSTPART"
  153.             return
  154.         fi
  155.         #trim the command to the first segment and strip sudo
  156.         if [[ "$__el_LAST_EXECUTED_COMMAND" == sudo* ]]; then
  157.             __el_SECONDPART="${__el_LAST_EXECUTED_COMMAND:5}"
  158.             __el_SECONDPART="${__el_SECONDPART%% *}"
  159.         else
  160.             __el_SECONDPART="${__el_LAST_EXECUTED_COMMAND%% *}"
  161.         fi
  162.         printf "%s: %s" "$__el_FIRSTPART" "$__el_SECONDPART"
  163.     }
  164.     put_title()
  165.     {
  166.         __el_LAST_EXECUTED_COMMAND="${BASH_COMMAND}"
  167.         printf "\033]0;%s\007" "$1"
  168.     }
  169.    
  170.     # Show the currently running command in the terminal title:
  171.     # http://www.davidpashley.com/articles/xterm-titles-with-bash.html
  172.     update_tab_command()
  173.     {
  174.         # catch blacklisted commands and nested escapes
  175.         case "$BASH_COMMAND" in
  176.             *\033]0*|update_*|echo*|printf*|clear*|cd*)
  177.             __el_LAST_EXECUTED_COMMAND=""
  178.                 ;;
  179.             *)
  180.             put_title "${BASH_COMMAND}"
  181.             ;;
  182.         esac
  183.     }
  184.     preexec_functions+=(update_tab_command)
  185.     ;;
  186. *)
  187.     ;;
  188. esac
  189.  
  190. ### Piperita Theme ###
  191. # Theme by Jacob Tomlinson
  192. # https://github.com/killfall/terminal-piperita
  193.  
  194. # Environment variables to set prompt format and color
  195. export COLOR_BOLD="\[\e[1m\]"
  196. export COLOR_DEFAULT="\[\e[0m\]"
  197. export COLOR_WHITE="\[\033[m\]"
  198. export COLOR_GREEN="\[\033[32m\]"
  199. export COLOR_YELLOW="\[\033[33;1m\]"
  200. export COLOR_RED="\[\e[31m\]"
  201. export COLOR_BLUE="\[\033[36m\]"
  202.  
  203. # Determine active Python virtualenv details.
  204.  function set_virtualenv () {
  205.    if test -z "$VIRTUAL_ENV" ; then
  206.        PYTHON_VIRTUALENV=""
  207.    else
  208.        PYTHON_VIRTUALENV="${BLUE}[`basename \"$VIRTUAL_ENV\"`]${COLOR_NONE} "
  209.    fi
  210.  }
  211.  
  212. # get current branch in git repo
  213. function parse_git_branch() {
  214.         BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
  215.         if [ ! "${BRANCH}" == "" ]
  216.         then
  217.                 STAT=$(parse_git_dirty)
  218.                 echo -e " [${BRANCH}${STAT}]"
  219.         else
  220.                 echo ""
  221.         fi
  222. }
  223.  
  224. # get current status of git repo
  225. function parse_git_dirty {
  226.         status=$(git status 2>&1 | tee)
  227.         dirty=$(echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?")
  228.         untracked=$(echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?")
  229.         ahead=$(echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?")
  230.         newfile=$(echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?")
  231.         renamed=$(echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?")
  232.         deleted=$(echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?")
  233.         bits=''
  234.         if [ "${renamed}" == "0" ]; then
  235.                 bits=">${bits}"
  236.         fi
  237.         if [ "${ahead}" == "0" ]; then
  238.                 bits="*${bits}"
  239.         fi
  240.         if [ "${newfile}" == "0" ]; then
  241.                 bits="+${bits}"
  242.         fi
  243.         if [ "${untracked}" == "0" ]; then
  244.                 bits="?${bits}"
  245.         fi
  246.         if [ "${deleted}" == "0" ]; then
  247.                 bits="x${bits}"
  248.         fi
  249.         if [ "${dirty}" == "0" ]; then
  250.                 bits="!${bits}"
  251.         fi
  252.         if [ ! "${bits}" == "" ]; then
  253.                 echo " ${bits}"
  254.         else
  255.                 echo ""
  256.         fi
  257. }
  258.  
  259. prompt_cmd () {
  260.    
  261.     # Set the PYTHON_VIRTUALENV variable.
  262.     set_virtualenv
  263.    
  264.     LAST_STATUS=$?
  265.     PS1="${PYTHON_VIRTUALENV}"
  266.     # Test if user is root and set user color appropriately
  267.     if [[ $(id -u) == 0 ]]
  268.     then
  269.         PS1+="$COLOR_RED"
  270.     else
  271.         PS1+="$COLOR_BLUE"
  272.     fi
  273.     PS1+="\u"
  274.     PS1+="$COLOR_WHITE@"
  275.     PS1+="$COLOR_GREEN\h"
  276.     PS1+="$COLOR_WHITE:"
  277.     PS1+="$COLOR_YELLOW\W"
  278.     # Add git branch and status if applicable
  279.     if type parse_git_branch > /dev/null 2>&1; then
  280.         PS1+=$(parse_git_branch)
  281.     fi
  282.     # Test return code and colour the $ red if fail
  283.     if [[ $LAST_STATUS = 0 ]]; then
  284.         PS1+="$COLOR_WHITE"
  285.     else
  286.         PS1+="$COLOR_RED"
  287.     fi
  288.     PS1+='\$ '
  289.     PS1+="$COLOR_WHITE"
  290. }
  291.  
  292. PROMPT_COMMAND='prompt_cmd'
  293.  
  294. export CLICOLOR=1
  295. export TERM=xterm-256color
  296.  
  297. ### End Piperita Theme ###
  298.  
  299. ### ssh agent setup
  300. # eval `ssh-agent -s`
  301.  
  302. ### dtH Key
  303. # ssh-add ~/.ssh/id_rsa_moodhack
  304. ### Personal Key
  305. # ssh-add ~/.ssh/id_rsa_personal
  306.  
  307. function destroy_ssh(){
  308. ### Agent destroy
  309.   echo -e "SSH REMOVIDA(S)"
  310.   eval `ssh-agent -s`
  311. }
  312.  
  313. function all_ssh(){
  314.   ls -al ~/.ssh
  315. }
  316.  
  317. function current_ssh(){
  318.   ssh-add -l
  319. }
  320.  
  321. function load_ssh_personal(){
  322. ### --- Jorge Personal
  323.   destroy_ssh
  324.   echo -e "SSH PERSONAL CARGADA"
  325.   ssh-add ~/.ssh/id_rsa_personal && git config --global user.email "glisterkaiser@gmail.com" && git config --global user.name "Jorge Fuentes"
  326. }
  327.  
  328. function load_ssh_jorge_dth(){
  329. ### --- Jorge DevToHack
  330.   destroy_ssh
  331.   echo -e "SSH JORGE DTH CARGADA"
  332.   ssh-add ~/.ssh/id_rsa_moodhack && git config --global user.email "jorgefuentes@devtohack.com" && git config --global user.name "Jorge Fuentes"
  333. }
  334.  
  335. function load_ssh_nelson_dth(){
  336. ### --- Nelson DevToHack
  337.   destroy_ssh
  338.   echo -e "SSH NELSON DTH CARGADA"
  339.   ssh-add ~/.ssh/id_rsa_nelson && git config --global user.email "nelsonmarcano@devtohack.com" && git config --global user.name "Nelson Marcano"
  340. }
  341.  
  342. load_ssh_jorge_dth
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement