diff --git a/install.sh b/install.sh index 1c09e54..2d2cdcd 100755 --- a/install.sh +++ b/install.sh @@ -6,8 +6,24 @@ set -eu repo_dir=$(cd "$(dirname "$0")" && pwd) -target=${HOME}/bin +# Pick the first install target that's already on $PATH so the symlinks are +# immediately usable. Override with TARGET= ./install.sh. +pick_target() { + if [ -n "${TARGET:-}" ]; then + printf %s "$TARGET" + return + fi + for candidate in "$HOME/bin" "$HOME/.local/bin"; do + case ":$PATH:" in + *":$candidate:"*) printf %s "$candidate"; return ;; + esac + done + # Nothing on PATH — fall back to ~/bin and warn later. + printf %s "$HOME/bin" +} + +target=$(pick_target) mkdir -p "$target" for src in "$repo_dir"/bin/*; do