See https://github.com/smxi/inxi: it's a Perl script that calls various programs (if it finds them) _at runtime_. Basically inxi makes a number of `system PROGRAM` calls, where PROGRAM is found in the PATH environment variable. Because most of those dependencies are optional, it could be nice not depend on them. Which means no input at build-time. But then we cannot substitute the relative paths by the static full path to the store. Another approach would be to _not_ have optional dependencies are go more Nix-y as you suggest with including all the required programs as input and storing their full path inside the inxi script. This is hard though, because it implies parsing a huge Perl script... We could also go the dead-simple way: leave PATH and paths to their current values: the only downside I see is that inxi could pententially call programs of the same name installed in user-specific folders (e.g. ~/.local/bin). -- Pierre Neidhardt To save a single life is better than to build a seven story pagoda.