crate2nix VS nixos

Compare crate2nix vs nixos and see what are their differences.

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 nixos
10 19
317 159
3.2% -
9.4 9.3
8 days ago 9 days ago
Nix Nix
Apache License 2.0 GNU General Public License v3.0 only
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

nixos

Posts with mentions or reviews of nixos. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-16.
  • miasma
    6 projects | /r/neovim | 16 Jun 2023
    I don't know. Have been using colorbuddy for ages now and it has always done exactly what I want. I don't need the "instant reaload" that lush advertices, doing :source on the colorscheme file, does the same for me to preview changes instantly. This is my theme, in case you need something to start with: - https://github.com/pinpox/nixos/blob/main/home-manager/modules/nvim/lua/config/pinpox-colors.lua
  • Looking for a transfer tool for command line
    4 projects | /r/commandline | 22 Aug 2022
    I use this to serve a directory temporarily.
  • Bluetooth headphones problem
    2 projects | /r/NixOS | 8 Jun 2022
    I can't remember why I put that workaround in there, might not be needed any more. The above config is part of my dotfiles, I use my Bose blueutooth headphones by connecting them via the blueman-applet if the don't pair automatically
  • Building GTK Theme in Overlay (Sass not found)
    1 project | /r/NixOS | 17 Mar 2022
  • Including third party flakes in a NixOS (or Home Manager) configuration flake
    1 project | /r/NixOS | 7 Dec 2021
    Here is an example from my config : I'm using an external flake called "matrix-hook", which is a little tool I wrote and have put in a separate flake. It get's included here. I am then passing self to each of the nixosConfigurations here, this allows me to import the module from the external flake in the configuration.nix of the host where I want to use it.
  • NixOS for selfhosting?
    4 projects | /r/NixOS | 22 Sep 2021
    Yep, I have two different modules with defaults for server and for desktop. Host-specific settings are set in the according /machines//configuration.nix file. Most stuff is modularized into modules that can be reuesed and enabled at will.
  • Nix-rice: rice your system with nix
    3 projects | /r/NixOS | 15 Sep 2021
    Yep, I'm using the toJSON function already. The problem I had, was that not all applications use JSON as configuration format. Also the nix code gets very long, if you have to write the whole template as a string, which I find quite unreadable. Mustache is a pretty simple frequently used templating language, here is an example template that get's rendered by the nix code above.
  • Ricing with NixOS?
    10 projects | /r/NixOS | 15 Sep 2021
    My system uses a uniform colorscheme defined here. Configs for all applications I use read that and use the same colors. The wallpapers are randomly generated by a tool I wrote, it also automatically matches the colorscheme. Icons and symbols are colored the same way for awesomeWM.
  • My neovim config with a colorscheme created with nix
    4 projects | /r/neovim | 24 Aug 2021
    In case you are interested I use this and this to generate colorschemes, awesome config and a matching wallpaper
  • Dumping Tmux
    3 projects | /r/i3wm | 7 Jul 2021
    Check out wezterm it has replaced tmux for me. Very active development, fast and just the right amount of features for my taste. It is configured in Lua, so if you are doing that for neovim already, it's another plus. I use it in combination with awesomeWM. My (not very special) config is here if you need something to start with.

What are some alternatives?

When comparing crate2nix and nixos you can also consider the following projects:

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

eww - ElKowars wacky widgets

cargo2nix - Granular builds of Rust projects for Nix

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

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

wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

crates.io-index - Registry index for crates.io

nix-doom-emacs - doom-emacs packaged for Nix

nix-templates - Nix Flake templates for various languages

nixpkgs - Nix Packages collection & NixOS

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

digga - A flake utility library to craft shell-, home-, and hosts- environments.