noogle/pasta
Johannes Kirschbauer 2ebe83c06b add pkgs.testers
2024-03-04 13:32:13 +00:00
..
src add pkgs.testers 2024-03-04 13:32:13 +00:00
.envrc pesto - read doc-comments from postions: init 2023-11-23 14:34:12 +01:00
default.nix add experimental builtins inherited by flake & commands features 2024-03-01 13:33:59 +00:00
flake-module.nix fix spontenous segfault by switching to pkgs.nix#nix 2024-03-01 12:03:49 +00:00
README.md pasta - nixpkgs evaluation analysis: init 2023-11-23 14:10:07 +01:00
shell.nix pasta - nixpkgs evaluation analysis: init 2023-11-23 14:10:07 +01:00

Dough -> Pasta

We have to make our pasta from the Nixpkgs raw dough.

Analyse arbitrary nix expressions.

Contains tools, such as nix functions, that allow us to introspect the nix language.

Evaluating expressions and their metadata allows for precise documentation building

Evaluation requires a custom nix version available via devShell '.#pastaMaker'

Analyses a given path in the expression tree.

  • Recursive tool, that works well with e.g., pkgs.lib or other sets that don't have hard evaluation errors inside them. Note: All kinds of recursions are reliably avoided.
  • Flat tool, that works on attribute sets, without recursing it. Since both tools are not lazy they require at least the analyzed value to have no hard errors.

Features

  • Finding lambdas recursively
  • Adding metadata about lambdas
    • Attribute Source Position
    • Lambda Source position
    • Count Partially Applied
    • ...