{ lib, fetchzip }: { crateName ? args.pname , pname ? null , version , ... } @ args: assert pname == null || pname == crateName; fetchzip ({ name = "${crateName}-${version}.tar.gz"; url = "https://crates.io/api/v1/crates/${crateName}/${version}/download"; extension = "tar.gz"; } // removeAttrs args [ "crateName" "pname" "version" ])