diff --git a/README.md b/README.md index 8fbe290..70e3ac3 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,18 @@ to be customized, for example: let project = pkgs.callPackage ./yarn-project.nix { + + # Example of providing a different source. + src = fetchFromGitHub { + owner = "johndoe"; + repo = "myproject"; + rev = "v1.0.0"; + sha256 = "1hdhafj726g45gh7nj8qv1xls8mps3vhzq3aasdymbdqcb1clhkz"; + }; + # Example of selecting a specific version of Node.js. nodejs = pkgs.nodejs-14_x; + }; in project.overrideAttrs (oldAttrs: { diff --git a/src/yarn-project.nix.in b/src/yarn-project.nix.in index cd8acdc..bc10ca7 100644 --- a/src/yarn-project.nix.in +++ b/src/yarn-project.nix.in @@ -1,7 +1,7 @@ # This file is generated by running "yarn install" inside your project. # Manual changes might be lost - proceed with caution! -{ lib, bash, coreutils, nodejs, perl, stdenv, writeText }: +{ lib, coreutils, nodejs, stdenv, src ? ./. }: with lib; @@ -23,9 +23,9 @@ let # Directory of just the files needed to run Yarn. yarn-closure = cleanSourceWith { - src = ./.; + inherit src; filter = let - srcStr = toString ./.; + srcStr = toString src; srcRel = removePrefix "${srcStr}/"; in path: type: elem "${type}:${srcRel path}" yarn-closure-entries; @@ -71,7 +71,7 @@ let in stdenv.mkDerivation { name = project-name; - src = ./.; + inherit src; # Tell node-gyp to use the provided Node.js headers for native code builds. npm_config_nodedir = nodejs;