Do most Go programmers put all their code under ~/go, or do they tend to set GOPATH on a project-by-project basis?
One thing that you learn quickly when starting Go is that fighting the language's idioms (even where they're questionable) isn't going to be a good time.
I could even do without direnv altogether, but I need it so that vim-go can report build errors on file saving.