Skip to content

Instantly share code, notes, and snippets.

@aschmoe
Last active July 13, 2022 21:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aschmoe/fd83982c0305b8e1132706150d69ae93 to your computer and use it in GitHub Desktop.
Save aschmoe/fd83982c0305b8e1132706150d69ae93 to your computer and use it in GitHub Desktop.
# 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=/Users/alex/.oh-my-zsh
# docker, etc autocomplete
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
# need to download + install fonts like https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k
ZSH_THEME="agnoster"
# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array 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.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# 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? (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.
# zsh-autosuggestions
plugins=(
git
osx
gpg-agent
)
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"
# User
DEFAULT_USER="alex"
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alex/workspace/google-cloud-sdk/path.zsh.inc' ]; then source '/Users/alex/workspace/google-cloud-sdk/path.zsh.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/alex/workspace/google-cloud-sdk/completion.zsh.inc' ]; then source '/Users/alex/workspace/google-cloud-sdk/completion.zsh.inc'; fi
# source prfile (not currently used this was for git signing)
# if [ -f '/Users/alex/.profile' ]; then source '/Users/alex/.profile'; fi
# Disabled M1
# old export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
# export PATH="$PATH:/opt/yarn-1.22.4/bin"
## ZSH history custom https://github.com/larkery/zsh-histdb
# HISTDB_TABULATE_CMD=(sed -e $'s/\x1f/\t/g')
# source $HOME/.oh-my-zsh/custom/plugins/zsh-histdb/sqlite-history.zsh
# autoload -Uz add-zsh-hook
# # get autosuggest working with histdb
# _zsh_autosuggest_strategy_histdb_top_here() {
# local query="select commands.argv from
# history left join commands on history.command_id = commands.rowid
# left join places on history.place_id = places.rowid
# where places.dir LIKE '$(sql_escape $PWD)%'
# and commands.argv LIKE '$(sql_escape $1)%'
# group by commands.argv order by count(*) desc limit 1"
# suggestion=$(_histdb_query "$query")
# }
# ZSH_AUTOSUGGEST_STRATEGY=histdb_top_here
# _zsh_autosuggest_strategy_histdb_top() {
# local query="
# select commands.argv from history
# left join commands on history.command_id = commands.rowid
# left join places on history.place_id = places.rowid
# where commands.argv LIKE '$(sql_escape $1)%'
# group by commands.argv, places.dir
# order by places.dir != '$(sql_escape $PWD)', count(*) desc
# limit 1
# "
# suggestion=$(_histdb_query "$query")
# }
# ZSH_AUTOSUGGEST_STRATEGY=histdb_top
# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)"
if [[ $(uname -m) == "x86_64" ]]; then
echo "x86_64 detected"
export PATH=/usr/local/Homebrew/bin:$PATH
else
echo "arm64 detected"
export PATH=/opt/homebrew/bin:$PATH
fi
# PHP
export PATH=$PATH:$/usr/local/opt/php@7.4/bin
export PATH=$PATH:/usr/local/opt/php@7.4/sbin
# nvm
# Replaced M1
# export NVM_DIR="$HOME/.nvm"
# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
export NVM_DIR=~/.nvm
source /opt/homebrew/opt/nvm/nvm.sh
# thefuck
eval $(thefuck --alias fuck)
# Ruby rbenv
# Disabled M1
# eval "$(rbenv init -)"
# Ruby user-install
if which ruby >/dev/null && which gem >/dev/null; then
PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi
# python 3.9 / pip3
PATH=$PATH:/Users/alex/Library/Python/3.9/bin
# Mongo
alias mongo='/opt/homebrew/bin/mongosh'
# localhost https accept
function ssl-check() {
f=~/.localhost_ssl;
ssl_crt=$f/server.crt
ssl_key=$f/server.key
b=$(tput bold)
c=$(tput sgr0)
local_ip=$(ipconfig getifaddr $(route get default | grep interface | awk '{print $2}'))
# local_ip=999.999.999 # (uncomment for testing)
domains=(
"localhost"
"$local_ip"
)
if [[ ! -f $ssl_crt ]]; then
echo -e "\n🛑 ${b}Couldn't find a Slate SSL certificate:${c}"
make_key=true
elif [[ ! $(openssl x509 -noout -text -in $ssl_crt | grep $local_ip) ]]; then
echo -e "\n🛑 ${b}Your IP Address has changed:${c}"
make_key=true
else
echo -e "\n✅ ${b}Your IP address is still the same.${c}"
fi
if [[ $make_key == true ]]; then
echo -e "Generating a new Slate SSL certificate...\n"
count=$(( ${#domains[@]} - 1))
mkcert ${domains[@]}
# Create Slate's default certificate directory, if it doesn't exist
test ! -d $f && mkdir $f
# It appears mkcert bases its filenames off the number of domains passed after the first one.
# This script predicts that filename, so it can copy it to Slate's default location.
if [[ $count = 0 ]]; then
mv ./localhost.pem $ssl_crt
mv ./localhost-key.pem $ssl_key
else
mv ./localhost+$count.pem $ssl_crt
mv ./localhost+$count-key.pem $ssl_key
fi
fi
}
# SP
alias sp=/Users/alex/workspace/shoppad/ShopPad/bin/sp
export SP_ROOT=/Users/alex/workspace/shoppad/ShopPad
export SP_UUID=cage-rage
export SP_REACT=/Users/alex/workspace/shoppad/sp-react
export SP_CORE=/Users/alex/workspace/shoppad/sp-core
export SP_DEV_SQS_QUEUE=dev-alex.fifo
export SP_DEV_QUEUE=dev-alex.fifo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment