Newer
Older
"""
Helpers for development and CI scripts.
"""
from __future__ import annotations
import subprocess
def get_url_hash(hash_type, name, url) -> dict[str, str]:
"""
Get the nix hash of the given URL.
:returns: Dictionary of arguments suitable to pass to :nix:`pkgs.fetchzip`
or a function derived from it (such as :nix:`pkgs.fetchFromGitLab`)
to specify the hash.
"""
output = subprocess.run(
[
"nix-prefetch-url",
"--type",
hash_type,
"--unpack",
"--name",
name,
url,
],
capture_output=True,
check=True,
encoding="utf-8",
)
return {
"outputHashAlgo": hash_type,
"outputHash": output.stdout.strip(),
}