feat(nix): added package definitions and development environment#96
Conversation
m3nu
left a comment
There was a problem hiding this comment.
Thanks for putting this together — the overall Nix structure is solid. Crane, shared deps in .nix/common.nix, pre-fetched Skia binaries — all good choices. A few things I'd like addressed before merging:
Root directory clutter
.envrc— please remove. This is a personal direnv workflow file, not a project requirement. Thedotenv_if_exists .envline is also unrelated to Nix. Happy to mentionuse flakein CONTRIBUTING docs instead, but it shouldn't be committed.shell.nix— also prefer to remove. Thebuiltins.getFlakeshim is impure and won't work withnix-shell --pure. Anyone on flakes already hasnix develop.flake.nix+flake.lockat root are fine — understood that's a hard flake requirement.
Technical questions
- No
x86_64-darwinineachSystem— intentional? The CLI and server packages don't need Skia, so Intel Mac support would be cheap to add. pkgs.lib.maintainers.sntxin package meta — is this entry in nixpkgs? If not, evaluation will fail.curlandcacertin GUInativeBuildInputs— sinceSKIA_BINARIES_URLusesfile://, are these actually needed? If so, does the build still try to fetch something (which would break the sandbox)?- Skia binary version coupling — the pinned
0.90.0matches current Cargo.lock, but everyskia-bindingsbump will require updating 3 URLs + hashes. Could you add a comment inflake.nixdocumenting the update procedure?
|
I'll address the issues as follows:
Do you want seperate commits, or everything squashed? |
|
Thanks for the detailed response. Agreeing on most points:
Two things that still need attention:
Re commits: either squashed or individual is fine — I can squash on merge. |
|
The commits should've resolved all outstanding issues. I have confirmed the build working for all (x86_64-linux - since that's what I can test) outputs, including the gui app. Are we ready to merge? |
|
Thanks for the changes and patience! Merged! Thanks for the contribution! |
This PR adds nix files as described in #95 .
CLOSES #95