From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id EGlHHAC/i2J56gAAbAwnHQ (envelope-from ) for ; Mon, 23 May 2022 19:06:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 8JgyHAC/i2LvkwAAauVa8A (envelope-from ) for ; Mon, 23 May 2022 19:06:08 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 02926390FD for ; Mon, 23 May 2022 19:06:08 +0200 (CEST) Received: from localhost ([::1]:57590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ntBVP-0005Ze-6c for larch@yhetil.org; Mon, 23 May 2022 13:06:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55040) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntBUZ-0005Wp-If for guix-devel@gnu.org; Mon, 23 May 2022 13:05:16 -0400 Received: from mail-ed1-x542.google.com ([2a00:1450:4864:20::542]:44938) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ntBUT-00031v-N4 for guix-devel@gnu.org; Mon, 23 May 2022 13:05:14 -0400 Received: by mail-ed1-x542.google.com with SMTP id eg11so19918925edb.11 for ; Mon, 23 May 2022 10:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=JVj4TJsUy4whWODjy5s0ixKrOJloAhfsIxYKAKPK6p4=; b=jLfzV7Ki90PX9aqg3AnUf3X3TpjeQCRQwEZLw6jlkqsjU2Cct8R4kr9hNHe6JY5KDI FRPizLhezkPXLaJWsQdEQkDyHoSDw4M1VZZcAlmNj5/KRRuG8XFYOlVvdGeT9rSuGLI+ TJFiBDrVZPgP7z2uX4sgVhvHSJG6eSA27RaWwFUm8GLJxTi0W4LEa1HCm2Og52xrWaHp XfF+BhDMgna9edUDZo6ieMxkrmYKgk7AH+BEP4Et7oZx9pnMY7u1FTkOGeNVHIrhTAwl s7A76rlzxhZt/Hj0rBUsk0VAaPnVFf/+ZnwK6NMhh50pq1kI38bVYQjqyEFZ5jaOElFf ICwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=JVj4TJsUy4whWODjy5s0ixKrOJloAhfsIxYKAKPK6p4=; b=jDR863b8RJPCBgUcBM6I33MX5Ksu4J7D3zNVaqOdnPXO5kW5XZqd+lfKmZkh4Ya/xX /2oDvt820tknEQO/dNwiDFKFhJr6I/Fo2vvsJ8lrGwI0oQpl0mmpgH1gDhLIXDIT0lFx kEbKbKoP+ElCjnVee1fBSDRnvNnjU7wvtS5ODRvtsIW8WyapquQvrIOfkqsEI3SHsMFw XvSb9fRLKyIYzQ6sekr+msixjpbDYDhiCdMPcW7PMQPuNN65I9q6kEwsDczhOpqe+i25 9nQ6qQOm9lqKLiNHNgwgoUwtHA68ps4UIttSR6fbYG0X/994VxuatSoyPWHtAwB2k7cY 0iSw== X-Gm-Message-State: AOAM530LX52Ms6gcplG6r3OU/QNRUovAB3tWJ0exRd3kAzFtquurFa8m QIMcjy6PYk56p9r0qWtGOYA= X-Google-Smtp-Source: ABdhPJxWWHuYWflo494PqqwM/3DC3NlQ1YMOKN0EYx3zlgMU7T1EoCVATvYnj0xwe6Yr9Kz14eK+/Q== X-Received: by 2002:a05:6402:5205:b0:42b:2678:998a with SMTP id s5-20020a056402520500b0042b2678998amr17985787edd.250.1653325507222; Mon, 23 May 2022 10:05:07 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id ot22-20020a170906ccd600b006f4cb79d9a8sm1235520ejb.75.2022.05.23.10.05.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 10:05:06 -0700 (PDT) Message-ID: <7e70064d679274160d62fdc86e7e25879bec7a79.camel@gmail.com> Subject: Re: Multiple profiles with Guix Home From: Liliana Marie Prikler To: Andrew Tropin , guix-devel@gnu.org Date: Mon, 23 May 2022 19:05:06 +0200 In-Reply-To: <87ilpwpf1b.fsf@trop.in> References: <87ilpwpf1b.fsf@trop.in> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::542; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x542.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1653325568; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=JVj4TJsUy4whWODjy5s0ixKrOJloAhfsIxYKAKPK6p4=; b=cq2U7mzN/INuqaqVXCw7vbykUtuegGymUE6cUvTaaE54y4hl6tOqc8RsXM8fVym0Cfm1cP 8SE2IiKQcl2zNqTpKqPKmJh5wt8ab267zlnhcLJcFAKb856HROFE/RntoUTfQDA1speNkQ ce3pg0S4BLMa+EwCbggIRR4E2yaeomyQGbfUuOwuTQB8VIshZ7YPG+205sRbaTfXz4LvGi QE19r5OqaGrJjvwv7/SgcHTwQkWwyy2pBOlUZrSoAvqXEhvgoTOuIF79URnzCFx0DSqDQ5 yJoNgkTOoX4PgopXAeBo4ofXA9v66PiRJCNGSlV1E7wvI1utogTCAq/BT0MM4w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1653325568; a=rsa-sha256; cv=none; b=VQVhyYYxD7VEkNAQwd1/MWfmwNl5O3RFRjDCYKMDrYaNmBKlYXBW9dcIEg2aD19IbWOwSG RLq5rlI485W1/TTjs56e3HlbRhsv+wbttozpTah9I1Z1Ety0FcI8PtYbRTM1C5VobiwuL6 8IdRkYDZNP8Yibk7jL0fH5IjEF1xj2xOcPKjTFmt+7iSvT48AyUpPuS4ADAgadTrAL6HvB /YdFMaaKksE1Y+1IXiTCAH1ofow3cRtvqMa0sx22nzmjth4wg2e8gZgs9aQKJaJtSELif1 gcYZ8rclzsFsEciNM3NPgwrD57TN4cgnkELDGTK1BehmHV0ONoW1l4mc57in+w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=jLfzV7Ki; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.55 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=jLfzV7Ki; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 02926390FD X-Spam-Score: -5.55 X-Migadu-Scanner: scn0.migadu.com X-TUID: 23d4Ql+Mu/65 Hi, Am Montag, dem 23.05.2022 um 16:14 +0300 schrieb Andrew Tropin: > The discussion seems too heated and bloated, it's hard to reasonably > address arguments mentioned around, so I'll just post some thoughts > and a possible way to somehow proceed. > > I suggest to split the bigger idea into smaller pieces, play with the > implementation locally/in fork/branch and see how it goes: > > 1. home-profiles-paths-service-type.  It will allow to add code for > sourcing profiles in setup-environment script and thus implement > workflows with multiple profiles.  Such profiles can be managed > externally or in the future built as a part of home environment. How about home-profile-loader-service-type as a name instead? That would imply that it's purpose is to load profiles. > 2. home-[additional-]profiles-service-type.  It will allow to build > profiles from list of packages, optionally add a profile to > home-profiles-paths.  It will make ~/.guix- > home/profiles/{emacs,web,etc} > > To make it possible for other service to utilize multiple profiles, > this service will be extandable with values like that: > > `((default . ,(list curl wget)) >   (web . ,(list browser-ad-block-plugin)) >   (emacs . ,(list emacs emacs-cider emacs-modus-themes))) I don't think I agree with this choice. To satisfy both my own use case of serving profiles in different locations from another and another issue being raised w.r.t. configuring the location of the .guix-home profile, I think we should make a triple of location, optional short name, and manifest (which may be generated from packages implicitly). WDYT? > 3. Maybe migrate ~/.guix-home/profile to ~/.guix- > home/profiles/default. Kinda agree, but with the caveat in (2). Uniformity or chaos should be a user choice :) > I still can see a lot of potential problems related to search paths, > however part of them can be solved by duplicating packages in > different profiles or using dummy packages like emacs-consumer: > https://git.sr.ht/~abcdw/rde/tree/master/item/rde/packages/emacs.scm#L56 Or by making search paths first class in manifests, as also discussed elsewhere. > [...] > Liliana, if you still into it, I suggest to start with something > similiar to what I described above, share the draft implementation > and intermediate results/impression in a separate thread and continue > the further discussion. Considering the above, I think a rough roadmap would be: 1. Implementing home-profiles-service-type (to build the profiles) 2. Implementing home-profile-loader-service-type 3. ??? 4. Deprecate the existing home-profile-service-type in favor of the new profile service type pair and/or implement it in terms of it. where (1) and (2) could be done by two people/teams in parallel. Given that the task has been simplified, I think I might start coding on it, but I can't promise any particular deadline. At the moment, both my day job and review work delay any other contributions towards Guix. Cheers