Hello! Also followed the thread from a little far away. It's probably an awfull idea (I don't even know if it's possible) but throwing in different perspetives migh give birth to new ones so here I go.
Instead of thinking in terms of use flags or parameterized packages maybe using something that I would call "modificators" might be an idea. I see it as some kind of list of funtions modifying packages (If it's clear?). The main differences would be that the package definitions would be left untouched and that modificators' definitions would be centralized keeping the complexity and the maintaining burden away. Something like modificators maintainer might emerge then? That could look like: (define-modificator headless `((xorg (modify-package xorg ...)) or something replacing a package directly without introducing new syntax: (xorg (package (inherit xorg) ...)))) Then givin a list of packages, apply a modificator to it and get a modified list of packages? Hope it helps, Have a nice day, L p R n d n