diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2023-06-25 13:03:49 +0200 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2023-06-25 13:03:52 +0200 |
| commit | cb37c35e33239b844203987fff18f91370939921 (patch) | |
| tree | 8c0692f0755aecc9528424aa1454ef569fafed40 /pkgs | |
| parent | 53c6748f98fd1e91f1e10f8878f1513743990101 (diff) | |
fix darwin-option descriptions
Also drops the eval hacks in favour of jq.
Diffstat (limited to 'pkgs')
| -rwxr-xr-x | pkgs/nix-tools/darwin-option.sh | 21 |
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 |
