statix
git-hooks.nix
statix | git-hooks.nix | |
---|---|---|
3 | 6 | |
502 | 444 | |
- | 2.9% | |
4.1 | 9.2 | |
3 months ago | 8 days ago | |
Rust | Nix | |
MIT License | Apache License 2.0 |
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
git-hooks.nix
-
Fast, Declarative, Reproduble and Composable Developer Environments Using Nix
> Good luck getting answers on those questions other than "read the source code" and then followed by "no, not that source code, this branch here".
I experienced a similar situation last week with git-hooks.nix[1], a pre-commit integration for Nix.
I wanted to run biome[2] checks on my repository during pre-push so I wrote a custom hook because git-hooks.nix has pre-defined integrations with prettier and rome, but not biome.
Or that's what I thought. I eventually found out that the rome hook is actually referred as "rome" everywhere but calls biome instead[3]. This wasn't documented anywhere, so I opened an issue[4] suggesting to rename the hook to "biome" and keep the former for backwards compatibility reasons.
As of today, this has been acknowledged by one of the maintainers, whose sole feedback has been to "thumb down" the issue.
TL;DR: It's not just the documentation, but also the code not doing what you would expect. It also seems there's no means to improve the situation other than just forking the project since there's also clearly some kind of communication problem.
[1] https://github.com/cachix/git-hooks.nix
-
Any good alternative to husky in rust to enforce and write conventional commits and for pre-commit source code linting??
Anyone who already uses Nix and Flakes can use this integration. Anyone who doesn't use Nix can just ignore me, because I'm not here to try converting unconvinced folks.
-
Plugin devs: type check your lua plugins with lua-language-server and EmmyLua (GitHub action)
I don't think it does. I might look into implementimg it though, because I use pre-commit-hooks.nix in my own projects' CI.
-
Pre-commit: framework for managing/maintaining multi-language pre-commit hooks
> My least favourite bug is that it doesn't always play nicely with NixOS [1], and the maintainer locked me out of the issue for pointing it out.
Oof. Does this solve the problem https://github.com/cachix/pre-commit-hooks.nix (using Nix to manage dependencies)?
I was looking at pre-commit the other day, and wanted to incorporate it into the Nix setup of my projects.
-
y|sndr - Hooking up with Git - A nix managed solution to git hook management
Was it not possible to use something like this? https://github.com/cachix/pre-commit-hooks.nix
-
Statix — Lints and Suggestions for the Nix programming language
Maybe consider adding this to https://github.com/cachix/pre-commit-hooks.nix once you feel it's mature enough.
What are some alternatives?
tao - A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc.
pip-audit - Audits Python environments, requirements files and dependency trees for known security vulnerabilities, and can automatically fix them
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
husky - Git hooks made easy 🐶 woof!
pom - PEG parser combinators using operator overloading without macros.
ariadne - A fancy diagnostics & error reporting crate
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
chumsky - Write expressive, high-performance parsers with ease.
setup-dvc - DVC GitHub action
lalrpop - LR(1) parser generator for Rust
nixpkgs - Nix Packages collection & NixOS