crate2nix VS crates.io-index

Compare crate2nix vs crates.io-index and see what are their differences.

crate2nix

rebuild only changed crates in CI with crate2nix and nix (by nix-community)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
crate2nix crates.io-index
10 39
317 536
2.8% 2.4%
9.4 10.0
3 days ago about 16 hours ago
Nix Shell
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.

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
    8 projects | /r/rust | 2 Jun 2023
  • How to package a Rust app using Nix
    1 project | dev.to | 6 Jan 2023
    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)
    5 projects | /r/NixOS | 24 Dec 2022
    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
    3 projects | /r/rust | 8 May 2022
    2 projects | /r/NixOS | 22 Jan 2022
    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
    8 projects | news.ycombinator.com | 18 Apr 2022
    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
    1 project | /r/rust | 16 Jul 2021
    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?
    5 projects | /r/NixOS | 15 Apr 2021
    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
    12 projects | /r/rust | 7 Apr 2021
    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?
    3 projects | /r/rust | 8 Jan 2021
    Crate2nix might help: https://github.com/kolloch/crate2nix

crates.io-index

Posts with mentions or reviews of crates.io-index. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-21.
  • Google open-sources Rust crate audits
    1 project | news.ycombinator.com | 23 May 2023
    That's already prevented by the checksum which is present for all crate versions in the registry index, which is set in stone on publish and verified by cargo on download. See e.g. https://github.com/rust-lang/crates.io-index/blob/74f1b1e064...
  • Hey Rustaceans! Got a question? Ask here (21/2023)!
    8 projects | /r/rust | 21 May 2023
    Why is the crates.io registry Git repository structured the way it is? https://github.com/rust-lang/crates.io-index
  • Rust Offline?
    9 projects | /r/rust | 4 May 2023
    # $HOME/.cargo/config.toml [...] [registry] default = "gitea" [registries.crates] index = "https://github.com/rust-lang/crates.io-index.git" [registries.gitea] index = "https://gitea.localhost.local/user/_cargo-index.get" [...]
  • Hey Rustaceans! Got a question? Ask here (18/2023)!
    5 projects | /r/rust | 2 May 2023
    [[package]] name = "cbindgen" version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6358dedf60f4d9b8db43ad187391afe959746101346fe51bb978126bec61dfb" dependencies = [ "clap 3.2.23", "heck", "indexmap", "log", "proc-macro2", "quote", "serde", "serde_json", "syn 1.0.109", "tempfile", "toml 0.5.11", ]
  • How to list upgradable crates programmatically
    3 projects | /r/rust | 13 Apr 2023
    $ cargo upgrade --dry-run --compatible ignore --incompatible allow --pinned ignore --verbose 2>&1 Updating 'https://github.com/rust-lang/crates.io-index' index Checking foo's dependencies name old req compatible latest new req note ==== ======= ========== ====== ======= ==== axum 0.6.11 0.6.15 0.6.15 0.6.11 compatible base64 0.20.0 0.20.0 0.21.0 0.21.0 ...
  • Failing to download crates because can reach github repo. Am i only one?
    1 project | /r/rust | 3 Apr 2023
    I am getting: spurious network error (2 tries remaining): unexpected http status code: 503; class=Http Caused by: failed to fetch https://github.com/rust-lang/crates.io-index
  • Advanced crates.io search
    1 project | /r/rust | 26 Mar 2023
    https://github.com/rust-lang/crates.io-index contains the entire crates.io index with the names of all crates and their dependencies. grep or ripgrep over that should do the job.
  • Hey Rustaceans! Got a question? Ask here (12/2023)!
    14 projects | /r/rust | 20 Mar 2023
    [[package]] name = "spade" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1190e0e8f4eb17fc3dbb2d20e1142676e56aaac3daede39f64a3302d687b80f3" dependencies = [ "num-traits", "optional", "robust 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec", ]
  • Extremely slow cargo dependency fetching
    1 project | /r/learnrust | 8 Mar 2023
    Caused by: process didn't exit successfully: git fetch --force --update-head-ok 'https://github.com/rust-lang/crates.io-index' '+HEAD:refs/remotes/origin/HEAD' (exit status: 128) --- stderr error: 2747 bytes of body are still expected fetch-pack: unexpected disconnect while reading sideband packet fatal: early EOF fatal: fetch-pack: invalid index-pack output
  • Last uploaded crates
    2 projects | /r/rust | 28 Feb 2023

What are some alternatives?

When comparing crate2nix and crates.io-index you can also consider the following projects:

naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.

cargo-outdated - A cargo subcommand for displaying when Rust dependencies are out of date

cargo2nix - Granular builds of Rust projects for Nix

quick-xml - Rust high performance xml reader and writer

rust-nix-template - Rust project template with Nix (Flakes) and VSCode support

cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.

nix-templates - Nix Flake templates for various languages

buildx - Docker CLI plugin for extended build capabilities with BuildKit

nixos - My NixOS Configurations

cargo-msrv - 🦀 Find the minimum supported Rust version (MSRV) for your project

rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains

cargo-deny - ❌ Cargo plugin for linting your dependencies 🦀