{ stdenvNoCC, lib, fetchzip, fetchurl, curl }: { id, file ? "", formats ? [ ], hash ? "", name ? "internet-archive-${id}", }@args: let isFormatIndiciated = formats != [ ]; url = if isFormatIndiciated then "https://archive.org/compress/${lib.escapeURL id}/formats=${ lib.concatStringsSep "," formats }" else "https://archive.org/download/${lib.escapeURL id}/${lib.escapeURL file}"; args' = lib.removeAttrs args [ "id" "file" "formats" ] // { inherit url hash name; }; fetcher = if isFormatIndiciated then fetchzip else fetchurl; in fetcher args'