summaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2023-06-25 13:03:49 +0200
committerDaiderd Jordan <daiderd@gmail.com>2023-06-25 13:03:52 +0200
commitcb37c35e33239b844203987fff18f91370939921 (patch)
tree8c0692f0755aecc9528424aa1454ef569fafed40 /pkgs
parent53c6748f98fd1e91f1e10f8878f1513743990101 (diff)
fix darwin-option descriptions
Also drops the eval hacks in favour of jq.
Diffstat (limited to 'pkgs')
-rwxr-xr-xpkgs/nix-tools/darwin-option.sh21
1 files changed, 9 insertions, 12 deletions
diff --git a/pkgs/nix-tools/darwin-option.sh b/pkgs/nix-tools/darwin-option.sh
index d6d466b..8e40e93 100755
--- a/pkgs/nix-tools/darwin-option.sh
+++ b/pkgs/nix-tools/darwin-option.sh
@@ -4,26 +4,24 @@ set -o pipefail
export PATH=@path@:$PATH
evalNix() {
- nix-instantiate --eval --strict "${extraEvalFlags[@]}" -E "with import <darwin> {}; $*"
+ nix-instantiate --eval --strict "${extraEvalFlags[@]}" -E "with import <darwin> {}; $*" 2>/dev/null
}
-evalAttrs() {
- evalNix "builtins.concatStringsSep \"\\n\" (builtins.attrNames $*)"
+evalOpt() {
+ evalNix "options.$option.$*"
}
-evalOpt() {
- evalNix "options.$option.$*" 2>/dev/null
+evalOptAttrs() {
+ evalNix "builtins.concatStringsSep \"\\n\" (builtins.attrNames $*)" | jq -r .
}
evalOptText() {
- eval printf "$(evalNix "options.$option.$*" 2>/dev/null)" 2>/dev/null
- echo
+ evalNix "options.$option.$*" | jq -r .
}
showSyntax() {
echo "$0: [-I path] <option>" >&2
- eval printf "$(evalAttrs "options")"
- echo
+ evalOptAttrs "options"
exit 1
}
@@ -69,9 +67,8 @@ if [ "$(evalOpt "_type")" = '"option"' ]; then
fi
echo
echo "Description:"
- evalOptText "description" || echo "no description"
+ evalOptText "description.text" || echo "no description"
echo
else
- eval printf "$(evalAttrs "options.$option")" 2>/dev/null
- echo
+ evalOptAttrs "options.$option"
fi