Last active
March 14, 2022 14:10
-
-
Save kevbost/eaec3e6c5dca330092d3b447dc4a62ca to your computer and use it in GitHub Desktop.
.oh-my-zsh - My configuration files for OSX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# PATH | |
# You'll probably need some other path stuff, put it here | |
# export PATH="$HOME/cool/path:/another/neat/path:$PATH" | |
# Path to your oh-my-zsh installation. | |
export ZSH=~/.oh-my-zsh | |
# Zsh Theme | |
ZSH_THEME="nebirhos" # $ZSH/custom/themes/FILE_NAME.zsh-theme | |
# use async for zsh-autosuggestions | |
export ZSH_AUTOSUGGEST_USE_ASYNC=true | |
export ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20 | |
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) | |
# mkdir -p $ZSH_CUSTOM/plugins/kb_custom_plugins && touch $ZSH_CUSTOM/plugins/kb_custom_plugins/kb_custom_plugins.plugin.zsh | |
# git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting | |
# git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | |
# no commas, space seperated list: plugins=(plugin1 plugin2 plugin3) | |
plugins=( | |
git | |
alias-finder | |
# kb_custom_plugins # $ZSH_CUSTOM/plugins/kb_custom_plugins/kb_custom_plugins.plugin.zsh | |
zsh-syntax-highlighting # $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh | |
zsh-autosuggestions # $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh | |
) | |
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" | |
source $ZSH/oh-my-zsh.sh | |
# ssh | |
export SSH_KEY_PATH="~/.ssh/rsa_id" | |
# See ~/.oh-my-zsh/custom/aliases.zsh for aliases | |
alias aliases="cat $ZSH_CUSTOM/aliases.zsh" | |
# Use BREW nano | |
# https://gist.github.com/BlakeGardner/5587269 | |
alias nano="/usr/local/bin/nano" | |
# Pipe Highlight to less | |
# brew install highlight | |
LESSOPEN="| $(command -v highlight) %s --out-format xterm256 --quiet --force --style andes" | |
export LESSOPEN | |
export LESS=" -R" | |
alias less='less -m -g -i -J --underline-special' | |
alias more='less' | |
# Use "highlight" in place of "cat" | |
alias cat="highlight $1 --out-format xterm256 --quiet --force --style andes" | |
export PATH="/usr/local/sbin:$HOME/bin:$PATH" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# --------------------------------------------------------------------------------------- | |
################# | |
# CORE KB ADDED | |
################# | |
# Colors | |
Color_Off='\e[0m' # Text Reset | |
Black='\e[0;30m' # Black | |
Red='\e[0;31m' # Red | |
Green='\e[0;32m' # Green | |
Yellow='\e[0;33m' # Yellow | |
Blue='\e[0;34m' # Blue | |
Purple='\e[0;35m' # Purple | |
Cyan='\e[0;36m' # Cyan | |
White='\e[0;37m' # White | |
Reset='\e[0;39m' # Reset | |
# Useless show off commands with colors | |
alias ugh="echo -e '\t\n\n${Red}I know right lol\n\n'" | |
alias damnit="echo -e '\t\n\n${Red}FUCK!\n\n'" | |
alias awesome="echo -e '\t\n\n${Red}I dont appreciate your sarcasm\n\n'" | |
alias beautiful="echo -e '\t\n\n${Cyan}Oh stop it, youre making me blush!\n\n'" | |
alias perfect="echo -e '\t\n\n${Cyan}No, you are!\n\n'" | |
alias yes!="echo -e '\t\n\n${Cyan}. . . are you SURE that it worked??\n\n'" | |
alias notreally="echo -e '\t\n\n${Red}Run it and see what happens, nerd.\n\n'" | |
alias meme="say i luv 2 mehm. bruh, lol so good. i love me meemees." | |
alias lol="clear && figlet not && figlet today && figlet satan && sleep 1 && clear && echo lol" | |
# Git Aliases | |
alias g="git" | |
alias gs="git status" | |
alias pushthatshit="push" | |
alias gpts="git push" | |
alias gptsu="git push --set-upstream origin HEAD" | |
# alias gcdagp="git checkout develop && git pull" # see gcmdagp.zsh | |
# alias gcmagp="git checkout master && git pull" # see gcmdagp.zsh | |
# alias gcmdagp="gcmagp && gcdagp" # see gcmdagp.zsh | |
alias glg="git lg" | |
alias gac="git add . && git commit -m" | |
alias ghpages="git subtree push --prefix dist origin gh-pages" | |
alias ghexport="git subtree push --prefix export origin gh-pages" | |
alias gone="git branch -vv | grep 'origin/.*: gone]' | awk '{print $1}'" | |
alias gfav="git fetch -av" | |
# Git Log | |
alias gitlogless="git log --oneline --decorate --date=relative --all --color" | |
alias gitlog="git log --graph --oneline --decorate --date=relative --all --color" | |
alias gitlogmore="git log --graph --decorate --pretty=oneline --date=relative --all --color" | |
# Root Custom | |
alias c="cat" | |
alias reload=". ~/.zshrc" | |
alias delete="rm -rf" | |
alias edit="code ~/.oh-my-zsh/custom/aliases.zsh" | |
alias zshrc="code ~/Documents/VSCode_Workspaces/.oh-my-zsh.code-workspace" | |
alias no="cd .." | |
alias nono="cd ../.." | |
alias nonono="cd ../../.." | |
alias json="jq '.'" | |
################# | |
# Random | |
################# | |
# the_silver_searcher, ag default override | |
# brew install the_silver_searcher | |
alias ag="ag --path-to-ignore '~/.agignore'" | |
# search terminal history: | |
# IE: `search_history "search string"` | |
alias search_history="cat ~/.zsh_history | ag $1" | |
# Markdown viewer | |
# https://github.com/charmbracelet/glow | |
# brew install glow | |
alias md="glow" | |
# Overwrite vscode default with code-insiders | |
# alias codews="see ${ZSH_CUSTOM}/openvscodeworkspace.zsh" | |
# cat the global npm config file | |
alias npmrc="cat ~/.npmrc" | |
# GitKraken - Use in dir while gitkraken is closed - Command only, no args | |
alias gitkraken='open -na GitKraken --args -p "$(git rev-parse --show-toplevel)"' | |
# Speedtest | |
alias speedtest='wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip' | |
# Finder | |
alias e.="open ." | |
# Matrix | |
alias matrix='LC_ALL=C tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"' | |
# Start Simple Python Server | |
alias server="python3 -m http.server 8000" | |
# fucking open . | |
alias fucking="sudo" | |
# please open . | |
alias please="sudo" | |
# copy instructions | |
# alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'" | |
alias copy="echo 'use pbcopy like this: pbcopy < file.txt'" | |
# serialport | |
# alias serialport="echo options are \"serialportlist\" and \"serialportterm\"" | |
# Docker Aliases | |
alias dcu="docker-compose up" | |
alias dcd="docker-compose down" | |
alias dcb="docker-compose build" | |
alias dcr="docker-compose restart" | |
alias dcra="docker-compose run --rm app" | |
alias dcranpmt="dcra npm test" | |
# madge is awesome | |
# plot project dependencies in graph form | |
# https://www.npmjs.com/package/madge | |
# madge --image tmp/graph.png path/to/app.js | |
alias madge="madge" | |
# homebrew automated update and cleanup | |
alias brewski="brew update && brew upgrade && brew cleanup; brew doctor" | |
# run eslint on js & ts via npx | |
alias lint="npx eslint \"src/**/*.{ts,tsx}\"" | |
# QMK Keyboard | |
alias qmkrc="codews qmk_firmware" | |
alias drop="qmk compile" | |
################# | |
# CUSTOM WORKSPACE ALIASES | |
################# | |
# Variables | |
Projects='~/Documents/_-Projects' | |
Workspaces='~/Documents/VSCode_Workspaces' | |
# Workspace Directory Aliases - Persistent | |
alias _-="cd ${Projects}" | |
alias 2014="cd ${Projects}/2014" | |
alias 2015="cd ${Projects}/2015" | |
alias 2016="cd ${Projects}/2016" | |
alias 2017="cd ${Projects}/2017" | |
alias 2018="cd ${Projects}/2018" | |
alias 2019="cd ${Projects}/2019" | |
alias 2020="cd ${Projects}/2020" | |
alias 2021="cd ${Projects}/2021" | |
alias 2022="cd ${Projects}/2022" | |
alias 2023="cd ${Projects}/2023" | |
alias 2024="cd ${Projects}/2024" | |
alias 2025="cd ${Projects}/2025" | |
alias cloned="cd ${Projects}/_Cloned-Repos" | |
alias downloads="cd ~/Downloads" | |
alias workspaces="cd ${Workspaces}" | |
alias ws="cd ${Workspaces}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Name stands for: | |
# "git checkout main develop and git pull" | |
# Built to pull from main/master, staging & develop branches | |
# switch to main branch => pull, switch to staging branch => pull, switch to develop branch => pull | |
# will chack if main branch is named master | |
# put this file in root ~/.oh-my-zsh/custom directory | |
# touch $ZSH_CUSTOM/gcmdagp.zsh | |
# for checking remote branches (a little slower) | |
# git ls-remote --heads origin BRANCH_NAME | |
# git checkout main develop and git pull | |
function gcmdagp() { | |
gcmagp && gcdagp | |
} | |
# git checkout main staging and git pull | |
function gcmsagp() { | |
gcmagp && gcsagp | |
} | |
# git checkout main staging develop and git pull | |
function gcmsdagp() { | |
gcmagp && gcsagp && gcdagp | |
} | |
function gcdagp() { | |
local gc_develop_agp="git checkout develop && git pull" | |
# If develop branch does NOT exist, exit | |
if [ ! "$(git branch --list develop)" ]; then | |
echo "develop branch does not exist, exiting" | |
return | |
else | |
eval "$gc_develop_agp" | |
fi | |
} | |
function gcsagp() { | |
local gc_staging_agp="git checkout staging && git pull" | |
# If develop branch does NOT exist, exit | |
if [ ! "$(git branch --list staging)" ]; then | |
echo "staging branch does not exist, exiting" | |
return | |
else | |
eval "$gc_staging_agp" | |
fi | |
} | |
function gcmagp() { | |
local gc_master_agp="git checkout master && git pull" | |
local gc_main_agp="git checkout main && git pull" | |
# use `main` if branch exists, else use `master` | |
if [ "$(git branch --list main)" ]; then | |
eval "$gc_main_agp" | |
elif [ "$(git branch --list master)" ]; then | |
eval "$gc_master_agp" | |
else | |
echo "neither main or master branches exist, exiting" | |
fi | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Based on nebirhos zsh theme, moving things around adding n and npm support | |
# Currently not handling non-git paths in a pretty way. | |
# Based on robbyrussell's theme, with host, node, and npm indicators. Example: | |
# @KB ➜ /Users/USERNAME/workspace/gitProjectDir | |
# # : git:(feature-branch) | |
# ✓✓✓ : | |
italic="%{[03m%}" | |
no_italic="%{[23m%}" | |
# Formats non-git directories (kindof). | |
HOST_PROMPT_="%{$fg_bold[cyan]%}@%n➜ %{$fg_bold[yellow]%}%d"$'\n'"###%{$reset_color%}:" | |
GIT_PROMPT_="%{$fg_bold[blue]%}\$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}" | |
NODE_PROMPT_="%{$fg_bold[blue]%}node:(%{$fg[green]%}$(node_prompt_info)%{$fg_bold[blue]%})%{$reset_color%}" | |
NPM_PROMPT_="%{$fg_bold[blue]%}npm:(%{$fg[green]%}$(npm_prompt_info)%{$fg_bold[blue]%}) %{$reset_color%}" | |
YARN_PROMPT_="%{$fg_bold[blue]%}yarn:(%{$fg[green]%}$(yarn_prompt_info)%{$fg_bold[blue]%}) %{$reset_color%}" | |
ZSH_THEME_GIT_PROMPT_PREFIX=" git:($italic%{$fg[red]%}" | |
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" | |
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})$no_italic %{$fg[red]%}"$'\n'"✗✗✗%{$reset_color%}:" | |
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})$no_italic %{$fg[green]%}"$'\n'"✓✓✓%{$reset_color%}:" | |
PROMPT="$HOST_PROMPT_$GIT_PROMPT_" | |
RPROMPT="$NPM_PROMPT_$YARN_PROMPT_$NODE_PROMPT_" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# get the global n node version | |
# put this file in root ~/.oh-my-zsh/custom directory | |
# touch $ZSH_CUSTOM/node.zsh | |
function node_prompt_info(){ | |
if type node &> /dev/null | |
then | |
local node_prompt | |
node_prompt=$(node -v) | |
echo "${node_prompt}" | |
else | |
echo 'NODE NOT FOUND' | |
fi | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# get the global n node version | |
# put this file in root ~/.oh-my-zsh/custom directory | |
# touch $ZSH_CUSTOM/npm.zsh | |
function npm_prompt_info() { | |
if type npm &> /dev/null | |
then | |
local npm_prompt | |
npm_prompt=$(npm -v) | |
echo "${npm_prompt}" | |
else | |
echo 'NPM NOT FOUND' | |
fi | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# put this file in root ~/.oh-my-zsh/custom directory | |
# touch $ZSH_CUSTOM/codeworkspace.zsh | |
# - alias `codews` is established at the end of the file | |
# workspace file names | |
# MUST BE IDENTICAL TO DIRECTORY NAME | |
# For example: ~/Documents/VSCode_Workspaces/.oh-my-zsh.code-workspace | |
# codews .oh-my-zsh <-- will open the workspace file here ^^^ | |
# usage: | |
# codews # opens current directory only if matching vscode workspace exists | |
# codews # if no workspace exists for current directory, nothing happens | |
# codews name-of-directory # checks if argument matches a workspace | |
# codews idklol # if argument doesnt match workspace, opens a file in vscode called idklol | |
# shellcheck disable=SC2154,SC2028 | |
function openvscodeworkspace() { | |
# replace path with your workspace directory | |
local workspace_directory="${HOME}/Documents/VSCode_Workspaces" | |
# get directory name without full path | |
local directory_name=${PWD##*/} | |
if [ "${1}" ] && [ -f "${workspace_directory}/${1}.code-workspace" ]; then | |
# first argument exists && argument workspace exists, opening workspaces | |
code "${workspace_directory}/${1}.code-workspace" | |
elif [ "${1}" ]; then | |
# first argument exists && argument workspace does NOT exist, opening argument in code ${1} | |
code "${1}" | |
elif [ -f "${workspace_directory}/${directory_name}.code-workspace" ]; then | |
# no first arugment && workspace exists for directory, opening ${workspace_directory}/${directory_name}.code-workspace in code | |
code "${workspace_directory}/${directory_name}.code-workspace" | |
else | |
# no arguments passed, display error message & open VSCode in PWD | |
echo "\n${fg_bold[red]}!ALERT! - Workspace named ${fg_bold[cyan]}${directory_name}.code-workspace${fg_bold[red]} does not exist, opening code in PWD\n${reset_color}" | |
code . | |
fi | |
} | |
alias codews="openvscodeworkspace" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# get the global n node version | |
# put this file in root ~/.oh-my-zsh/custom directory | |
# touch $ZSH_CUSTOM/yarn.zsh | |
function yarn_prompt_info() { | |
if type yarn &> /dev/null | |
then | |
local yarn_prompt | |
yarn_prompt=$(yarn -v) | |
echo "${yarn_prompt}" | |
else | |
echo 'YARN NOT FOUND' | |
fi | |
} |
Author
kevbost
commented
Feb 20, 2018
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment