|
From: | Konrad Hinsen |
Subject: | Re: [Blog/Cookbook?] On multiple Guix profiles and manifests |
Date: | Mon, 14 Oct 2019 13:26:05 +0200 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
Am 14.10.19 um 09:27 schrieb Pierre Neidhardt:
However, I wonder why nobody has implemented "guix environment --profile=/path/to/my/profile".Note that there is the "--manifest" option to "guix environment". This brings up another "pro" for manifest: Right now it's possible to create environments out of manifests while it's not possible to create environments out of profiles without Chris' hack.
When I explain Guix, I start with environments, which I consider that more fundamental concept, and then introduce profiles as persistent environments. From that perspective, creating an environment from a profile makes no sense, though it may be useful as a convenience function for some needs (not mine). Manifests are persistent *specifications* of environments, which do make sense (a lot, in fact).
A question that I believe has been brought up before: is it possible to specify multiple manifests from the command line, such as to provide the union of the manifests? Even better: what high-level functions to manipulate manifests, such as "manifest-union", "manifest-difference"?
Union is OK, difference isn't. A manifest is not just any set of packages, it's a set of packages that has no dependencies outside of the set.
This sounds like the beginning of another chapter for the cookbook: package lists, manifests, bags, etc. What are the differences, and when should I use what?
Which reminds me that when working on the command line, the "manifest" option in practice always refers to a package list that is then converted to a manifest. And most people *want* to work at the package list level. And then differences make sense again. It's all a bit of a mess...
Cheers, Konrad.
[Prev in Thread] | Current Thread | [Next in Thread] |