On 2023-11-25 11:22:46 -0500, Abdullah Imad wrote: > Hello, > > > I'm trying to package [helix](https://github.com/helix-editor/helix), a text > editor written in rust. I'm unsure how to write the actual package though. > The layout is seemingly straight forward - I found a random rust package > already in guixpkgs and just copied the config - but when it comes to > `cargo-inputs` and `cargo-development-inputs`, I'm not sure what to do. Do I > have to define every single variable in `cargo.lock`? For bigger projects > this seems like an incredible amount of work. Why does the guix system > require packages to be pulled from guix repos when nix just reads the > `cargo.lock` and pulls it from crates.io or something? Is that not also > deterministic, since that's the entire point of the `cargo.lock` file? In > the flake that helix provides : > https://github.com/helix-editor/helix/blob/master/flake.nix , the individual > dependencies are not defined. Am I missing something, or is this just how > its done? I think people usually use the importer. For crates it would be something like: guix import crate -r PACKAGE-NAME That will take care of adding all dependencies not yet present in the Guix. The generated definitions might need some tweaks though. > > > Thanks, > > Abdullah Imad > > Have a nice day, Tomas -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.