Dix – Nix Derivation Diff

2 days ago 5

A blazingly fast tool to diff Nix related things.

Currently only supports closures (a derivation graph, such as a system build or package).

output of dix /nix/var/nix/profiles/system-69-link/ /run/current-system

$ dix --help Diff Nix Usage: dix [OPTIONS] <OLD_PATH> <NEW_PATH> Arguments: <OLD_PATH> <NEW_PATH> Options: -v, --verbose... Increase logging verbosity -q, --quiet... Decrease logging verbosity -h, --help Print help -V, --version Print version $ dix /nix/var/profiles/system-69-link /run/current-system

If you have any problems, feature requests or want to contribute code or want to provide input in some other way, feel free to create an issue or a pull request!

Huge thanks to nvd for the original idea! Dix is heavily inspired by this and basically just a "Rewrite it in Rust" version of nvd, with a few things like version diffing done better.

Furthermore, many thanks to the amazing people who made this projects possible by contributing code and offering advice:

  • @RGBCube - Giving the codebase a deep scrub.
  • @Dragyx - Cool SQL queries. Much of dix's speed is thanks to him.
  • @NotAShelf - Implementing proper error handling.

Dix is licensed under GPLv3. See the license file for more details.

Read Entire Article