Skip to content

chore: replace nix with mise - #284

Open
ethanndickson wants to merge 5 commits into
chore/bump-swift-depsfrom
chore/mise
Open

ethanndickson wants to merge 5 commits into
chore/bump-swift-depsfrom
chore/mise

Conversation

@ethanndickson

@ethanndickson ethanndickson commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Relates to #280 (comment)

This replaces our Nix flake with a mise.toml and mise.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 (unsetting SDKROOT and DEVELOPER_DIR, and stripping the Nix xcrun from PATH) so the runner's Xcode would get used. mise just puts prebuilt binaries on the PATH, and the lockfile pins the download URL and checksum of each one for both macOS architectures. CI now installs them via jdx/mise-action, which installs with --locked when a mise.lock is present.

The tool versions match what #280 bumps nixpkgs to. I've dropped clang, coreutils, git, xcpretty and the Apple SDK, as we either don't use them or macOS already provides them. gh is gone too, as we only use it in CI and the GitHub runner images already ship it, which is what coder/coder relies on. GNU make is 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 to CONTRIBUTING.md if 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 protoc and the v1 protoc-gen-grpc-swift plugin, which mise would otherwise have needed to install.

@ethanndickson
ethanndickson added this pull request to stack #282 November 2, 2026 06:24
Comment thread mise.toml Resolved
@ethanndickson
ethanndickson force-pushed the chore/mise branch 2 times, most recently from c3c83ae to 4910ecb Compare November 9, 2026 05:58
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
ethanndickson marked this pull request as ready for review November 10, 2026 03:30
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-10T03:33:27.021540Z c82d0d4 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants