19 lines
513 B
Nix
19 lines
513 B
Nix
{
|
|
runtimeShell,
|
|
writeShellScriptBin,
|
|
curl,
|
|
jq,
|
|
gnused,
|
|
}:
|
|
writeShellScriptBin "nix-modrinth-prefetch" ''
|
|
input=$(${curl}/bin/curl --no-progress-meter https://api.modrinth.com/v2/version/$1)
|
|
|
|
if [[ $input == "" ]]; then
|
|
echo "Invalid version"
|
|
exit 1
|
|
fi
|
|
|
|
echo $input \
|
|
| ${jq}/bin/jq -c '.files | (.[] | select(.primary == true)) // .[0] | {url: .url, sha512: .hashes.sha512}' \
|
|
| ${gnused}/bin/sed 's/{"url":"\(.\+\)","sha512":"\(.\+\)"}/fetchurl { url = "\1"; sha512 = "\2"; }/'
|
|
''
|