Pierre Neidhardt writes: > I'm trying to package inxi. Does guix support optional dependencies? Can you describe the "optional dependencies" in a little more detail? Will certain features of inxi be available or unavailable depending on whether or not a specific dependency is present during the build? Or perhaps at when running inxi after it has been built? If by "optional dependency" you meant "an item of software that, when present during the build, will enable a certain feature of inxi," then the answer is: you should probably just write a package definition that choose a reasonable set of inputs and configure flags as the default. In Guix, it is possible to define a second package that "inherits" attributes from the first but also has customized attributes. Since this is scheme, it is also possible to define a procedure that generates a customized package. Those are two popular ways to deal with this kind of "optional dependency." It's also worth mentioning that even if you accidentally specify an input that isn't actually used, it isn't all bad. Such inputs will clutter up places like the package graph, and they will increase the build time because they need to be built first (even though they are not used). However, they won't show up in the package's output, so they will not contribute to the total size of the built package. -- Chris