7de738bb

By: Michael Lynch <git@mtlynch.io>

Ignore user Go config in the dev shell

The dev shell pins Go 1.25.5, but Go still reads persisted user settings from GOENV by default. A user-level GOROOT override can make the Go 1.25.5 binary invoke Go 1.26.1 tools, causing builds to fail with:

compile: version "go1.26.1" does not match go tool version "go1.25.5"

Disable user Go config in the dev shell, pin GOROOT to the Nix-provided Go toolchain, and force local toolchain use. This keeps go, GOROOT, GOTOOLDIR, and compile on the same pinned version during `nix develop --command ./dev-scripts/serve`.

Testing:
- nix develop --command ./dev-scripts/serve
- dev-scripts/git-hooks/pre-commit
- nix flake check

Suite timing

Time to Start Worker time Duration Time to finish
Config 1s 5s 5s 7s
Eval 7s 1m30s 1m30s 1m37s
Build 24s 6m47s 2m01s 2m26s
Suite 1s 8m23s 2m24s 2m26s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s1m50s2m2m10s2m20s