Hi Pierre, Pierre Neidhardt <m...@ambrevar.xyz> skribis:
> I just had a cursory look, and my main concern is that maybe exposing > commands is one more thing to learn for the user, and one more step to > run to get a simple file. > > Instead, what about doing what system profiles already do with > > /run/current-system/channels.scm > /run/current-system/configuration.scm > > and store the result of the proposed commands directly in > $PROFILE/channels.scm and $PROFILE/manifest-spec.scm, on each profile > upgrade? > > We could add a warning comment at the top, explaining the limitations of > these files (that it does not represent the profile faithfully). > > Thoughts? Here are practical issues that come to mind: • It would only work for newer profiles, created after the feature has been implemented (maybe that’s okay). • The generated files might use APIs that, in the meantime, got deprecated or changed somehow. This is in contrast with ‘--export-profile’, which interprets ‘manifest’ (a versioned file format) and produces code that can use the API du jour. • One would still have to learn about these two files, and pick the right “manifest” file. • For users of ‘-m my-manifest.scm’, we would need to store ‘my-manifest.scm’ as is instead of generating an approximation thereof. We already discussed these issues at length earlier. :-) Again, I agree that following what we do with /run/current-system would be nice, but the situation is different due to imperative operations. Hmm, needs more thought… > Last, just a nit: what about listing the packages corresponding to the > commented commits next to them? For instance > > (list > ;; Note: these other commits were also used to install some of the packages > in this profile: > ;; "458cb25b9e7e7c954f468023abea2bebb5d8c75b" monolith obs calibre > ;; "4969b51d175497bfcc354c91803e9d70542b7113" 0ad augustus > ;; "3d85c3ec652feb22824f355538b51e6955ded361" nyxt > ;; ... > ;; "b76b1d3fb65fec98b96a2b4cfa984316dd956a29" tectonic > (channel > (name 'guix) > ... Would be nice. Thanks for your feedback! Ludo’.