pkgs: add comma
This commit is contained in:
parent
797387f571
commit
7087ce32a6
3 changed files with 77 additions and 0 deletions
33
pkgs/comma/comma
Executable file
33
pkgs/comma/comma
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
print_err() {
|
||||
printf "%s\n" "$1" >&2
|
||||
}
|
||||
|
||||
usage() {
|
||||
print_err "Usage: , <program> [argument]..."
|
||||
}
|
||||
|
||||
find_program() {
|
||||
local CANDIDATE
|
||||
CANDIDATE="$(nix-locate --top-level --minimal --at-root --whole-name "/bin/$1")"
|
||||
if [ "$(printf '%s\n' "$CANDIDATE" | wc -l)" -gt 1 ]; then
|
||||
CANDIDATE="$(printf '%s' "$CANDIDATE" | fzf-tmux)"
|
||||
fi
|
||||
printf '%s' "$CANDIDATE"
|
||||
}
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROGRAM="$(find_program "$1")"
|
||||
if [ -z "$PROGRAM" ]; then
|
||||
print_err "No match found for $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
nix shell "nixpkgs#$PROGRAM" -c "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue