Repository navigation
chore: replace nix with mise - #284
Draft
ethanndickson wants to merge 5 commits into
Draft
ethanndickson wants to merge 5 commits into
ethanndickson wants to merge 5 commits into
Conversation
matifali
reviewed
Nov 2, 2026
The Nix devshell exported out, and the release job used it for the build output, the artifact upload, the release upload and the appcast signature. mise does not export it, so the job now sets it.
Add the mise trust step to CONTRIBUTING.md, fail early on GNU Make older than 3.82, and drop leftover Nix and direnv references.
ethanndickson
force-pushed
the
chore/mise
branch
from
November 2, 2026 08:13
b4173ba to
86d5038
Compare
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.
Relates to #280 (comment)
This replaces our Nix flake with a
mise.tomlandmise.lock. We only ever used Nix to install a handful of CLI tools, and in CI we had to undo part of what the devshell set up (unsettingSDKROOTandDEVELOPER_DIR, and stripping the NixxcrunfromPATH) so the runner's Xcode would get used. mise just puts prebuilt binaries on thePATH, and the lockfile pins the download URL and checksum of each one for both macOS architectures. CI now installs them viajdx/mise-action, which installs with--lockedwhen amise.lockis present.The tool versions match what #280 bumps nixpkgs to. I've dropped
clang,coreutils,git,xcprettyand the Apple SDK, as we either don't use them or macOS already provides them.ghis gone too, as we only use it in CI and the GitHub runner images already ship it, which is what coder/coder relies on. GNUmakeis still installed (from conda-forge), as the Makefile relies on.SHELLFLAGS, which needs Make 3.82+, and macOS still ships 3.81. The Makefile now fails early with a pointer toCONTRIBUTING.mdif it's run with an older Make.The devshell also exported
out, which the release workflow builds into and uploads from, so the release job now sets it itself.I've put this on top of the stack, as #280 removes
protocand the v1protoc-gen-grpc-swiftplugin, which mise would otherwise have needed to install.