Hi Guix, we have this nice `guix graph` tool which outputs DAGs of the packages (or even derivations,bags, ...). This is cool if you look at simple packages like the "hello" package with little to no dependencies. If you look at "real" packages like qt or maven the information is just overwhelming and you are scrolling around the image for just getting a headache. Often the only think I want to know is something like: Why is "goodbye" a dependency of "hello"? To answer this, I want to extract from hello's package graph the path (more precisely: the sub-DAG) leading from the root "hello" to the target node (or even nodes) "goodbye". After several attempts and failures, I wrote a script for gvpr from the GraphViz suite that does the job. Example 1: In bug #30710 Hartmut Goebel asked why qt depends on two different autoconf-wrapper packages. To answer that, you can find out the two node names from the .dot file and then call: gvpr -f markpath.g -a "ex 64168128 64167936" < qt-thing/qt.package.dot >qt-acw.dot This extracts (ex) the path (sub-DAG) to the two seed nodes and outputs it in a new graph. This result is quite compact with only 12 nodes (attached). Example 2: How/Why is glib a dependency of maven? The extracted graph has about 50 nodes, so I don't attach it here. You will see that java-logback-classic depends on a groovy-cluster that finally mounts into antlr. That depends on a gtk/pango/cairo-cluster that finally sinks into glib. Hope that is useful to someone else, Björn