.zshenv 1012 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # .zshenv
  2. #
  3. # Shared PATH discovery, history management, etc. across all machines.
  4. # .zshrc.local is reserved for per-machine customization.
  5. ### PATH ###
  6. pathappend() {
  7. for ARG in "$@"
  8. do
  9. if [ -d "$ARG" ] && [[ ":$PATH:" != *":$ARG:"* ]]; then
  10. PATH="${PATH:+"$PATH:"}$ARG"
  11. fi
  12. done
  13. }
  14. pathappend \
  15. "$HOME/.local/bin" \
  16. "$HOME/.pyenv/bin" \
  17. "/usr/sbin" \
  18. "/usr/local/go/bin" \
  19. "$HOME/.config/emacs/bin" \
  20. "$HOME/.cargo/bin" \
  21. "$HOME/go/bin"
  22. if [ -d "$HOME/.pyenv/bin" ]; then
  23. eval "$(pyenv init -)"
  24. eval "$(pyenv virtualenv-init -)"
  25. fi
  26. if [ -d "$HOME/.bun" ]; then
  27. export BUN_INSTALL="$HOME/.bun"
  28. export PATH="$BUN_INSTALL/bin:$PATH"
  29. [ -s "/home/josh/.bun/_bun" ] && source "/home/josh/.bun/_bun"
  30. fi
  31. bindkey '^ ' autosuggest-accept
  32. ### History ###
  33. export HISTFILE=~/.histfile
  34. # Ignore duplicates in history
  35. setopt HIST_IGNORE_DUPS
  36. # Delete old recorded entry if new entry is a duplicate.
  37. setopt HIST_IGNORE_ALL_DUPS