Add nix flake#1024
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds Nix flake support for building/running Graphify (via uv2nix) and documents Nix usage as an alternative installation path.
Changes:
- Introduce
flake.nixdefining devShell, default package, and default app forgraphify - Document Nix installation and usage in
README.md - Update
.gitignoreto ignore Nix buildresultoutput
Reviewed changes
Copilot reviewed 2 out of 5 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| flake.nix | Adds a Nix flake to build/run Graphify and provide a dev shell via uv2nix. |
| README.md | Documents Nix as an alternative install/run option and provides example flake usage. |
| .gitignore | Ignores Nix result symlink/output to avoid accidental commits. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
safishamsi
left a comment
There was a problem hiding this comment.
Nice addition — the flake design is idiomatic and the numba/nuitka overrides are the right call. Three things before merge: (1) typo in flake.nix description: graaphify; (2) the README NixOS snippet is broken — ${system} is undefined in that scope and environment.systemPackages can't be set at the top level of outputs, which will confuse users; (3) no CI job for nix flake check or nix build .#default, so the flake can silently break on dependency updates. Could you fix those and open a fresh PR against v8?
tests were breaking if the target had a `.` somewhere in global path higher than project directory
f076e60 to
3f68676
Compare
|
just pushed an update here. Adding the ci job became a little bit of a side-quest, some of the existing tests were misbehaving when running in a sandbox, so I did a few touches to fix that. Running If needed, one can still run pytest through the devshell via |
This pull request adds native Nix flake support for the project, making it easier for users to install and use
graphifyvia the Nix package manager. The main changes include introducing aflake.nixfile to define the Nix build, updating the documentation to describe Nix-based installation methods, and listing Nix as an alternative installation option.Preparatory work
We require a checked-in
uv.lockto be able to make reproducible builds, so the first commit adds it and removes it from .gitignoreNix flake integration and documentation updates:
flake.nixfile that defines how to build and packagegraphifyusing Nix flakes, including support for development shells and direct execution as a Nix flake app.README.mdto list Nix as an alternative installation method alongside pipx and uv, and provided instructions for running or packaginggraphifyusing Nix flakes.