mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 13:46:41 +00:00
Refactor shell setup into ~/.zshenv and ~/.zshrc files
It was time to split the environment related stuff out to ~/.zshenv, leaving my ~/.zshrc file specifically for setup of interactive shells.
This commit is contained in:
@@ -32,8 +32,10 @@ SYMLINKS=(
|
|||||||
rubocop.yml
|
rubocop.yml
|
||||||
tmux
|
tmux
|
||||||
tmux.conf
|
tmux.conf
|
||||||
|
zshenv
|
||||||
|
zshrc
|
||||||
)
|
)
|
||||||
LOAD_FILES=(zshrc)
|
LOAD_FILES=()
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -67,11 +69,6 @@ install_symlinks () {
|
|||||||
for i in "${SYMLINKS[@]}"; do
|
for i in "${SYMLINKS[@]}"; do
|
||||||
symlink "$SYMLINK_PATH/$i" "$TARGET/.$i"
|
symlink "$SYMLINK_PATH/$i" "$TARGET/.$i"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Symlink shell init file for bash and zsh
|
|
||||||
for i in "${LOAD_FILES[@]}"; do
|
|
||||||
symlink "$DOTFILES_LINK/load_shellrc.sh" "$TARGET/.$i"
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_private () {
|
install_private () {
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
source "$HOME/.dotfiles/zshrc.zsh"
|
|
||||||
@@ -27,6 +27,20 @@ alias di="colordiff"
|
|||||||
alias devnullsmtp="java -jar $DOTBIN/DevNullSmtp.jar"
|
alias devnullsmtp="java -jar $DOTBIN/DevNullSmtp.jar"
|
||||||
alias open_ports="sudo lsof -i -P | grep --color=never -i \"listen\""
|
alias open_ports="sudo lsof -i -P | grep --color=never -i \"listen\""
|
||||||
|
|
||||||
|
# Homebrew
|
||||||
|
if (( $+commands[brew] )); then
|
||||||
|
alias br="brew"
|
||||||
|
alias ca="brew cask"
|
||||||
|
alias cask="brew cask"
|
||||||
|
alias bb="brew bundle"
|
||||||
|
alias bbg="brew bundle --global"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Flutter
|
||||||
|
if (( $+commands[flutter] )); then
|
||||||
|
alias fl="flutter"
|
||||||
|
fi
|
||||||
|
|
||||||
# Flush DNS cache
|
# Flush DNS cache
|
||||||
alias flush_dns="dscacheutil -flushcache"
|
alias flush_dns="dscacheutil -flushcache"
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
#
|
|
||||||
# Android SDK environment setup.
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ -d "$HOME/Library/Android/sdk" ]; then
|
|
||||||
export ANDROID_HOME="$HOME/Library/Android/sdk"
|
|
||||||
path_append "$ANDROID_HOME/emulator"
|
|
||||||
path_append "$ANDROID_HOME/tools"
|
|
||||||
path_append "$ANDROID_HOME/tools/bin"
|
|
||||||
path_append "$ANDROID_HOME/platform-tools"
|
|
||||||
fi
|
|
||||||
@@ -7,5 +7,5 @@ alias dc="docker-compose"
|
|||||||
alias co="docker-compose"
|
alias co="docker-compose"
|
||||||
|
|
||||||
docker_remove_exited () {
|
docker_remove_exited () {
|
||||||
docker rm $(docker ps -f="status=exited" -q)
|
docker rm "$(docker ps -f='status=exited' -q)"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# Emacs
|
# Emacs
|
||||||
#
|
#
|
||||||
|
|
||||||
# OS X systems.
|
# macOS systems
|
||||||
if [ -f "/Applications/Emacs.app/Contents/MacOS/Emacs" ]; then
|
if [ -f "/Applications/Emacs.app/Contents/MacOS/Emacs" ]; then
|
||||||
alias emacs="env TERM=screen-24bit /Applications/Emacs.app/Contents/MacOS/Emacs -nw"
|
alias emacs="env TERM=screen-24bit /Applications/Emacs.app/Contents/MacOS/Emacs -nw"
|
||||||
fi
|
fi
|
||||||
@@ -10,8 +10,3 @@ fi
|
|||||||
if [ -f "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient" ]; then
|
if [ -f "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient" ]; then
|
||||||
alias emacsclient="env TERM=screen-24bit /Applications/Emacs.app/Contents/MacOS/bin/emacsclient"
|
alias emacsclient="env TERM=screen-24bit /Applications/Emacs.app/Contents/MacOS/bin/emacsclient"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# *nix systems.
|
|
||||||
if [ -d "/opt/emacs/bin" ]; then
|
|
||||||
path_append "/opt/emacs/bin"
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#
|
|
||||||
# Flutter environment setup
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ -d "/opt/flutter/bin" ]; then
|
|
||||||
path_append "/opt/flutter/bin"
|
|
||||||
alias fl="flutter"
|
|
||||||
|
|
||||||
if [ -d "/opt/flutter/bin/cache/dart-sdk/bin" ]; then
|
|
||||||
path_append "/opt/flutter/bin/cache/dart-sdk/bin"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#
|
|
||||||
# Use gnu-getopt if it's available
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ -f "/usr/local/opt/gnu-getopt/bin/getopt" ]; then
|
|
||||||
path_prepend "/usr/local/opt/gnu-getopt/bin"
|
|
||||||
fi
|
|
||||||
@@ -1,10 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Go (golang) environment setup.
|
# Go (golang) setup.
|
||||||
#
|
#
|
||||||
|
|
||||||
export GOPATH="$HOME/.go"
|
|
||||||
path_prepend "$GOPATH/bin"
|
|
||||||
|
|
||||||
install_go_global_packages () {
|
install_go_global_packages () {
|
||||||
local packages=(
|
local packages=(
|
||||||
github.com/akavel/up
|
github.com/akavel/up
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#
|
|
||||||
# Homebrew setup.
|
|
||||||
#
|
|
||||||
|
|
||||||
export HOMEBREW_NO_ANALYTICS=1
|
|
||||||
|
|
||||||
# Aliases
|
|
||||||
alias br="brew"
|
|
||||||
alias ca="brew cask"
|
|
||||||
alias cask="brew cask"
|
|
||||||
alias bb="brew bundle"
|
|
||||||
alias bbg="brew bundle --global"
|
|
||||||
@@ -6,8 +6,6 @@ alias kc="kubectl"
|
|||||||
alias hl="helm"
|
alias hl="helm"
|
||||||
alias mk="minikube"
|
alias mk="minikube"
|
||||||
|
|
||||||
export KUBECONFIG="$HOME/.kube/config:.kube/config"
|
if (( $+commands[kubectl] )); then
|
||||||
|
|
||||||
if [ $commands[kubectl] ]; then
|
|
||||||
eval "$(kubectl completion zsh)"
|
eval "$(kubectl completion zsh)"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
alias le="less"
|
alias le="less"
|
||||||
|
|
||||||
# Enable syntax highlighting via source-highlight
|
# Enable syntax highlighting via source-highlight
|
||||||
if [ $commands[src-hilite-lesspipe.sh] ]; then
|
if (( $+commands[src-hilite-lesspipe.sh] )); then
|
||||||
export LESSOPEN="| src-hilite-lesspipe.sh %s"
|
export LESSOPEN="| src-hilite-lesspipe.sh %s"
|
||||||
export LESS=" -R "
|
export LESS=" -R "
|
||||||
fi
|
fi
|
||||||
|
|||||||
55
zsh/macos.zsh
Normal file
55
zsh/macos.zsh
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#
|
||||||
|
# macOS Specific
|
||||||
|
#
|
||||||
|
|
||||||
|
# Fix wifi issues on OS X 10.10.x Yosemite.
|
||||||
|
# - from: https://medium.com/@mariociabarra/wifried-ios-8-wifi-performance-issues-3029a164ce94
|
||||||
|
alias fix_wifi="sudo ifconfig awdl0 down"
|
||||||
|
alias unfix_wifi="sudo ifconfig awdl0 up"
|
||||||
|
|
||||||
|
# Disable the system built-in cmd+ctrl+d global hotkey to lookup word in
|
||||||
|
# dictionary on OS X. Must reboot after running.
|
||||||
|
# - from: ://apple.stackexchange.com/a/114269
|
||||||
|
osx-disable-lookup-word-hotkey () {
|
||||||
|
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 70 \
|
||||||
|
'<dict><key>enabled</key><false/></dict>'
|
||||||
|
echo "Command-Control-D hotkey disabled. Please reboot to take effect."
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Power management
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set all relevant power management settings to force the machine to save a
|
||||||
|
# sleep image and immediately enter "standby" along with FileVault destroying
|
||||||
|
# disk decryption keys.
|
||||||
|
pm-hibernate () {
|
||||||
|
sudo pmset -a hibernatemode 25
|
||||||
|
sudo pmset -a standby 1
|
||||||
|
sudo pmset -a standbydelayhigh 0
|
||||||
|
sudo pmset -a standbydelaylow 0
|
||||||
|
sudo pmset -a autopoweroffdelay 0
|
||||||
|
sudo pmset -a destroyfvkeyonstandby 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Restore all settings modified by pm-hibernate to their defaults, effectively
|
||||||
|
# restoring default sleep behavior for macOS laptops.
|
||||||
|
pm-safesleep () {
|
||||||
|
sudo pmset -a hibernatemode 3
|
||||||
|
sudo pmset -a standbydelayhigh 86400
|
||||||
|
sudo pmset -a standbydelaylow 0
|
||||||
|
sudo pmset -a autopoweroffdelay 28800
|
||||||
|
sudo pmset -a destroyfvkeyonstandby 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Trigger hibernation now.
|
||||||
|
hibernate () {
|
||||||
|
pm-hibernate
|
||||||
|
sudo pmset sleepnow
|
||||||
|
}
|
||||||
|
|
||||||
|
# Trigger a safe-sleep now.
|
||||||
|
safesleep () {
|
||||||
|
pm-safesleep
|
||||||
|
sudo pmset sleepnow
|
||||||
|
}
|
||||||
@@ -40,8 +40,3 @@ install_node_global_packages () {
|
|||||||
|
|
||||||
npm install -g "${packages[@]}"
|
npm install -g "${packages[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Load nvm if it's available
|
|
||||||
if [ -f "$HOME/.nvm/nvm.sh" ]; then
|
|
||||||
source "$HOME/.nvm/nvm.sh"
|
|
||||||
fi
|
|
||||||
|
|||||||
69
zsh/osx.zsh
69
zsh/osx.zsh
@@ -1,69 +0,0 @@
|
|||||||
#
|
|
||||||
# OSX Related
|
|
||||||
#
|
|
||||||
|
|
||||||
if [[ "$(uname)" == "Darwin" ]]; then
|
|
||||||
# Fix wifi issues on OS X 10.10.x Yosemite.
|
|
||||||
# - from: https://medium.com/@mariociabarra/wifried-ios-8-wifi-performance-issues-3029a164ce94
|
|
||||||
alias fix_wifi="sudo ifconfig awdl0 down"
|
|
||||||
alias unfix_wifi="sudo ifconfig awdl0 up"
|
|
||||||
|
|
||||||
# Disable the system built-in cmd+ctrl+d global hotkey to lookup word in
|
|
||||||
# dictionary on OS X. Must reboot after running.
|
|
||||||
# - from: ://apple.stackexchange.com/a/114269
|
|
||||||
osx-disable-lookup-word-hotkey() {
|
|
||||||
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 70 \
|
|
||||||
'<dict><key>enabled</key><false/></dict>'
|
|
||||||
echo "Command-Control-D hotkey disabled. Please reboot to take effect."
|
|
||||||
}
|
|
||||||
|
|
||||||
# Show hidden files in Finder.
|
|
||||||
show_files() {
|
|
||||||
defaults write com.apple.finder AppleShowAllFiles YES
|
|
||||||
killall Finder "/System/Library/CoreServices/Finder.app"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Don't show hidden files in Finder.
|
|
||||||
hide_files() {
|
|
||||||
defaults write com.apple.finder AppleShowAllFiles NO
|
|
||||||
killall Finder "/System/Library/CoreServices/Finder.app"
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# Power management
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set all relevant power management settings to force the machine to save a
|
|
||||||
# sleep image and immediately enter "standby" along with FileVault destroying
|
|
||||||
# disk decryption keys.
|
|
||||||
pm-hibernate() {
|
|
||||||
sudo pmset -a hibernatemode 25
|
|
||||||
sudo pmset -a standby 1
|
|
||||||
sudo pmset -a standbydelayhigh 0
|
|
||||||
sudo pmset -a standbydelaylow 0
|
|
||||||
sudo pmset -a autopoweroffdelay 0
|
|
||||||
sudo pmset -a destroyfvkeyonstandby 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Restore all settings modified by pm-hibernate to their defaults, effectively
|
|
||||||
# restoring default sleep behavior for macOS laptops.
|
|
||||||
pm-safesleep() {
|
|
||||||
sudo pmset -a hibernatemode 3
|
|
||||||
sudo pmset -a standbydelayhigh 86400
|
|
||||||
sudo pmset -a standbydelaylow 0
|
|
||||||
sudo pmset -a autopoweroffdelay 28800
|
|
||||||
sudo pmset -a destroyfvkeyonstandby 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Trigger hibernation now.
|
|
||||||
hibernate() {
|
|
||||||
pm-hibernate
|
|
||||||
sudo pmset sleepnow
|
|
||||||
}
|
|
||||||
|
|
||||||
# Trigger a safe-sleep now.
|
|
||||||
safesleep() {
|
|
||||||
pm-safesleep
|
|
||||||
sudo pmset sleepnow
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
@@ -40,6 +40,7 @@ alias scu="RAILS_ENV=cucumber bundle exec spring cucumber"
|
|||||||
alias va="vagrant"
|
alias va="vagrant"
|
||||||
|
|
||||||
# Bundler aliases
|
# Bundler aliases
|
||||||
|
alias bch="bundle check"
|
||||||
alias bcn="bundle clean"
|
alias bcn="bundle clean"
|
||||||
alias bco="bundle console"
|
alias bco="bundle console"
|
||||||
alias be="bundle exec"
|
alias be="bundle exec"
|
||||||
@@ -50,10 +51,6 @@ alias bp="bundle package"
|
|||||||
alias bu="bundle update"
|
alias bu="bundle update"
|
||||||
|
|
||||||
# lazy-load rbenv
|
# lazy-load rbenv
|
||||||
if [ -d "$HOME/.rbenv/shims" ]; then
|
|
||||||
path_prepend "$HOME/.rbenv/shims"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rbenv() {
|
rbenv() {
|
||||||
eval "$(command rbenv init -)"
|
eval "$(command rbenv init -)"
|
||||||
rbenv "$@"
|
rbenv "$@"
|
||||||
|
|||||||
@@ -2,11 +2,6 @@
|
|||||||
# Rust environment setup.
|
# Rust environment setup.
|
||||||
#
|
#
|
||||||
|
|
||||||
# Rustup
|
|
||||||
if [ -d "$HOME/.cargo/bin" ]; then
|
|
||||||
path_prepend "$HOME/.cargo/bin"
|
|
||||||
fi
|
|
||||||
|
|
||||||
install_rust_global_packages() {
|
install_rust_global_packages() {
|
||||||
local packages=(
|
local packages=(
|
||||||
rls
|
rls
|
||||||
|
|||||||
@@ -5,11 +5,6 @@ alias tmn="tm new"
|
|||||||
alias tml="tm ls"
|
alias tml="tm ls"
|
||||||
alias tmm="tmn -s main"
|
alias tmm="tmn -s main"
|
||||||
|
|
||||||
# Custom Install
|
|
||||||
if [ -d "/opt/tmux/bin" ]; then
|
|
||||||
path_prepend "/opt/tmux/bin"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Tmux Completion
|
# Tmux Completion
|
||||||
if [ -f "/usr/local/etc/bash_completion.d/tmux" ]; then
|
if [ -f "/usr/local/etc/bash_completion.d/tmux" ]; then
|
||||||
source "/usr/local/etc/bash_completion.d/tmux"
|
source "/usr/local/etc/bash_completion.d/tmux"
|
||||||
|
|||||||
125
zshenv
Normal file
125
zshenv
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
#
|
||||||
|
# ZSH Environment Setup
|
||||||
|
#
|
||||||
|
|
||||||
|
# Ensure values in path variable are unique.
|
||||||
|
typeset -U path
|
||||||
|
|
||||||
|
# Path helpers
|
||||||
|
path_list () {
|
||||||
|
print -l "${(@)path}"
|
||||||
|
}
|
||||||
|
|
||||||
|
path_remove () {
|
||||||
|
path=("${(@)path:#$1}")
|
||||||
|
}
|
||||||
|
|
||||||
|
path_append () {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
path+="$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
path_prepend () {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
path=("$1" "${(@)path:#$1}")
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# System Environment Setup
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
DOTFILES="$HOME/.dotfiles"
|
||||||
|
DOTBIN="$DOTFILES/bin"
|
||||||
|
DOTZSH="$DOTFILES/zsh"
|
||||||
|
|
||||||
|
# Editors
|
||||||
|
export EDITOR="emacsclient-wrapper"
|
||||||
|
export GEM_EDITOR="mate"
|
||||||
|
|
||||||
|
# Locale Setup
|
||||||
|
export LC_ALL="en_US.UTF-8"
|
||||||
|
export LANG="en_US.UTF-8"
|
||||||
|
|
||||||
|
# Ensure TMPDIR is the same for local and remote ssh logins
|
||||||
|
if [[ "$TMPDIR" == "/var/folders/"* ]] || [[ "$TMPDIR" == "" ]]; then
|
||||||
|
export TMPDIR="/tmp/user-$USER"
|
||||||
|
mkdir -p "$TMPDIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ensure basic systems paths are in desired order.
|
||||||
|
path_prepend "/sbin"
|
||||||
|
path_prepend "/bin"
|
||||||
|
path_prepend "/usr/sbin"
|
||||||
|
path_prepend "/usr/bin"
|
||||||
|
path_prepend "/usr/local/sbin"
|
||||||
|
path_prepend "/usr/local/bin"
|
||||||
|
|
||||||
|
# Add dotfiles' bin directory to PATH
|
||||||
|
path_prepend "$DOTBIN"
|
||||||
|
|
||||||
|
# Add user's bin directory to PATH
|
||||||
|
path_prepend "$HOME/bin"
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# Private Dotfiles Environment
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
DOTPFILES="$DOTFILES/private"
|
||||||
|
|
||||||
|
if [ -f "$DOTPFILES/zshenv" ]; then
|
||||||
|
source "$DOTPFILES/zshenv"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# Third-party Environment Setup
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Android SDK environment setup.
|
||||||
|
if [ -d "$HOME/Library/Android/sdk" ]; then
|
||||||
|
export ANDROID_HOME="$HOME/Library/Android/sdk"
|
||||||
|
path_append "$ANDROID_HOME/emulator"
|
||||||
|
path_append "$ANDROID_HOME/tools"
|
||||||
|
path_append "$ANDROID_HOME/tools/bin"
|
||||||
|
path_append "$ANDROID_HOME/platform-tools"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Flutter environment setup
|
||||||
|
path_append "/opt/flutter/bin"
|
||||||
|
path_append "/opt/flutter/bin/cache/dart-sdk/bin"
|
||||||
|
|
||||||
|
# Use gnu-getop if available
|
||||||
|
path_prepend "/usr/local/opt/gnu-getopt/bin"
|
||||||
|
|
||||||
|
# Go (golang) environment setup
|
||||||
|
export GOPATH="$HOME/.go"
|
||||||
|
path_prepend "$GOPATH/bin"
|
||||||
|
|
||||||
|
# Homebrew setup
|
||||||
|
export HOMEBREW_NO_ANALYTICS=1
|
||||||
|
|
||||||
|
# Kubernetes setup
|
||||||
|
export KUBECONFIG="$HOME/.kube/config:.kube/config"
|
||||||
|
|
||||||
|
# Use custom emacs install if available
|
||||||
|
path_prepend "/opt/emacs/bin"
|
||||||
|
|
||||||
|
# Use custom tmux install if available
|
||||||
|
path_prepend "/opt/tmux/bin"
|
||||||
|
|
||||||
|
# Ruby setup
|
||||||
|
path_prepend "$HOME/.rbenv/shims"
|
||||||
|
|
||||||
|
# Rust setup
|
||||||
|
path_prepend "$HOME/.cargo/bin"
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# Local Overrides
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
if [ -f "$HOME/.zshenv.local" ]; then
|
||||||
|
source "$HOME/.zshenv.local"
|
||||||
|
fi
|
||||||
@@ -2,52 +2,11 @@
|
|||||||
# Z-Shell Init
|
# Z-Shell Init
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ -n "$0" ] && [ -f "$0" ]; then
|
# Fix PATH re-ordering done by macOS, by loading ~/.zshenv again.
|
||||||
DOTFILES="`dirname \"$0\"`"
|
if [[ "$(uname)" == "Darwin" ]] && [ -x "/usr/libexec/path_helper" ]; then
|
||||||
elif [ -d "$HOME/.dotfiles" ]; then
|
source "$HOME/.zshenv"
|
||||||
DOTFILES="$HOME/.dotfiles"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Environment variables
|
|
||||||
# ==============================================================================
|
|
||||||
|
|
||||||
# Export path variables.
|
|
||||||
DOTPFILES="$DOTFILES/private"
|
|
||||||
DOTBIN="$DOTFILES/bin"
|
|
||||||
DOTZSH="$DOTFILES/zsh"
|
|
||||||
|
|
||||||
# Path helpers.
|
|
||||||
source "$DOTZSH/path_helpers.zsh"
|
|
||||||
|
|
||||||
# Ensure /usr/local/bin is before various system-paths
|
|
||||||
path_prepend "/usr/local/bin"
|
|
||||||
|
|
||||||
# Editors
|
|
||||||
export EDITOR="emacsclient-wrapper"
|
|
||||||
export GEM_EDITOR="mate"
|
|
||||||
|
|
||||||
# Locale Setup
|
|
||||||
export LC_ALL="en_US.UTF-8"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
|
|
||||||
# ensure bin and sbin paths from /usr/local are in PATH
|
|
||||||
path_add_after "/usr/local/sbin" "/usr/local/bin"
|
|
||||||
|
|
||||||
# ensure bin and sbin paths from /usr are in PATH
|
|
||||||
path_add_after "/usr/sbin" "/usr/bin"
|
|
||||||
|
|
||||||
# Add user's bin directory to PATH
|
|
||||||
path_prepend "$HOME/bin"
|
|
||||||
|
|
||||||
# Add dotfiles' bin directory to PATH
|
|
||||||
path_prepend "$DOTBIN"
|
|
||||||
|
|
||||||
# Ensure TMPDIR is the same for local and remote ssh logins
|
|
||||||
if [[ $TMPDIR == "/var/folders/"* ]] || [[ $TMPDIR == "" ]]; then
|
|
||||||
export TMPDIR="/tmp/user-$USER"
|
|
||||||
mkdir -p "$TMPDIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# zplug
|
# zplug
|
||||||
@@ -87,6 +46,16 @@ fi
|
|||||||
|
|
||||||
zplug load
|
zplug load
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# Private Dotfiles
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
if [ -f "$DOTPFILES/zshrc" ]; then
|
||||||
|
source "$DOTPFILES/zshrc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# Completion
|
# Completion
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
@@ -97,29 +66,26 @@ autoload -Uz +X bashcompinit && bashcompinit
|
|||||||
|
|
||||||
fpath=("$DOTZSH/completion" "${fpath[@]}")
|
fpath=("$DOTZSH/completion" "${fpath[@]}")
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# Load custom scripts
|
# Tool specific setup
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
source "$DOTZSH/aliases.zsh"
|
source "$DOTZSH/aliases.zsh"
|
||||||
|
|
||||||
# OS specific
|
# OS specific
|
||||||
source "$DOTZSH/osx.zsh"
|
if [[ "$(uname)" == "Darwin" ]]; then source "$DOTZSH/macos.zsh"; fi
|
||||||
source "$DOTZSH/linux.zsh"
|
if [[ "$(uname)" == "Linux" ]]; then source "$DOTZSH/linux.zsh"; fi
|
||||||
|
|
||||||
# Utils
|
# Utils
|
||||||
source "$DOTZSH/emacs.zsh"
|
source "$DOTZSH/emacs.zsh"
|
||||||
source "$DOTZSH/git.zsh"
|
source "$DOTZSH/git.zsh"
|
||||||
source "$DOTZSH/gnu-getopt.zsh"
|
|
||||||
source "$DOTZSH/homebrew.zsh"
|
|
||||||
source "$DOTZSH/less.zsh"
|
source "$DOTZSH/less.zsh"
|
||||||
source "$DOTZSH/tmux.zsh"
|
source "$DOTZSH/tmux.zsh"
|
||||||
|
|
||||||
# Development
|
# Development
|
||||||
source "$DOTZSH/android-sdk.zsh"
|
|
||||||
source "$DOTZSH/docker.zsh"
|
source "$DOTZSH/docker.zsh"
|
||||||
source "$DOTZSH/flutter.zsh"
|
|
||||||
source "$DOTZSH/golang.zsh"
|
source "$DOTZSH/golang.zsh"
|
||||||
source "$DOTZSH/google-cloud.zsh"
|
source "$DOTZSH/google-cloud.zsh"
|
||||||
source "$DOTZSH/kubernetes.zsh"
|
source "$DOTZSH/kubernetes.zsh"
|
||||||
@@ -132,6 +98,7 @@ if [ -f "$DOTPFILES/shellrc.sh" ]; then
|
|||||||
source "$DOTPFILES/shellrc.sh"
|
source "$DOTPFILES/shellrc.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# Basic Z-Shell settings
|
# Basic Z-Shell settings
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
@@ -144,3 +111,12 @@ unsetopt share_history
|
|||||||
|
|
||||||
# Disable attempted correction of commands (is wrong 98% of the time).
|
# Disable attempted correction of commands (is wrong 98% of the time).
|
||||||
unsetopt correctall
|
unsetopt correctall
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# Local Overrides
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
if [ -f "$HOME/.zshrc.local" ]; then
|
||||||
|
source "$HOME/.zshrc.local"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user