design query - why are all 66-services packaged as separate ebuilds that pulls in the desired package?
Your proof of concept demonstration of using 66-tools on Gentoo here looks really exciting and made me look at the source-code in your overlay and the wiki. Having done so I unfortunately don't fully understand some of the logic of what I'm seeing as I would expect a folder with default services that than can then be enabled using 66-enable, 66-disable, etc. This is for example the approach that I'm seeing for the packaging effort for voidlinux here.
However in this overlay I see separate ebuilds for each 66-service as a package that than needs to be installed, i.e. currently you do for example
`# emerge -av dhcpcd-66serv sshd-66serv`
`# 66-tree -nEc system`
`# 66-enable dhcpcd sshd`
That first step, which install both a services as well as the packages the user needs to be able to use the service, to me feels really strange. I would have expected to have to emerge a single package that contains all gentoo-66-service files that are available that I can then manipulate the 66-tools commands after I have installed the packages I need. As example the commands I would have expected to run would be:
`# emerge -av gentoo-66-services (made up name; this would only be done once ever and installing 66-tools could trigger it)
`# emerge -av dhcpcd sshd`
`# 66-tree -nEc system`
`# 66-enable dhcpcd sshd`
For me this approach would be closer to what one would do when using openrc and avoid putting package dependencies in service files keeping a clearer distinction between dealing with services vs installing packages.
The current approach with creating a separate ebuild for each service creates a lot of code duplication in needing to create very similar ebuilds just to pull in the original package (in the above case sshd and dhcpd). This has the added disadvantage that it actually makes it harder to see the structure of the services files compared to the code in the above voidlinux repo as there is a lot of noise/files that on a first impression appear unneeded.
Is there something I'm missing in how s6, s6-rc and 66-tools work that makes this packaging of each service as a separate ebuild needed/beneficial or is this just how it has evolved by accident?