Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.2 kB · 59 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960{ lib, runCommand, awscli,}:lib.fetchers.withNormalizedHash { } ( { s3url, name ? builtins.baseNameOf s3url, outputHash, outputHashAlgo, region ? "us-east-1", credentials ? null, # Default to looking at local EC2 metadata service recursiveHash ? false, postFetch ? null, }:
let mkCredentials = { access_key_id, secret_access_key, session_token ? null, }: { AWS_ACCESS_KEY_ID = access_key_id; AWS_SECRET_ACCESS_KEY = secret_access_key; AWS_SESSION_TOKEN = session_token; };
credentialAttrs = lib.optionalAttrs (credentials != null) (mkCredentials credentials); in runCommand name ( { nativeBuildInputs = [ awscli ];
inherit outputHash outputHashAlgo; outputHashMode = if recursiveHash then "recursive" else "flat";
preferLocalBuild = true;
AWS_DEFAULT_REGION = region; } // credentialAttrs ) ( if postFetch != null then '' downloadedFile="$(mktemp)" aws s3 cp ${s3url} $downloadedFile ${postFetch} '' else '' aws s3 cp ${s3url} $out '' ))