diff --git a/justfile b/justfile index 9ef135d..8425a08 100644 --- a/justfile +++ b/justfile @@ -887,6 +887,42 @@ open-package-urls $package=`just _a_package`: urls+=("https://search.nixos.org/packages?channel=unstable&query=${fpkg}") printf "%s\n" "" "${urls[@]}" | fzf --reverse --multi | { grep . ||:; } | xe xdg-open +enqueue-nixpkgs-review $pr=`just _a_pr`: + #!/usr/bin/env -S bash -euo pipefail + if ! command -v pueue >/dev/null || ! pueue status >&/dev/null; then + echo >&2 "ERROR: pueue not available!" + exit 1 + fi + declare -a all_systems=( x86_64-linux aarch64-linux aarch64-darwin x86_64-darwin ) + declare -a systems=() + readarray -td $'\n' systems < <( printf "%s\n" "${all_systems[@]}" | fzf --sync --layout=reverse --multi ) + declare -a all_configs=( + "" + "cudaSupport = true;" + "rocmSupport = true;" + "allowInsecurePredicate = x: true;" + # "allowUnfree = true;" # default + "allowUnfree = false;" + "allowBroken = true;" + # "allowUnsupportedSystem = true;" + ) + declare -a configs=() + readarray -td $'\n' "configs" < <( printf "%s\n" "${all_configs[@]}" | fzf --sync --layout=reverse --multi ) + declare -a nixpkgs_review_args=( + pr "$pr" + --no-shell + --post-result + --systems "${systems[*]}" + --extra-nixpkgs-config "{ ${configs[*]} }" + ) + # TODO: --checkout commit + # TODO: --eval local + cd master + echo + pueue add nixpkgs-review "${nixpkgs_review_args[@]}" + if gum confirm; then + pueue add --escape nixpkgs-review "${nixpkgs_review_args[@]}" + fi + # === internal helpers === # TODO: prefer using a packages.json in the invocationdir if it exists