alejandra
crane
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.
alejandra
-
How to use Alejandra as Nix formmater
I hope someone using lazy.nvim, has a setup they can share, where they are using alejandra as their nix formmater. I've read the instruction, but can't get it to work other than using the manual command. Hoping to integrate it into the LSP automatically.
-
Packaging / publishing software best practices?
Flakes are best imported from other flakes, but if your system configuration isn’t a flake, you can use builtins.getFlake to load it, like (builtins.getFlake "git+https://github.com/kamadorueda/alejandra?rev=d00d03f0b45d2d1d6e0ae2d110c821b497d8fb09").packages.x86_64-linux.default gives you the alejandra package.
-
Editor support for the nix language?
As others have mentioned, there are a couple of LSP implementations. There's also statix for basic static analysis, as well as a few formatters, including nixpkgs-fmt and alejandra.
crane
- Can rustc generate identical binaries, with the same hash, from the same souce code?
- Transitioning to Rust as a company
-
Help with building a 32bit library with cargo
i would also recommend using crane or naersk since iirc rustPlaform.buildRustPackage can mangle some of these options (or maybe i just did something wrong lol)
-
Better support of Docker layer caching in Cargo
Notably crane is doing what cargo-chef is doing for Nix.
-
20 Years of Nix
I don't think it's very valid to compare the two. It is a little bit just to compare the experiences using them bit they aren't meant to solve the same set of issues. In fact, they are better together in my experience. I use nix to manage my terraform configurations with a lot of success. It reduces my boilerplate and helps me build abstractions on top of HCL.
If you ever decide to take a stab at nix again, consider looking at https://github.com/ipetkov/crane and using flakes. I've got it down to the point that I can get a new rust project set up with nix in about 30 seconds with linting, package building, and test running all in the checks
-
Has anyone packaged Rust programs as nix packages?
Take a look at Crane, though it is squarely aimed at non-beginners. If you want to submit whatever you're packaging to nixpkgs and not just for personal use, you can't use crane, though.
-
Crafting container images without Dockerfiles
To get Rust incremental builds, did you consider using something such as crane https://github.com/ipetkov/crane ?
And regarding OCI images, i built nix2container (https://github.com/nlewo/nix2container) to speed up image build and push times.
-
How to setup devShell for rust development with bevy?
This is the relevant part of my flake (which uses the quick-start template of crane):
-
yarnpnp2nix: More efficient way of packaging NodeJS applications
I imagine/hope you've seen this, but over in Rust-land I do something similar using https://github.com/ipetkov/crane. I've been on the lookout for something precisely like this for a while. I don't know much about the newer versions of yarn but imagined such a thing was possible. I am looking forward to trying this out, especially if the above is eventually addressed.
-
Perfect Docker Images for Rust with Nix
If you haven't already, I recommend checking out crane for building extensible workflows using cargo and Nix (e.g. running clippy, cargo-audit, cargo-nextest, cargo-tarpaulin, etc.)
What are some alternatives?
nixpkgs-fmt - Nix code formatter for nixpkgs [maintainer=@zimbatm]
naersk - Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
statix - lints and suggestions for the nix programming language
api - 🎭 API
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
yarnpnp2nix - A performance focused and space efficient way of packaging NodeJS applications with Nix
rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains
cargo-auditable - Make production Rust binaries auditable
dream2nix - Simplified nix packaging for various programming language ecosystems [maintainer=@DavHau]
rustshop - Rust Shop is a fake cloud-based software company that you can fork.
crate2nix - rebuild only changed crates in CI with crate2nix and nix