build(nix): one tools-only flake at the repo root - #46
Open
Joibel wants to merge 1 commit into
Open
Conversation
This was referenced Jul 30, 2026
Three overlapping Nix setups (dev/nix's flake, devenv, and a separate one for the Java SDK) each described a slice of the toolchain, and the Makefile described it a fourth time in `go install` targets. Replace all of it with a single devShell at the repo root. The flake manages tools only — nothing here builds Argo, that stays `make build` — and splits them in two: anything whose version decides what generated code, lint results or test output look like is pinned with an explicit version and hash; environment tools float on nixpkgs stable. The Go toolchain is read from the `go` directive in go.mod, so there is no second place to keep it in sync, and the overlay builds it from source when nixpkgs lags. The Makefile becomes a task runner: every TOOL_* resolves from PATH and the install targets are gone, along with the USE_NIX switch that selected between them. `make tilt` and `make k3d` stay for now, because CI and the dev container do not use the shell yet. Deleted with the rest: gomod2nix (nothing builds Go derivations any more), node2nix, the rust-overlay nightly toolchain (snipdoc builds fine on stable rustPlatform), the `make k3d-up` side effect in the shell hook, and the gomod2nix.toml update workflow. The Java SDK now generates with the pinned OpenAPI Generator 5.2.1 from the shell rather than via Docker. Verified byte-identical output between that jar on JDK 21 and the upstream `openapitools/openapi-generator-cli:v5.2.1` image on JDK 8. markdownlint moves from a pinned 0.33.0 to nixpkgs' 0.48.0, which added MD059 and MD060; both are disabled since turning them on is a docs change, not a tooling one. The genuinely broken tables MD055 and MD056 found are fixed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UfBK3mQcTNEBEGpXu4hzCY Signed-off-by: Alan Clucas <alan@clucas.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #TODO
Motivation
Modifications
Verification
Documentation
AI
🤖 Generated with Claude Code
https://claude.ai/code/session_01H871PuNyYPzjmpUhXCRXGA