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