chore(nix): use mkShellNoCC and update flake inputs#98
Merged
Conversation
Switch from mkShell to mkShellNoCC since this development environment only uses Python and Node.js tools. The C compiler (stdenv) is not needed, resulting in fewer dependencies and faster shell activation.
e806632 to
c7c5671
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request simplifies the Nix development environment by removing the complex uv2nix-based Python environment management in favor of a lighter approach using mkShellNoCC and letting uv handle Python dependencies directly. It also updates all flake inputs to their latest versions.
Changes:
- Switched from
mkShelltomkShellNoCCfor the development shell, removing C compiler dependencies - Removed uv2nix, pyproject-nix, and pyproject-build-systems flake inputs and their associated Python version-specific virtual environments
- Updated CI workflow to add explicit dependency installation steps and simplified caching strategy
Reviewed changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| flake.nix | Removed uv2nix integration, switched to mkShellNoCC, simplified devShell configuration to use uv directly |
| flake.lock | Updated all flake inputs to latest versions, removed uv2nix-related dependencies |
| justfile | Removed dynamic _run helper, hardcoded uv run commands, removed lint-fix alias |
| .github/workflows/ci.yaml | Updated Python version matrix format, added explicit dependency installation steps, removed Python version from dev shell invocations |
| .github/actions/setup-nix/action.yaml | Removed python-version input, switched from cache-nix-action to cachix-action for caching |
Comments suppressed due to low confidence (1)
flake.nix:118
- The condition compares uv.lock (a file) with .venv (a directory) using the -nt (newer than) operator. The -nt operator is meant to compare modification times of files. When comparing a file to a directory, the behavior may be unexpected - it compares against the directory's metadata modification time, not the modification time of its contents.
Consider checking against a specific file within .venv that gets updated when dependencies are installed, such as .venv/pyvenv.cfg or .venv/.complete (a marker file you create after successful installation).
if [ ! -d .venv ] || [ uv.lock -nt .venv ]; then
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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
mkShelltomkShellNoCCfor lighter devShell (no C compiler needed)Test plan
nix developand verify the shell works correctlySummary by cubic
Switch to a lighter Nix dev shell by replacing mkShell with mkShellNoCC, reducing dependencies and speeding up shell activation.
Written for commit c7c5671. Summary will update on new commits.