Hi! Commit 7ca87354db53fd1e1a7a3dfeddb9a598ea064bbe adds (guix module), which provides a way to compute the closure of a Scheme module by looking at its source code.
This has to do with typical ‘with-imported-modules’ usage, as explained in the manual: --8<---------------cut here---------------start------------->8--- Usually you want the _closure_ of the module to be imported—i.e., the module itself and all the modules it depends on—rather than just the module; failing to do that, attempts to use the module will fail because of missing dependent modules. The ‘source-module-closure’ procedure computes the closure of a module by looking at its source file headers, which comes in handy in this case: (use-modules (guix modules)) ;for 'source-module-closure' (with-imported-modules (source-module-closure '((guix build utils) (gnu build vm))) (gexp->derivation "something-with-vms" #~(begin (use-modules (guix build utils) (gnu build vm)) ...))) --8<---------------cut here---------------end--------------->8--- The benefit can be seen in the next commit: http://git.savannah.gnu.org/cgit/guix.git/commit/?id=239c6e276214813f59f761c9dc5cc0e9d266b49b Comments welcome! Ludo’.