Created
August 28, 2018 21:26
-
-
Save rawnly/6d71a6f9d5af8e2423f07aaab8d1437c to your computer and use it in GitHub Desktop.
My DotFiles
This file contains hidden or 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 to your oh-my-zsh installation. | |
export ZSH=/Users/rawnly/.oh-my-zsh; | |
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" | |
export SSH_KEY_PATH="~/.ssh/rsa_id"; | |
export EDITOR='vim'; | |
export CODE_FOLDER="~/code"; | |
export NODE_ENV="devlopment"; | |
# export PS1="$PS1 $(it2setkeylabel set status $(test -d .git && (git rev-parse --abbrev-ref HEAD || (echo -n 'Not a repo'))))" | |
# 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 | |
ZSH_THEME="spaceship" | |
# 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. | |
plugins=(git, npm, brew, zsh-syntax-highlighting) | |
source $ZSH/oh-my-zsh.sh | |
source ~/zsh-plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh | |
source ~/zsh-plugins/zsh-autosuggestions/zsh-autosuggestions.zsh | |
source /usr/local/etc/profile.d/z.sh | |
eval "$(hub alias -s)"; | |
# 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='vim' | |
fi | |
# Compilation flags | |
# export ARCHFLAGS="-arch x86_64" | |
# 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`. | |
source ~/shell/.aliases.sh; | |
source ~/shell/.extra.sh; | |
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" | |
# added by travis gem | |
[ -f /Users/rawnly/.travis/travis.sh ] && source /Users/rawnly/.travis/travis.sh | |
# Stack Overflow: LOGIN | |
# python ~/code/PYTHON/PROJECTS/stackoverflow-login/src/main.py | |
################ END ########################### | |
# tabtab source for electron-forge package | |
# uninstall by removing these lines or running `tabtab uninstall electron-forge` | |
[[ -f /Users/rawnly/.config/yarn/global/node_modules/electron-forge/node_modules/tabtab/.completions/electron-forge.zsh ]] && . /Users/rawnly/.config/yarn/global/node_modules/electron-forge/node_modules/tabtab/.completions/electron-forge.zsha | |
func checkport() { | |
if [ -z "$1" ]; then | |
lsof -i :80 | |
else | |
lsof -i ":$1" | |
fi | |
} | |
#export PS1="$(it2setkeylabel set status "$(getBranch)")" |
This file contains hidden or 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
alias rcfile="$EDITOR ~/.zshrc" | |
alias c="clear"; | |
alias g="git"; | |
# Reload the shell (i.e. invoke as a login shell) | |
alias reload="exec ${SHELL} -l" | |
# Print each PATH entry on a separate line | |
alias path='echo -e ${PATH//:/\\n}' | |
# PHP artisan shortcut | |
alias artisan="php artisan"; | |
alias federico="ssh [email protected]"; | |
alias cpf="cp -rf" | |
alias rmf="rm -rf" | |
alias codef="cd $CODE_FOLDER" | |
alias mkdirp="mkdir -p"; | |
alias cra="create-react-app"; | |
# YARN Shortcut | |
alias y="yarn"; | |
# IP addresses | |
alias ip="dig +short myip.opendns.com @resolver1.opendns.com" | |
alias localip="ipconfig getifaddr en0" | |
alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'" | |
# Copy my public key to the pasteboard | |
alias pbk="more ~/.ssh/id_rsa.pub | pbcopy | printf '=> Public key copied to pasteboard.\n'" | |
alias mono="/Library/Frameworks/Mono.framework/Commands/mono" | |
alias csc="/Library/Frameworks/Mono.framework/Commands/csc" | |
# Google Chrome | |
alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome' | |
# URL-encode strings | |
alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"' | |
# Recursively delete `.DS_Store` files | |
alias cleanup="find . -type f -name '*.DS_Store' -ls -delete" | |
# Empty the Trash on all mounted volumes and the main HDD. | |
# Also, clear Apple’s System Logs to improve shell startup speed. | |
# Finally, clear download history from quarantine. https://mths.be/bum | |
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'" | |
# Show/hide hidden files in Finder | |
alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder" | |
alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder" | |
# Hide/show all desktop icons (useful when presenting) | |
alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder" | |
alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder" | |
alias getBranch="test -d .git && (git rev-parse --abbrev-ref HEAD) || (echo 'Not a repo')" |
This file contains hidden or 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
function transfer { | |
if [ $# -eq 0 ]; then | |
echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; | |
return 1; | |
fi | |
tmpfile=$( mktemp -t transferXXX ); | |
if tty -s; then | |
basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; | |
else | |
curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile; | |
fi; | |
cat $tmpfile; | |
rm -f $tmpfile; | |
} | |
function update { | |
if [ -z $1 ]; then | |
echo "No args received!" | |
fi | |
case $1 in | |
yarn) | |
curl -o- -L https://yarnpkg.com/install.sh | bash | |
;; | |
brew) | |
brew update | |
;; | |
*) | |
echo "Invalid arg ${1}" | |
;; | |
esac | |
} | |
# Create a new directory and enter it | |
function mkd() { | |
mkdir -p "$@" && cd "$_"; | |
} | |
# Change working directory to the top-most Finder window location | |
function cdf() { # short for `cdfinder` | |
if [ -z "$1" ]; then | |
open . -a Finder | |
else | |
open $1 -a Finder | |
fi | |
} | |
# Create a .tar.gz archive, using `zopfli`, `pigz` or `gzip` for compression | |
function targz() { | |
local tmpFile="${@%/}.tar"; | |
tar -cvf "${tmpFile}" --exclude=".DS_Store" "${@}" || return 1; | |
size=$( | |
stat -f"%z" "${tmpFile}" 2> /dev/null; # macOS `stat` | |
stat -c"%s" "${tmpFile}" 2> /dev/null; # GNU `stat` | |
); | |
local cmd=""; | |
if (( size < 52428800 )) && hash zopfli 2> /dev/null; then | |
# the .tar file is smaller than 50 MB and Zopfli is available; use it | |
cmd="zopfli"; | |
else | |
if hash pigz 2> /dev/null; then | |
cmd="pigz"; | |
else | |
cmd="gzip"; | |
fi; | |
fi; | |
echo "Compressing .tar ($((size / 1000)) kB) using \`${cmd}\`…"; | |
"${cmd}" -v "${tmpFile}" || return 1; | |
[ -f "${tmpFile}" ] && rm "${tmpFile}"; | |
zippedSize=$( | |
stat -f"%z" "${tmpFile}.gz" 2> /dev/null; # macOS `stat` | |
stat -c"%s" "${tmpFile}.gz" 2> /dev/null; # GNU `stat` | |
); | |
echo "${tmpFile}.gz ($((zippedSize / 1000)) kB) created successfully."; | |
} | |
# Determine size of a file or total size of a directory | |
function fs() { | |
if du -b /dev/null > /dev/null 2>&1; then | |
local arg=-sbh; | |
else | |
local arg=-sh; | |
fi | |
if [[ -n "$@" ]]; then | |
du $arg -- "$@"; | |
else | |
du $arg .[^.]* ./*; | |
fi; | |
} | |
# Create a data URL from a file | |
function dataurl() { | |
local mimeType=$(file -b --mime-type "$1"); | |
if [[ $mimeType == text/* ]]; then | |
mimeType="${mimeType};charset=utf-8"; | |
fi | |
echo "data:${mimeType};base64,$(openssl base64 -in "$1" | tr -d '\n')"; | |
} | |
# Start an HTTP server from a directory, optionally specifying the port | |
function server() { | |
local port="${1:-8000}"; | |
sleep 1 && open "http://localhost:${port}/" & | |
# Set the default Content-Type to `text/plain` instead of `application/octet-stream` | |
# And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files) | |
python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port"; | |
} | |
# Start a PHP server from a directory, optionally specifying the port | |
# (Requires PHP 5.4.0+.) | |
function phpserver() { | |
local port="${1:-4000}"; | |
local ip=$(ipconfig getifaddr en1); | |
sleep 1 && open "http://${ip}:${port}/" & | |
php -S "${ip}:${port}"; | |
} | |
# Compare original and gzipped file size | |
function gz() { | |
local origsize=$(wc -c < "$1"); | |
local gzipsize=$(gzip -c "$1" | wc -c); | |
local ratio=$(echo "$gzipsize * 100 / $origsize" | bc -l); | |
printf "orig: %d bytes\n" "$origsize"; | |
printf "gzip: %d bytes (%2.2f%%)\n" "$gzipsize" "$ratio"; | |
} | |
# Syntax-highlight JSON strings or files | |
# Usage: `json '{"foo":42}'` or `echo '{"foo":42}' | json` | |
function json() { | |
if [ -t 0 ]; then # argument | |
python -mjson.tool <<< "$*" | pygmentize -l javascript; | |
else # pipe | |
python -mjson.tool | pygmentize -l javascript; | |
fi; | |
} | |
# `tre` is a shorthand for `tree` with hidden files and color enabled, ignoring | |
# the `.git` directory, listing directories first. The output gets piped into | |
# `less` with options to preserve color and line numbers, unless the output is | |
# small enough for one screen. | |
function tre() { | |
tree -aC -I '.git|node_modules|bower_components' --dirsfirst "$@" | less -FRNX; | |
} | |
function cask() { | |
brew cask "$@" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment