nix-prefetch-url copy a file from a URL into the store and print its MD5 hash nix-prefetch-url url hash Description The command nix-prefetch-url downloads the file referenced by the URL url, prints its cryptographic hash, and copies it into the Nix store. The file name in the store is hash-baseName, where baseName is everything following the final slash in url. This command is just a convenience for Nix expression writers. Often a Nix expression fetches some source distribution from the network using the fetchurl expression contained in Nixpkgs. However, fetchurl requires a cryptographic hash. If you don't know the hash, you would have to download the file first, and then fetchurl would download it again when you build your Nix expression. Since fetchurl uses the same name for the downloaded file as nix-prefetch-url, the redundant download can be avoided. The environment variable NIX_HASH_ALGO specifies which hash algorithm to use. It can be either md5, sha1, or sha256. The default is sha256. If hash is specified, then a download is not performed if the Nix store already contains a file with the same hash and base name. Otherwise, the file is downloaded, and an error if signaled if the actual hash of the file does not match the specified hash. This command prints the hash on standard output. Additionally, if the environment variable PRINT_PATH is set, the path of the downloaded file in the Nix store is also printed. Examples $ nix-prefetch-url ftp://ftp.nluug.nl/pub/gnu/make/make-3.80.tar.bz2 0bbd1df101bc0294d440471e50feca71 $ PRINT_PATH=1 nix-prefetch-url ftp://ftp.nluug.nl/pub/gnu/make/make-3.80.tar.bz2 0bbd1df101bc0294d440471e50feca71 /nix/store/wvyz8ifdn7wyz1p3pqyn0ra45ka2l492-make-3.80.tar.bz2