chore: Flox toolchain and Nix package for nix-darwin - #17
Merged
Conversation
Match go.mod without requiring contributors to install Go, git, gh, and make globally, and keep the module cache inside the environment.
packages.default builds on Linux and macOS. The in-repo Flox env stays a Go toolchain only. Quick start remains clone and make build; Nix is an optional alternative to copying the binary onto PATH.
mgreau
self-requested a review
August 28, 2026 14:32
mgreau
reviewed
Aug 28, 2026
flox build was taking catalog buildGoModule unpinned while the flake overrode it. Pin in zen.nix so both paths (and a later flox publish) share the same Go 1.25 builder.
mgreau
approved these changes
Aug 30, 2026
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.
Summary
Two optional, separate paths — you do not need both.
Develop (Flox). Flox is a per-project environment.
flox activatein this repo gives you the Go 1.25.7 toolchain plus git, gh, and make, without installing them globally. Module cache stays in the environment. This does not putzenon your system PATH. If you already have Go 1.25+, ignore Flox andmake build.Install (Nix). Nix is a package manager; a flake in this repo describes how to build
zenfor Linux and macOS.packages.defaultis a portablebuildGoModule(wrappedgit/gh). Put it on PATH however you already manage Nix software:environment.systemPackageshome.packagesenvironment.systemPackagesnix profile install github:mgreau/zenQuick start is still clone /
make build/mv zen ~/bin. Nix is an optional alternative to that copy, not a required dependency.zen setupstill writes~/.zen/config.yaml.The README flake URLs are
github:mgreau/zenand are only valid after this merges. Until then, Nix testers must use this fork, e.g.github:imkarrer/zen/chore/flox-toolchain-nix-package(orgithub:imkarrer/zenonce this lands on the fork’s default branch).nix profile install github:mgreau/zenwill not see this flake yet.Test plan
make buildwith Go 1.25+flox activate && make build && ./zen versionnix build github:imkarrer/zen/chore/flox-toolchain-nix-package→./result/bin/zen versiongithub:mgreau/zenfor pre-merge Nix install; that is the post-merge READMEzen setupstill writes~/.zen/config.yaml