guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ~/.guix-profile/manifest usage with "guix package -m [manifest]" / "


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
User-agent: mu4e 1.0; emacs 26.1

Hi Ludo’,

Ludovic Courtès <address@hidden> writes:

> Hello,
>
> George Clemmer <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]