aboutsummaryrefslogtreecommitdiff
path: root/exports/.exports
diff options
context:
space:
mode:
Diffstat (limited to 'exports/.exports')
-rw-r--r--exports/.exports35
1 files changed, 27 insertions, 8 deletions
diff --git a/exports/.exports b/exports/.exports
index 55c1e8b..6737695 100644
--- a/exports/.exports
+++ b/exports/.exports
@@ -1,13 +1,29 @@
#!/bin/sh
# PATH
-## Set PATH so it includes user's private bin, cargos bin and dotnet if they exist
-[ -d "$HOME/bin" ] && export PATH="$HOME/bin:$PATH"
-[ -d "$HOME/.local/bin" ] && export PATH="$HOME/.local/bin:$PATH"
-[ -d "$HOME/.cargo/bin" ] && export PATH="$HOME/.cargo/bin:$PATH"
-[ -d "$HOME/dotnet" ] && export PATH="$HOME/dotnet:$PATH" && export DOTNET_ROOT="$HOME/dotnet"
-[ -d "$HOME/.dotnet/tools" ] && export PATH="$HOME/.dotnet/tools:$PATH"
-[ -d "$HOME/pico/pico-sdk" ] && export PICO_SDK_PATH="$HOME/pico/pico-sdk"
+pathmunge () {
+ case ":${PATH}:" in
+ *:"$1":*)
+ ;;
+ *)
+ if [ "$2" = "after" ]; then
+ PATH="$PATH:$1"
+ else
+ PATH="$1:$PATH"
+ fi
+ esac
+}
+
+## Set PATH so it includes user's private bin, cross compilers, cargos bin and dotnet if they exist
+[ -d "$HOME/bin" ] && pathmunge "$HOME/bin"
+[ -d "$HOME/.local/bin" ] && pathmunge "$HOME/.local/bin"
+[ -d "$HOME/opt/cross/bin" ] && pathmunge "$HOME/opt/cross/bin"
+[ -d "$HOME/.cargo/bin" ] && pathmunge "$HOME/.cargo/bin"
+[ -d "$HOME/dotnet" ] && pathmunge "$HOME/dotnet" && export DOTNET_ROOT="$HOME/dotnet"
+[ -d "$HOME/.dotnet/tools" ] && pathmunge "$HOME/.dotnet/tools"
+
+# Force PATH to be environment
+export PATH
# Colors for BSD tools
export CLICOLOR=1
@@ -34,5 +50,8 @@ fi
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_NOLOGO=1
-# RUST
+# Rust
export RUST_BACKTRACE=1
+
+# Pico SDK
+[ -d "$HOME/pico/pico-sdk" ] && export PICO_SDK_PATH="$HOME/pico/pico-sdk"