Conversation
|
Not sure what happened, but now I can only build it via |
|
@MrFoxPro this looks promising. Can I take over this effort (including #1160), as I also need a dev shell with appropriate tooling? In my opinion, this PR is good as it is, I would only split the crane modules up a bit, so downstream flakes don't need to run all of the tests (and thus don't need the git submodule). |
for sure, you can push your changes if you're maintainer |
|
I think this has been superceded by #1160 . Going to close. |
|
This flake also contains derivations for building edgedb-cli itself, not just a shell for development. Although, I'm planning to adapt PR to edgedb/nix-packages, so it can remain closed. |
I was struggling to update nixpkgs's edgedb package, so I decied to nixify this repo instead.
Why you could consider to use Nix:
Right now it's already possible to build edgedb-cli package via
nix build .?submodules=1. Result binary will be located in./result/bin/edgedbCurrent limitations:
?submodules=1to handle this. For using in consumer flake.nix, following syntax is required:Related PR: NixOS/nix#7862
I also created draft PR with developer environment setup with edgedb-server (#1160). Related: NixOS/nixpkgs#179635 (comment)
Current used Nix libs:
flake-parts: framework for convinient cross-platform flake shape: https://flake.parts. Allows splitting flake to modules, also provides opportunity to confiure some usefull tools declaratively
fenix: convinient rust toolchain managment: https://github.com/nix-community/fenix. Allows creating single package from multiple toolchains (cargo, rustc, rustc-src, rustfmt, rust-analyzer, clippy and so on)
crane: https://crane.dev. Usefull tool for effecient building of Rust project. Caches cargo artifacts.
I think it would be nice to configure integration with cachix later, so users will download cached result instead of rebuilding themselfs