chore: migrate dev environment from Nix flake to mise#251
Merged
Conversation
Replace the Nix flake devShell with mise (mise.toml) for tool provisioning and treefmt (treefmt.toml) for formatting. Delete flake.nix, flake.lock, the Makefile, .envrc, and the devcontainer Dockerfile; CI, the format hook, the devcontainer, and the docs now drive everything through mise tasks (`mise run <task>` / `mise tasks`). Key details: - Tests run under LuaJIT with busted 2.2.0: the blocking-diff tools yield coroutines across pcall/C boundaries (which PUC Lua 5.1 forbids), and busted 2.3.0 changed test-execution behavior the suite depends on. PUC `lua` is kept only to provide LuaRocks, which builds the rocks targeting LuaJIT. - mise.lock pins resolved tool URLs/checksums (the integrity role flake.lock played); `mise run setup` builds busted/luacheck/luacov into ./.luarocks. - treefmt.toml replicates the former treefmt-nix formatter set (nixpkgs-fmt dropped since no .nix files remain). - Devcontainer regenerated via `mise generate devcontainer`. Change-Id: If27a12690d9d608e71dd534759eeecd6d8fd4cd2 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Thomas Kosiewski <tk@coder.com>
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
Migrates the development environment from the Nix flake devShell to mise (
mise.toml) for tool provisioning and treefmt (treefmt.toml) for formatting.flake.nix,flake.lock,Makefile,.envrc,.devcontainer/Dockerfilemise.toml,mise.lock,treefmt.tomlmise run <task>/mise tasks)Key decisions
attempt to yield across metamethod/C-call boundary); busted 2.3.0 also changed test-execution behavior the suite depends on. This matches what the oldluajitPackages.bustedprovided. PUCluais kept only to provide LuaRocks, which builds the rocks targeting LuaJIT (luarocks --lua-dir "$(mise where luajit)" --lua-version 5.1 …).mise.lockpins resolved tool URLs/checksums — the integrity roleflake.lockplayed.mise run setupbuilds busted/luacheck/luacov into./.luarocks(gitignored).treefmt.tomlreplicates the former treefmt-nix formatter set (stylua, prettier, shfmt, shellcheck, actionlint, zizmor);nixpkgs-fmtwas dropped since no.nixfiles remain.mise generate devcontainer(mise feature + a postCreate that installs build deps and runsmise install && mise run setup).reviewfixeris scoped to amise run reviewfixtask so normalmise install/CI don't fetch the beta binary.Verification
Locally (macOS):
mise install,mise run setup(clean rebuild),mise run check(0/0),mise run test(430/0/0 — parity with the old CI),mise run format-check(clean), and an integration test under mise's Neovim all pass. CI exercises the Linux path.🤖 Generated with Claude Code