1. 5

  2. 2

    One caveat is that this causes what is called “import-from-derivation” (IFD) which muddles the clean split between evaluation and building. While it is evaluating it is forced to stop evaluating to start building, so that it can complete evaluating. This causes a lot of performance problems, especially since the amount of things you need to build to finish evaluating may be quite significant.

    In general, the Nix community tries to recommend against using IFD when possible because of these problems. It is often described as a very nice footgun.

    One thing to note is that builtins.fetchGit returns some revision data that might be useful:

     lastModified = 1652817560;
     lastModifiedDate = "20220517195920";
     rev = "0000000000000000000000000000000000000000";
     revCount = 0;
     shortRev = "0000000";
     submodules = false; 
    1. 1

      Thanks, that makes sense and good to know re: fetchGit