Hi Guix! I was thinking of reducing the closure size of Guix in general. I am inspired by Alpine Linux for having dev and doc outputs (I am not sure if they call them "outputs", I was using Alpine Linux some years ago). So, I think if we can make at least "dev" output as one of the defaults (just now only "out" exists as the default), we would be able to move a huge number of packages from inputs to native-inputs, having a great reduction in the closure size.
Currently, there there are many packages that have inputs but only for their headers. Distinguishing which should be in input and which not would be made easy by this idea. I don't know if anyone proposed this idea before. I am aware that we are now heading towards the replacement of substitute* (<https://codeberg.org/guix/guix/pulls/8760>), so I am not proposing such a big change now together with this one, which requires going through almost every package, but in a long run probably we may be able to achive this (if it really does any good as I think). I am not one of the core or core-packages team (I need more experience I think). I just shared what I thought of and what I am inspired of. I may probably not be able to initiate this myself so early, but can help if more experienced people take the initiative (the same way I can help in the substitute* replacement). Have a nice weekend! Sughosha
