Hi Ricardo, Ricardo Wurmus writes: > I think this is a sensible approach, though it would require agreement > or at least coordination among package contributors about what > parameters to use. For example, one such parameter could be > “#:headless” to disable any graphical user interface or desktop feature, > but a case could just as well be made for “#:gui” or “#:graphical”… > > Coordination hasn’t been a problem so far because we managed to agree on > build systems and utilities, but it seems to me that parameters to match > on span a much larger range — I feel reminded of the problem of package > tags or categories, which are a similarly large field that defies > agreement. I think Tobias suggestion is a good solution to this: make parameters first class, global objects. A package can only use globally declared parameters. This way we have a limited set of well-defined parameters under control (understand: no duplicates, consistent naming). As Tobias pointed out, global declaration of parameters allows us to centralize their documentation and types. -- Pierre Neidhardt https://ambrevar.xyz/