#!/bin/sh # PATH 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 # Editor ## Some applications expect the full path if [ -x "$(command -v nvim)" ]; then VISUAL="$(command -v nvim)" else VISUAL="$(command -v nano)" fi export VISUAL ## Some applications only accept EDITOR EDITOR="$(command -v nano)" export EDITOR # C/C++ if [ -x "$(command -v clang)" ]; then export CC="clang" export CXX="clang++" fi # DOTNET export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_NOLOGO=1 # Rust export RUST_BACKTRACE=1 # Pico SDK [ -d "$HOME/pico/pico-sdk" ] && export PICO_SDK_PATH="$HOME/pico/pico-sdk" # FZF export FZF_DEFAULT_OPTS="--reverse"