From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Clemmer Subject: Re: ~/.guix-profile/manifest usage with "guix package -m [manifest]" / "guix pack -m [manifest]" etc.. Date: Tue, 02 Oct 2018 12:55:21 -0400 Message-ID: References: <87h8ic36ix.fsf@gnu.org> <87sh1oms8a.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g7NxI-00065O-9f for guix-devel@gnu.org; Tue, 02 Oct 2018 12:55:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g7NxF-0001fs-4N for guix-devel@gnu.org; Tue, 02 Oct 2018 12:55:28 -0400 In-reply-to: <87sh1oms8a.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: "guix-devel@gnu.org" , YOANN P Hi Ludo=E2=80=99, Ludovic Court=C3=A8s writes: > Hello, > > George Clemmer 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=E2=80=99t have enough information to rebuild pack= ages. > > 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 =E2=80=9Cmanifests as passed to =E2=80=98guix packag= e -m=E2=80=99=E2=80=9D because > they=E2=80=99re 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 =E2=80=9Cmanifest= s as passed to =E2=80=98guix package -m=E2=80=99=E2=80=9D from an existing profi= le. 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 =E2=80=9Cmanifests = as passed to =E2=80=98guix package -m=E2=80=99=E2=80=9D from profiles, it woul= d 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