Files
NixOS-Configs/home/rofi/rofi-scripts.sh
2026-08-31 21:20:26 -07:00

22 lines
658 B
Bash

#!/usr/bin/env bash
# Rofi script-mode: indexes every executable user script so the launcher
# can find shell scripts and everything else, not just .desktop apps.
declare -A SCRIPTS
for dir in "$HOME/.local/bin" "$HOME/bin" "$HOME/.cargo/bin" "$HOME/Tools/bin" "$HOME/scripts"; do
[ -d "$dir" ] || continue
while IFS= read -r -d '' f; do
[ -f "$f" ] || continue
b=$(basename "$f")
SCRIPTS["$b"]="$f"
done < <(find "$dir" -maxdepth 1 -type f -executable -print0 2>/dev/null)
done
sel="${1:-}"
if [ -n "$sel" ] && [ -n "${SCRIPTS[$sel]:-}" ]; then
exec setsid "${SCRIPTS[$sel]}" >/dev/null 2>&1
fi
printf '%s\n' "${!SCRIPTS[@]}" | sort