From a910f2fc664bf356ecb978b3d41355597fe1cc2c Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Wed, 3 Dec 2025 10:55:52 -0500 Subject: [PATCH] properly manage $PATH additions --- dot_config/environment | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/dot_config/environment b/dot_config/environment index a1844a1..dae0c76 100644 --- a/dot_config/environment +++ b/dot_config/environment @@ -42,7 +42,6 @@ export NPM_CONFIG_INIT_MODULE="$XDG_CONFIG_HOME"/npm/config/npm-init.js export NPM_CONFIG_TMP="$XDG_RUNTIME_DIR"/npm export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass -export PATH="$HOME/.local/bin:$HOME/.rebbletool/rebbletool/bin:$PATH:$XDG_DATA_HOME/xxtools:$XDG_DATA_HOME/flutter/bin:$HOME/platform-tools" export PYTHON_HISTORY="$XDG_STATE_HOME"/python_history export RUSTUP_HOME="$XDG_DATA_HOME"/rustup export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history @@ -51,6 +50,28 @@ export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority export XCURSOR_PATH=/usr/share/icons:"$XDG_DATA_HOME"/icons export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java +# Adds a directory to the START of PATH if not already present +prepend_to_path() { + case ":$PATH:" in + *":$1:"*) ;; # Already there, do nothing + *) PATH="$1:$PATH" ;; + esac +} + +# Adds a directory to the END of PATH if not already present +append_to_path() { + case ":$PATH:" in + *":$1:"*) ;; # Already there, do nothing + *) PATH="$PATH:$1" ;; + esac +} + +prepend_to_path "$HOME/.local/bin" +prepend_to_path "$HOME/.rebbletool/rebbletool/bin" +append_to_path "$XDG_DATA_HOME/xxtools" +append_to_path "$XDG_DATA_HOME/flutter/bin" +append_to_path "$HOME/platform-tools" + export PGUSER=postgres export XBPS_DISTDIR="$HOME"/repos/void-packages