Hi Ludo’, Ludovic Courtès <l...@gnu.org> writes:
> Hello, > > George Clemmer <myg...@gmail.com> skribis: > >> YOANN hit an error when trying to do 'guix package -m >> ~/.guix-profile/manifest'. Why would one want to do this? Maybe to >> (re)produce a configuration previously reached by a series of 'guix >> package -i' operations? > > I agree this would be nice, but be aware that this is not quite possible > because those files don’t have enough information to rebuild packages. > > Starting from a few weeks/months ago, ~/.guix-profile/manifest records > upstream VCS information, like this: > > ("libreoffice" > "6.1.2.1" > "out" > "/gnu/store/y4l3r7nh0dg3d8qaifz96ffab4jpjl3s-libreoffice-6.1.2.1" > (propagated-inputs ()) > (search-paths ()) > (properties > (provenance > (repository > (version 0) > (url "https://git.savannah.gnu.org/git/guix.git") > (branch "master") > (commit > "f8e710684e5c3f866413dff825ba17bdffceac5d"))))) > > With this info and with inferiors and channels, it becomes possible to > rebuild the package (if we make simplifying assumptions.) > > So I understand the need and agree that it would be nice. But for now, > I strongly recommend “manifests as passed to ‘guix package -m’” because > they’re much more expressive, especially with the introduction of the > inferior API: > > https://issues.guix.info/issue/32759 IIUC, you are describing more-or-less "exact" (re)production of an existing profile. But that's not what I was thinking of when I said "(re)produce a configuration". Rather, I was thinking (as described elsewhere in the original post) of the ability to produce “manifests as passed to ‘guix package -m’” from an existing profile. Why? In part to smooth over a puzzling inconsistency in guix configuration: Systems configuration is "declarative" but user-profiles may be "incremental" ('guix package -i') or "declarative" ('guix package -m'). My thinking is that if there was an easy way to produce “manifests as passed to ‘guix package -m’” from profiles, it would be a handy: an easy way for someone that has gone down the incremental path to switch to manifests and an easy way to update one's manifest after incremental changes. HTH - George