From 48a219a7cc9ae9b98ebd24460b9d97be23f941c5 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sat, 25 Apr 2026 22:14:08 -0700 Subject: [PATCH] install.sh: pick first on-PATH target dir, allow TARGET= override --- install.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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