Hi Simon, > I am not sure to understand everything, so my questions are: > > - Do you consider binaries coming from multiple commits and/or > multiple channels?
No, at least not explicitly. My goal is reproducing computations from the past, so I need to re-animate old manifest files. These could of course contain references to inferior-packages, so they could be multi-commit, but this is not my focus. > - Why splits the channel file and the manifest file? I am thinking to > improve the DSL of the manifest file. I have thought about this as well, but I am not convinced this is a good idea, for two reasons. First, the manifest file is hand-written, the channel file is produced by "guix describe". How would a combined file be created? And how would it be updated? The two main kinds of update are 1) updating the software and 2) changing the components of the environment. Today each part is covered by one file, so there is no conflict. With a single file, would "guix pull" have an option to patch in a new commit number? Second, combining both informations would likely require a restriction of what is allowed in a manifest file. For example, only allow package specifications by name and version, without transformations. Otherwise the implementation would be quite complicated. Imagine someone applying a transformation using today's guix to a package from last year's guix that didn't have a feature used in the transformation. What a combined file would make sense for is saving a profile to a manifest file. As far as I know there is no support for that at the moment, but it could be useful. Cheers, Konrad.