I believe that the direnv package has encountered an issue with the gnu-build-system [1]. 1: https://issues.guix.info/issue/35386 Due to the combination of the 'setup-go-environment phase from the go-build-system, and the 'unpack phase of the gnu-build-system, there are two directories to be considered by first-subdirectory when called from the unpack phase. It seems from direnv that this either consistently, with the package working on one machine, or failing consistently on another. To avoid issues like this in the future, I think it would be good to have first-subdirectory raise an error if it's behaviour could be non-deterministic.