statix
alejandra
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.
statix
-
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.
-
Chumsky, a parser combinator crate that makes writing error-tolerant parsers with recovery easy and fun!
I use the author's pretty error rendering crate: ariadne, in statix, and it is a delight. Comfy API, loads of customization opts, and very pretty.
- Statix — Lints and Suggestions for the Nix programming language
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.
What are some alternatives?
git-hooks.nix - Seamless integration of https://pre-commit.com git hooks with Nix.
nixpkgs-fmt - Nix code formatter for nixpkgs [maintainer=@zimbatm]
tao - A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc.
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
rust-overlay - Pure and reproducible nix overlay of binary distributed rust toolchains
pom - PEG parser combinators using operator overloading without macros.
dream2nix - Simplified nix packaging for various programming language ecosystems [maintainer=@DavHau]
ariadne - A fancy diagnostics & error reporting crate
crane - A Nix library for building cargo projects. Never build twice thanks to incremental artifact caching.
chumsky - Write expressive, high-performance parsers with ease.
lalrpop - LR(1) parser generator for Rust