|
|
@@ -2,22 +2,39 @@
|
|
|
# $PATH and similar
|
|
|
################################################################################
|
|
|
export GOPATH="$HOME/.go"
|
|
|
+# Add to path without duplicates
|
|
|
+function add_to_path {
|
|
|
+ if [[ ! ":$PATH:" == *":$1:"* ]]; then
|
|
|
+ if [ "$2" = true ] ; then
|
|
|
+ PATH=":$1:$PATH:"
|
|
|
+ else
|
|
|
+ PATH="$PATH:$1:"
|
|
|
+ fi
|
|
|
+ PATH=${PATH/::/:/.}
|
|
|
+ if [[ "$PATH" == ":"* ]]; then
|
|
|
+ PATH="${PATH:1}"
|
|
|
+ fi
|
|
|
+ if [[ "$PATH" == *":" ]]; then
|
|
|
+ PATH="${PATH::-1}"
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+}
|
|
|
|
|
|
-PATH="/opt/homebrew/bin:${PATH}"
|
|
|
-PATH="/opt/homebrew/sbin:${PATH}"
|
|
|
-# Additional Homebrew items that aren't linked by default
|
|
|
-PATH="/opt/homebrew/opt/ruby/bin:${PATH}"
|
|
|
-PATH="/opt/homebrew/opt/libpq/bin:${PATH}"
|
|
|
+add_to_path "/usr/local/bin/" true
|
|
|
+add_to_path "/opt/homebrew/sbin" true
|
|
|
+add_to_path "/opt/homebrew/bin" true
|
|
|
|
|
|
-PATH="${HOME}/.scripts:${PATH}"
|
|
|
+# Additional Homebrew items that aren't linked by default
|
|
|
+add_to_path "/opt/homebrew/opt/ruby/bin"
|
|
|
+add_to_path "/opt/homebrew/opt/libpq/bin"
|
|
|
|
|
|
-PATH="${PATH}:/usr/local/bin"
|
|
|
+add_to_path "${HOME}/.scripts"
|
|
|
|
|
|
-PATH="${GOPATH}/bin:${PATH}"
|
|
|
-PATH="${HOME}/.gem/bin:${PATH}"
|
|
|
-PATH="${HOME}/.cargo/bin:${PATH}"
|
|
|
-PATH="${HOME}/.poetry/bin:${PATH}"
|
|
|
-PATH="${HOME}/.rvm/bin:${PATH}"
|
|
|
+add_to_path "${GOPATH}/bin"
|
|
|
+add_to_path "${HOME}/.gem/bin"
|
|
|
+add_to_path "${HOME}/.cargo/bin"
|
|
|
+add_to_path "${HOME}/.poetry/bin"
|
|
|
+add_to_path "${HOME}/.rvm/bin"
|
|
|
|
|
|
export PATH
|
|
|
|