Skip to content

Instantly share code, notes, and snippets.

@shaun-sweet
Created April 19, 2017 00:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save shaun-sweet/5bf1f07a9a66bb2d7ffbfeb5ee6b3589 to your computer and use it in GitHub Desktop.
Save shaun-sweet/5bf1f07a9a66bb2d7ffbfeb5ee6b3589 to your computer and use it in GitHub Desktop.
source ~/.bashrc
# echo is like puts for bash (bash is the program running in your terminal)
echo "Loading ~/.bash_profile a shell script that runs in every new terminal you open"
# $VARIABLE will render before the rest of the command is executed
echo "Logged in as $USER at $(hostname)"
# Load RVM into a shell session *as a function*
# Path for RVM
# Rbenv autocomplete and shims
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
# Path for RBENV
test -d "$HOME/.rbenv/" && PATH="$HOME/.rbenv/bin:$PATH"
# Path changes are made non-destructive with PATH=new_path;$PATH This is like A=A+B so we preserve the old path
# Path order matters, putting /usr/local/bin before /usr/bin
# ensures brew programs will be seen and used before another program
# of the same name is called
# Path for brew
test -d /usr/local/bin && export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
# Path for Heroku
test -d /usr/local/heroku/ && export PATH="/usr/local/heroku/bin:$PATH"
# Load git completions
git_completion_script=/usr/local/etc/bash_completion.d/git-completion.bash
test -s $git_completion_script && source $git_completion_script
# A more colorful prompt
# \[\e[0m\] resets the color to default color
c_reset='\[\e[0m\]'
# \e[0;31m\ sets the color to red
c_path='\[\e[0;31m\]'
# \e[0;32m\ sets the color to green
c_git_clean='\[\e[0;32m\]'
# \e[0;31m\ sets the color to red
c_git_dirty='\[\e[0;31m\]'
# PS1 is the variable for the prompt you see everytime you hit enter
if [ $OSTYPE == 'darwin15' ] && ! [ $ITERM_SESSION_ID ]
then
PROMPT_COMMAND=$PROMPT_COMMAND'; PS1="${c_path}\W${c_reset}$(git_prompt) :> "'
else
PROMPT_COMMAND=$PROMPT_COMMAND' PS1="${c_path}\W${c_reset}$(git_prompt) :> "'
fi
# determines if the git branch you are on is clean or dirty
git_prompt ()
{
# Is this a git directory?
if ! git rev-parse --git-dir > /dev/null 2>&1; then
return 0
fi
# Grab working branch name
git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
# Clean or dirty branch
if git diff --quiet 2>/dev/null >&2; then
git_color="${c_git_clean}"
else
git_color=${c_git_dirty}
fi
echo " [$git_color$git_branch${c_reset}]"
}
# Colors ls should use for folders, files, symlinks etc, see `man ls` and
# search for LSCOLORS
export LSCOLORS=ExGxFxdxCxDxDxaccxaeex
# Force ls to use colors (G) and use humanized file sizes (h)
alias ls='ls -Gh'
# Force grep to always use the color option and show line numbers
export GREP_OPTIONS='--color=always'
# Set sublime as the default editor
which -s subl && export EDITOR="subl --wait"
# Useful aliases
alias e="atom"
alias be="bundle exec"
alias gc="git add . && git commit"
export PATH="$HOME/.rbenv/bin:$PATH"
# Boiler Plate Creation
htmlt() {
cp -r /Users/sweet/code/skeletons/html ./ && mv html/* . && mv html/.gitignore . && rmdir html
echo "HTML boilerplate Copied into current Directory"
}
ftpsetup() {
git config git-ftp.url shaunsweet.com/${1}
git config git-ftp.user not for DBC
git config git-ftp.password not for DBC
git ftp init
echo "Git FTP credentials setup and files uploaded!"
}
# alias ls="ls -als"
alias vps="ssh root@larchive.net"
alias gitclean="git branch --merged | egrep -v '(^\*|master|dev|development)' | xargs git branch -d"
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment