Skip to content

Instantly share code, notes, and snippets.

@AdamMescher
Last active January 10, 2021 22:42
Show Gist options
  • Save AdamMescher/00f5383a9fb27bc40605fa1dabaaf4c3 to your computer and use it in GitHub Desktop.
Save AdamMescher/00f5383a9fb27bc40605fa1dabaaf4c3 to your computer and use it in GitHub Desktop.
# Run neofetch every time terminal opens
neofetch
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="/home/adam/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="agnoster"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
lighthouse
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# NAVIGATION
# clear
alias cls="clear"
# go home
alias home="cd ~"
# open dev dir
alias dev="cd /mnt/c/dev"
# open current project
alias pro="cd /mnt/c/dev"
# Go back 1 directory level (for fast typers)
alias cd..='cd ../'
# Go back 1 directory level
alias ..='cd ../'
# Go back 2 directory levels
alias ...='cd ../../'
# Go back 3 directory levels
alias .3='cd ../../../'
# Go back 4 directory levels
alias .4='cd ../../../../'
# Go back 5 directory levels
alias .5='cd ../../../../../'
# Go back 6 directory level
alias .6='cd ../../../../../../'
# GIT
# The Simple Stuff
alias a="add"
alias ap="add -p"
alias c="commit --verbose"
alias ca="commit -a --verbose"
alias cm="commit -m"
alias cam="commit -a -m"
alias m="commit --amend --verbose"
alias d="diff"
alias ds="diff --stat"
alias dc="diff --cached"
alias s="status -s"
alias co="checkout"
alias cob="checkout -b"
# List branches sorted by last modified
alias b="!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'"
# Example: git cob <branchname>
alias cob="checkout -b"
# Useful overview of the state of the current branch
# Example Usecase: git lg
alias lg="log --color --graph --oneline --decorate"
# Modify the previous commit
alias amend="commit -a --amend"
#adds all changes including untracked files and creates a commit
alias save="!git add -A && git commit -m 'SAVEPOINT'"
# First command pulls changes from the remote.
# If I have any local commits, it’ll rebase them to come after the commits I pulled down.
# --prune option removes remote-tracking branches that no longer exist on the remote.
alias up="!git pull --rebase --prune $@ && git submodule update --init --recursive"
#resets the previous commit, but keeps all the changes from that commit in the working directory
alias undo="reset HEAD~1 --mixed"
# Only add commit message -- cm "commit message here"
# alias cm="!git add -A && git commit -m"
# NODE
# Update Node and NVM to latest LTS version
alias nvmup="nvm install lts/* --reinstall-packages-from=node"
# Get list of globally installed npm packages
alias showglobal="npm list -g --depth 0"
# Get a list of locally install npm packages
alias showlocal="npm list --depth 0"
# NODE PATH
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
@AdamMescher
Copy link
Author

AdamMescher commented Nov 19, 2018

Here's an example of someone (NATHANIEL LANDAU) who has done a really good job of sharing their ~/.bash_profile.sh

Also available as a Gist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment