31 lines
935 B
Bash
31 lines
935 B
Bash
|
#!/usr/bin/env nix-shell
|
||
|
#! nix-shell -i bash --keep GITHUB_TOKEN -p nix-prefetch jq
|
||
|
|
||
|
set -eo pipefail
|
||
|
|
||
|
curl_args=( '--silent' )
|
||
|
|
||
|
# optionally takes a GITHUB_TOKEN to overcome api rate limiting.
|
||
|
if [ -n "$GITHUB_TOKEN" ]; then curl_args+=( --header "authorization: Bearer ${GITHUB_TOKEN}" ); fi
|
||
|
|
||
|
# get latest release assets
|
||
|
curl_args+=( --url https://api.github.com/repos/varnamproject/schemes/releases/latest )
|
||
|
scheme_archives=$(curl "${curl_args[@]}" | jq -r '.assets' )
|
||
|
|
||
|
dirname="$(dirname "$0")"
|
||
|
|
||
|
printf '{\n' > "$dirname/schemes.nix"
|
||
|
|
||
|
while
|
||
|
read -r file_path
|
||
|
do
|
||
|
name="$(basename $file_path)"
|
||
|
name="${name/.zip/}"
|
||
|
if [ $name != "source-with-lfs" ]; then
|
||
|
printf ' "%s" = {\n url = "%s";\n sha = "%s";\n };\n' "${name}" "$file_path" "$(nix-prefetch-url --unpack "$file_path")" >>"$dirname/schemes.nix"
|
||
|
fi
|
||
|
done < <(jq -r '.[].browser_download_url' <<<"$scheme_archives")
|
||
|
|
||
|
printf '}\n' >> "$dirname/schemes.nix"
|
||
|
|