# PATHS DET_OS="unknown" UNAME_STR="$(uname)" # Some settings are mac specific if [[ "$UNAME_STR" == "Darwin" ]]; then DET_OS="mac" elif [[ "$UNAME_STR" == "Linux" ]]; then DET_OS="linux" fi # Source bash alaias if [ -f "$HOME/.bash_alias" ]; then # shellcheck source=bash_alias source "$HOME/.bash_alias" fi # Common paths for me export PATH=$PATH:$ANT_HOME/bin # Opt directory if [ -d /opt/local ]; then export PATH=/opt/local/bin:/opt/local/sbin:$PATH export LDFLAGS="$LDFLAGS-L/opt/local/lib" export CFLAGS="$CFLAGS-L/opt/local/include" fi if [[ "$DET_OS" == "linux" ]]; then export ANDROID_HOME="$HOME/workspace/adt-bundle-linux/sdk" elif [[ "$DET_OS" == "mac" ]]; then export ANDROID_HOME="$HOME/Library/Android/sdk" # Set GOPATH GOROOT=/opt/local/lib/go GOPATH=$HOME/workspace/go_path # Fix Python path on OSX to avoid considering System extras over newer versions # Local export PATH=$HOME/Library/Python/2.7/bin:$PATH export PATH=$HOME/Library/Python/3.8/bin:$PATH export PATH=$HOME/Library/Python/3.9/bin:$PATH export PATH=$HOME/Library/Python/3.10/bin:$PATH export PATH=$HOME/Library/Python/3.11/bin:$PATH # Python path is causing other issues # export PYTHONPATH=$HOME/Library/Python/2.7/lib/python/site-packages:$PYTHONPATH # MacPorts and system # export PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages:/Library/Python/2.7/site-packages:$PYTHONPATH fi # Android paths if [ -d "$ANDROID_HOME" ]; then export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools fi # Java paths if type /usr/libexec/java_home &> /dev/null && /usr/libexec/java_home &> /dev/null ; then export JAVA_HOME="$(/usr/libexec/java_home)" fi # Go paths if [ -d "$GOPATH" ]; then export GOPATH export PATH=$PATH:$GOPATH/bin fi if [ -d "$GOROOT" ]; then export GOROOT export PATH=$PATH:$GOROOT/bin fi # Home path export PATH=$HOME/bin:$HOME/.local/bin:$PATH # Add RVM to PATH for scripting if type rbenv &> /dev/null; then export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" elif [ -d "$HOME/.rvm" ]; then export PATH="$PATH:$HOME/.rvm/bin" # shellcheck source=/dev/null [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* fi # NPM paths if type npm &> /dev/null ; then # This seems to fail in some cases npm_path=$(npm bin -g 2> /dev/null) if [ -d "$npm_path" ] && echo "$PATH" | grep -qv "$npm_path"; then export PATH=$PATH:$npm_path fi fi # Add luarocks paths if type luarocks &> /dev/null ; then eval "$(luarocks path)" luarocks_bin=$HOME/.luarocks/bin if [ -d "$luarocks_bin" ] && echo "$PATH" | grep -qv "$luarocks_bin"; then export PATH=$PATH:$luarocks_bin fi fi # Other stuff # Set prompt to include some useful information function ps_host_name { # Returns hostname if on remote host and not using tmux # Check if we're on a non-local host via ssh if [ -n "$SSH_CLIENT" ] && [ -n "$SSH_TTY" ]; then # Check if we're using tmux, since tmux status line displays the host if [ -z "$TMUX" ]; then echo "$(hostname) " fi fi } function ps_git_branch { ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo " (${ref#refs/heads/})" } function ps_atf_target { org=$(atf-target 2> /dev/null) || return echo " [$org]" } function ps_force_target { test "true" = "$( git config force.use 2> /dev/null )" || return org=$(force-target 2> /dev/null) || return echo " [$org]" } function ps_virtual_env { [ -z "$VIRTUAL_ENV" ] && return venv=$(basename "$VIRTUAL_ENV") || return echo " [$venv]" } # Disable standard virtualenv prompt export VIRTUAL_ENV_DISABLE_PROMPT=1 # Alias for colors # Set prompt format setopt PROMPT_SUBST PROMPT='$(ps_host_name)%1~%F{yellow}$(ps_git_branch)%f%# ' RPROMPT='%F{green}$(ps_atf_target)$(ps_force_target)$(ps_virtual_env)%f' # Prompt Title export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"' # Set cursor colors export CLICOLOR=1 export LSCOLORS=ExFxCxDxBxegedabagacad # Export colors eval $($HOME/bin/derive_colors.py --export) # Check for nerd font if fc-list -q 'Symbols Nerd Font'; then # Doesn't guarantee the font is in use, but it's a good guess export TERM_NERD_FONT=1 fi # FZF [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh if type rg &> /dev/null; then export FZF_DEFAULT_COMMAND='rg --files' # export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden' elif type ag &> /dev/null; then export FZF_DEFAULT_COMMAND='ag -g ""' fi if [ -n "$FZF_DEFAULT_COMMAND" ]; then export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND \$dir" fi # Set vim or nvim to default editor if type nvim &> /dev/null ; then export EDITOR=nvim else export EDITOR=vim fi export VISUAL="$EDITOR" # vim: set filetype=zsh: