From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Hinsen Subject: Re: [Blog/Cookbook?] On multiple Guix profiles and manifests Date: Mon, 14 Oct 2019 13:26:05 +0200 Message-ID: <8e9ae875-aaf5-b75d-8d13-64fd003a122b@fastmail.net> References: <87y2xzihqs.fsf@ambrevar.xyz> <877e5854cj.fsf@gmail.com> <87sgnvrdmj.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:49664) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iJyUM-0005ZU-FU for help-guix@gnu.org; Mon, 14 Oct 2019 07:26:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iJyUK-0003zQ-Ta for help-guix@gnu.org; Mon, 14 Oct 2019 07:26:10 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:36819) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iJyUK-0003y4-6l for help-guix@gnu.org; Mon, 14 Oct 2019 07:26:08 -0400 In-Reply-To: <87sgnvrdmj.fsf@ambrevar.xyz> Content-Language: fr-classic List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org 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.