# Browser
if [[ "$OSTYPE" == darwin* ]]; then
  export BROWSER='open'
fi

# Editors
export EDITOR='hx'
export VISUAL='hx'
export PAGER='less'

# Language
if [[ -z "$LANG" ]]; then
  export LANG='en_US.UTF-8'
fi

# Less
# Set the default Less options.
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
# Remove -X and -F (exit if the content fits on one screen) to enable it.
export LESS='-F -g -i -M -R -S -w -X -z-4'

# Set the Less input preprocessor.
if (( $+commands[lesspipe.sh] )); then
  export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
fi

# Temporary Files
if [[ ! -d "$TMPDIR" ]]; then
  export TMPDIR="/tmp/$USER"
  mkdir -p -m 700 "$TMPDIR"
fi

TMPPREFIX="${TMPDIR%/}/zsh"
if [[ ! -d "$TMPPREFIX" ]]; then
  mkdir -p "$TMPPREFIX"
fi
# Necessary for tmux on WSL, shouldn't impact macos
export TMUX_TMPDIR='/tmp'

# Paths
typeset -gU cdpath fpath mailpath path

check_paths=(
  # miniconda
  /opt/miniconda3/bin

  # macports
  /opt/local/bin
  /opt/local/sbin

  # npm
  $HOME/.npm-packages/bin

  # yarn
  $HOME/.yarn/bin
  $HOME/.config/yarn/global/node_modules/.bin

  # rust
  $HOME/.cargo/bin
  $HOME/.cargo/env

  # WSL
  # /mnt/c/windows
  # /mnt/c/windows/system32

  # home
  $HOME/bin

  # go
  /usr/local/go/bin
)

for fp in $check_paths; do
  if [[ -s "$fp" ]]; then
    path+=("$fp")
  fi
done

export -U PATH
export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs
export CONDA_PKGS_DIRS=$HOME/.conda/pkgs
export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc