Sometimes you get up and understand that reality has chosen violence towards you. The results of this violence mean that it is onerous to cope with the alternatives that other individuals have made for you and then you simply should make issues work. This is the scenario that I face when compiling issues written in Go in my NixOS configurations. However, I have discovered a manner past this wicked destiny and have forged a brand new path. I have found gomod2nix to help me out of this pit of philosophical doom and despair. That can assist you understand the answer, I need to take a moment to help you understand the issue and why it's such an enormous ache in follow. Most bundle management ecosystems attempt to be deterministic. Which means that the package managers want to be sure that the identical end state is achieved if the same inputs and commands are given. For a long time, the Go neighborhood simply didn't have a narrative for making bundle management deterministic at all.