cargo2nix
Granular builds of Rust projects for Nix (by cargo2nix)
nix-templates
Nix Flake templates for various languages (by serokell)
Our great sponsors
cargo2nix | nix-templates | |
---|---|---|
12 | 8 | |
325 | 42 | |
11.1% | - | |
6.7 | 4.0 | |
13 days ago | 26 days ago | |
Nix | Nix | |
MIT License | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cargo2nix
Posts with mentions or reviews of cargo2nix.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-02.
- Transitioning to Rust as a company
-
Way to get NVM working in CI/CD systems
- Rust projects are built with https://github.com/cargo2nix/cargo2nix. We chose cargo2nix to get incremental builds, meaning that dependency builds can be shared between our Rust projects and that not all dependencies have to be rebuilt when adding/updating/removing dependencies from a project.
-
[Blog post]: Scaling Rust builds with Bazel
We used cargo2nix to generate top-level Cargo.nix file that we committed to the repository (we didn't allow generating nix files on CI for security and reproducibility reasons).
-
Nix & Rust - cargo2nix 0.11.0 released
There's a cross compile example that works for at least 3-4 targets on Linux and uses proc macros. Pretty sure the situation you described is no more complex.
-
Rust nix develop & nix build - cargo2nix 0.11.0 released
Release notes. Last announced release was 0.9.0.
- Nix and NixOS Get So Close to Perfect
-
How Go Mitigates Supply Chain Attacks
Nix already solves this problem and can handle dependencies and building projects across a range of languages (including Rust via Cargo2nix) and reproducible machine configuration.
- From nix-shell to nix develop
-
Is using crates more safe than using npm?
Building with nix, for instance with cargo2nix (https://github.com/cargo2nix/cargo2nix), could be safer if sandboxing is enabled.
-
Nix-ifying a Rust project
cargo2nix
nix-templates
Posts with mentions or reviews of nix-templates.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-29.
-
How to add a haskell flake as the dependency for another haskell flake?
} I tried adding vox-hs = vox-hs-in.defaultPackage.${system} `` wherecallCabal2nixis called. This flake is taken from the [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) article which mentions this is where dependency overrides go. I have also trued adding my package as an overlay when definingpkgs`, but couldn't get this to work either. Whats the best method for a haskell flake to depend on another haskell flake? Thanks!
- Nix Flakes
-
Migrating from Void Linux to NixOS, dotfiles and home manager!
Here's one intro guide to Flakes by Nix's creator Dolstra. Here's another good intro tutorial. Note that that last one also has our answer to wtf legacyPackages is:
-
what's the recommended setup?
This guide is what I use and it works well. Direnv is great and has integration with emacs if that’s your editor.
-
How should dependencies be specified for the Haskell C FFI with callCabal2Nix?
I've previously just used Stack's Nix support for simple builds; now I'm tyring to get up and running packaging a Haskell application (that uses the C FFI) as a Flake. I'm working from this base (borrowed from https://serokell.io/blog/practical-nix-flakes):
- Big list of Flakes tutorials
-
Nix-ifying a Rust project
I like the way crate2nix works. I have made a flake template for it here. Sometimes it requires a couple of overrides to fix some misbehaving crates (see https://github.com/balsoft/simple-osd-daemons/blob/master/flake.nix#L29 for an example of such overrides), but otherwise it's fantastic. It doesn't require any hash nonsense, it downloads and builds all the crates separately (unlike naersk or other solutions) so you get all the benefits of Nix (reproducibility and proper caching).
What are some alternatives?
When comparing cargo2nix and nix-templates you can also consider the following projects:
naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
templates - Flake templates
rust-nix-template - Rust project template with Nix (Flakes) and VSCode support
crate2nix - rebuild only changed crates in CI with crate2nix and nix
rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains
haskell-nix - Nix and Haskell in production
Cargo - The Rust package manager
himalaya - CLI to manage emails
watt - Runtime for executing procedural macros as WebAssembly