crate2nix
rebuild only changed crates in CI with crate2nix and nix (by nix-community)
nix-templates
Nix Flake templates for various languages (by serokell)
Our great sponsors
crate2nix | nix-templates | |
---|---|---|
10 | 8 | |
317 | 42 | |
3.2% | - | |
9.3 | 4.0 | |
5 days ago | 26 days ago | |
Nix | Nix | |
Apache License 2.0 | - |
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.
crate2nix
Posts with mentions or reviews of crate2nix.
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
-
How to package a Rust app using Nix
I'll use nixpkgs' buildRustPackage. There's a few other tools, my favorite being crate2nix, but we'll leave that to a future tutorial.
-
Nix shell related questions (for rust)
If you want to iterate with nix instead of cargo, crate2nix and cargo2nix provides more caching and more fine control over your dependencies. I haven't used these two so you would have to decide for yourself. You may also want to try out nocargo for something more experimental.
-
Introducing Crane: Composable and Cacheable Builds with Cargo and Nix
I'm yet to try it out, but from the blog post, the README and the source it appears that Crane builds all dependencies in one derivation (separately from the main crate). This means that if a dependency gets added, removed or changed, all dependencies of a crate will be rebuilt. This is in contrast with https://github.com/kolloch/crate2nix, which does build every dependency in a separate package, thus you don't need to rebuild other dependencies if you only change a small part of the tree.
-
Nixery – Docker images on the fly with Nix
Yes, you will have to package it if it's not already in nixpkgs.
The good news is once you learn how, it's basically trivial with crate2nix[0], which can autogenerate nix derivations from rust crates
[0] https://github.com/kolloch/crate2nix
-
Help with Nix and Rust
From my quick reading of cargo2nix's webpage yes. https://github.com/kolloch/crate2nix has a workspaces section.
-
How do you install packages not in Nixpkgs?
As for your two applications, they're both written in Rust, and I like https://github.com/kolloch/crate2nix as a way to package Rust crates with Nix. BTW, wezterm is already in nixpkgs!
-
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).
-
How to do a full, reproducible archive of a Rust project?
Crate2nix might help: https://github.com/kolloch/crate2nix
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 crate2nix 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
cargo2nix - Granular builds of Rust projects for Nix
rust-nix-template - Rust project template with Nix (Flakes) and VSCode support
rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains
crates.io-index - Registry index for crates.io
haskell-nix - Nix and Haskell in production
nixos - My NixOS Configurations
himalaya - CLI to manage emails
crate2nix vs naersk
nix-templates vs templates
crate2nix vs cargo2nix
nix-templates vs cargo2nix
crate2nix vs rust-nix-template
nix-templates vs rust-overlay
crate2nix vs crates.io-index
nix-templates vs haskell-nix
crate2nix vs nixos
nix-templates vs himalaya
crate2nix vs rust-overlay
nix-templates vs naersk