mirror of
https://github.com/cloudflare/vinext.git
synced 2026-05-09 00:09:23 +02:00
[PR #238] [MERGED] feat: add Nix flake for reproducible dev environment #410
Labels
No labels
enhancement
enhancement
good first issue
help wanted
nextjs-tracking
nextjs-tracking
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/vinext#410
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/cloudflare/vinext/pull/238
Author: @peri-Bot
Created: 3/3/2026
Status: ✅ Merged
Merged: 3/4/2026
Merged by: @southpolesteve
Base:
main← Head:feat/nix-flake📝 Commits (3)
4c83933feat: add Nix flake for reproducible dev environment629ae4cfix: use corepack for exact pnpm version pinning9332118chore: address review feedback on Nix dev shell📊 Changes
6 files changed (+193 additions, -0 deletions)
View changed files
➕
.envrc(+1 -0)📝
.gitignore(+6 -0)➕
flake.lock(+78 -0)➕
flake.nix(+32 -0)➕
nix/devShell.nix(+68 -0)➕
shell.nix(+8 -0)📄 Description
This PR introduces Nix to provide a fully deterministic, reproducible development environment.
Given the heavy reliance on Playwright for E2E testing and the AI-driven nature of this project, ensuring a flawless local environment is critical. This setup guarantees that human contributors and AI agents alike have the exact same Node versions, native dependencies, and Playwright binaries out-of-the-box, eliminating "works on my machine" (or "works for the AI agent") environment drift.
Note: This PR is purely additive. No existing files,
package.jsonscripts, or GitHub CI workflows have been modified. Contributors who do not use Nix can continue using their standard local setups without interruption.What's included
flake.nix&nix/devShell.nix: Runningnix developprovisions an isolated shell with exact versions of Node.js 24,pnpm,oxlint, the GitHub CLI (gh), and all system dependencies required for Playwright.nix/checks.nix: Runningnix flake checkexecutes the linting, typechecking, and test suites hermetically, ensuring consistent feedback.shell.nix&.envrc: Provides backward compatibility for older Nix installations and seamless integration withdirenv(auto-loading the environment upon entering the directory).How to use (for reviewers)
If you have Nix installed:
nix develop(ordirenv allowif using direnv).pnpm installandpnpm test:e2eas usual—Playwright tests will run flawlessly without requiring manual browser/system library installations.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.