Pierre Neidhardt <m...@ambrevar.xyz> writes: > I'm actually surprised you find it surprising! :) > I can think of Simon, maybe Konrad(?) and myself who mentioned it > before.
Yes, me too. I could add to Pierre's list of use cases, but I prefer to shift the discussion to a higher level. What we have been discussing here recently is the organization of software one level above packages. The vague idea is "groups of packages that go together". Outside of the Guix universe, this is the realm of (Docker) containers. A quick look at what happens in that universe shows that composing such groups of packages corresponds to a frequent need (see docker compose, Kubernetes, ...). In Guix we have ephemeral (environment) vs. persistent (profile), ad-hoc (package -i, environment from package lists, ...) and declarative (manifests). It's a bit of a mess. Hacks such as "environment -r" show that we ought to think about a better overall design. In addition to the two dimensions I mentioned, this should include shareable/re-usable vs. personal. People publish and share Docker images, so why wouldn't they publish and share Guix super-packages? This third dimension also raises the question of where the information (profiles, manifests, ...) are stored and managed (version control?), and how they are referred to (name, filename, ...). And of course how they are composed - in Guile, at the shell level, or yet something else? Cheers, Konrad.