rnix Crates.io

rnix is a Nix parser written in Rust.

This can be used to manipulate the Nix AST and can for example be used for:

and a lot more!

rnix ...

Demo

Examples can be found in the examples/ directory.

You may also want to see nix-explorer: An example that highlights AST nodes in valid Nix code. This demonstrates how span information is preserved.

Unimplemented

I have implemented everything I can think of. Most, if not all of these, are tested inside the tests/ directory. If some kind of syntax isn't tested there, you should report it as unimplemented.