varnam-nix/govarnam/update.sh

30 lines
935 B
Bash
Executable file

#!/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"