From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 4LC/IiwSdGLsyQAAbAwnHQ (envelope-from ) for ; Thu, 05 May 2022 20:06:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id GNiwIiwSdGLiaQAA9RJhRA (envelope-from ) for ; Thu, 05 May 2022 20:06:36 +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 23C6993F9 for ; Thu, 5 May 2022 20:06:36 +0200 (CEST) Received: from localhost ([::1]:39754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nmfs3-0002Vd-05 for larch@yhetil.org; Thu, 05 May 2022 14:06:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nmf8W-0007Ay-Nh for guix-devel@gnu.org; Thu, 05 May 2022 13:19:33 -0400 Received: from mail-ed1-x542.google.com ([2a00:1450:4864:20::542]:36838) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nmf8U-0003ST-Qr for guix-devel@gnu.org; Thu, 05 May 2022 13:19:32 -0400 Received: by mail-ed1-x542.google.com with SMTP id a1so5986008edt.3 for ; Thu, 05 May 2022 10:19:30 -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=fD6UlXIqKL3BBs3q615JNYsxxtAhooSx9UN1vlEa8UE=; b=IsTse4y7GneVEWhV36MVPMk+7HLFiC9DShv1lMJva95GlYPzwhKVy/mikOfbnlYmdE TatDr/92KIhDRyDiRkYFA3NJPm3aKPx8zAQzKxxBA8TpzziNfwgWZyGTtoPuNoWPZs+7 8TOtOB4zg9QCfTS6DW9AGE89fJqbDqmBQ136atUWSMjwlckfXk/LOYpbVmvttMYKOmTa Fai2RXip29V2uGTspsSOSfd/wcL3dr9nEOuHycN/MlLCs4pqsmGFdtHne1QaDUmmEJu9 SI12YZzzgATWuy5q5pI9aD+BLqJsvj48Rq7kbclTUDdzwRDoLZWue6zanwLjiSaaaFt5 kAmg== 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=fD6UlXIqKL3BBs3q615JNYsxxtAhooSx9UN1vlEa8UE=; b=4UeMIMF3cUZGzDE4IsAGmEn8kQkjdE34yxekHj4gKHEamjD4t92USoY3apSoBoo2Yx W99hQOEVNYQdVbUBFJOyALN0lXw4bjsiQBT9d29Gy6B0DuBIcsgCqdGMRHktQay9OHWj CBppR/JMPDLxXfQBLBGgemfIfmXpwPa5o70Z5McCQRGWvmLIJ+iiOWWZfhcENQpiO/Ao yNEjBcrrkzNGqVkPSC4n//ZqV2j/WlwRpE5K1h/TJHCdw3jLCpnaPQBZSGewYI1MvYD9 dTkVzyFGXxe++hYiCx6UF+1QwWetp76mxOm8y5YnI5wacgVtL/wmh80/vHbybKWyzos8 iw9g== X-Gm-Message-State: AOAM530GdeWgu79phPdDVAJCp58vWbBmDKaN4aaOh2G7Bw1ANhuZb4ex fc1lMbI7qLNSYArorF8show= X-Google-Smtp-Source: ABdhPJyuH/Vr5oV+WHHnKlYtvftT+IX5KckMBwqTiswc0+J0/eFuFxnExLT7unFuxnGts6er7cKbGQ== X-Received: by 2002:aa7:d407:0:b0:425:f57e:7ae5 with SMTP id z7-20020aa7d407000000b00425f57e7ae5mr31045777edq.393.1651771169338; Thu, 05 May 2022 10:19:29 -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 rb48-20020a170907693000b006f3ef214e1asm970261ejc.128.2022.05.05.10.19.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 May 2022 10:19:28 -0700 (PDT) Message-ID: Subject: Re: Multiple profiles with Guix Home From: Liliana Marie Prikler To: Maxime Devos , guix-devel@gnu.org Date: Thu, 05 May 2022 19:19:26 +0200 In-Reply-To: <06de1b665cea1f4ca6e2b032168a38f7dbf8a82a.camel@telenet.be> References: <550e75e83ee9c154766294779c8fd0b5f3715355.camel@telenet.be> <06de1b665cea1f4ca6e2b032168a38f7dbf8a82a.camel@telenet.be> 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=1651773996; 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=fD6UlXIqKL3BBs3q615JNYsxxtAhooSx9UN1vlEa8UE=; b=OjUS0CMrBdHx4hQF4aln+S3FT7YuPJ1q6bYPh/zi8shMD0SNHc7h5GCpF5hG8ae3HPK264 nWzP3qrVWf/4nb7q3cPKtH72J1KplK9ZDaUpEk54MrDATkLBJqbSDwVuVL800z44e9xHZw i0UyWculOO2qC3wev3k8RKJlKg/d7D6uwapUvU7Fnms8TlVsU6E3dJr2umVqApqd0sqIqo dlO02UnqZsWvC47UnbwjKwjwjvXISnAV5abzmcLe8435CfhY4S2NrNUhT2knhlrP4agc1n T/wPe/KYUpGZnIxepiLdFg71H+462QKHlM8t1UJXhmN+gAwnmOq111Z/Cmru2Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1651773996; a=rsa-sha256; cv=none; b=bnbwI4meEnhpNBuI6sbbHrtdKvhiNAcMcC+GIUDgaVV6K+jBhgGXq+qa7R1M3NewbG8JCC 09jwK0e2DTxSDlQlK36s7Tv7g5xcW8J8O7hTwRirfFCEf5ZoddjMyt/VRyPEwd9gld0jXw ayyTJglL5ER3ucXUw8JIif8zLuvReecEbvW+dTG/XGOE6pcZO8XGR+PnzwSfeI6ExtwF4y V8xyDmkGgBk7WneVSb7JR9JwIxyMz39akV9dwdoz9oosv5IPJjkpXq07o7pWmKy3RvoGlR mcuOmoDRZR1Q8JHkJg2KXG68s7vUM7l8F6o6Qby+Nkn4P6dyXp5IEiB+UeHWyg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=IsTse4y7; 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.49 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=IsTse4y7; 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: 23C6993F9 X-Spam-Score: -5.49 X-Migadu-Scanner: scn0.migadu.com X-TUID: KVXwUXw9ehsW Am Donnerstag, dem 05.05.2022 um 19:07 +0200 schrieb Maxime Devos: > Hi, > > Previously, you wrote that people need to write shell wrappers. > > > > [ cross-profile installation things ] > > The solution to that would be evaluating the search paths over all > > enabled packages.  However, I do think it's fine to do as we did > > before for now; people are already used to this aspect of Guix, > > _but the fact that they need to code up their own shell wrappers to > > manage multiple profiles is not good optics imo_. > > (emphasis mine)  However, now you write that the mechanism already > exists, all the user needs to do is "source .../etc/profile.sh", > without any shell wrappers. For the record, you don't _need_ to source any of those profiles by hand. You can choose to if you so desire, same as with every other profile. enabled? #f provides a way to specify that this is what you desire. Further, this is not management. The profiles are still built and updated using Guix Home -- unless you don't specify any manifest, in which case they aren't. The only degenerate case here would be specifying both enabled? #f and no manifest. > Am Donnerstag, dem 05.05.2022 um 13:05 +0200 schrieb Maxime Devos: > > > Liliana Marie Prikler schreef op zo 03-10-2021 om 12:50 [+0200]: > > > > On init/reconfigure, `guix home' creates/updates all > > > > home-profiles which have a home-profile-manifest that is not #f > > > > and links them to the appropriate locations.  It also creates a > > > > shell startup script that loads those profiles that are > > > > enabled?, even if they have no manifest (this can be used to > > > > e.g. declare a pull profile, which `guix home' can't manage).  > > > > > > I assume there will be some mechanism to load disabled profiles > > > (otherwise the disabled profiles seem a bit pointless to me, why > > > not remove them with #; and avoid some build time)? > > This mechanism already exists, it's source > > /path/to/profile/etc/profile.sh. > > But IIUC, "source .../etc/profile.sh" is not sufficient because of > the search paths issue, so people need shell wrappers to make sure > all search paths are set?  This seems contradictory to me.  Or am I > mistaken on which shell wrappers you were referring to? My assumption here is that the split profiles are still "complete", hence thematic profiles. A thematic profile could for instance consist of all your emacs packages, in which case only emacs packages are added into the union-build and only EMACSLOADPATH needs to be considered. Another thematic profile could consist of all the guile packages you need always, e.g. guile-readline and guile-colorized, though both are already in the system. A third thematic profile could be all your python, r, ..., packages, which you absolutely, no questions asked, need to have sourced always. And obviously, the big thematic profile that still has a huge union-build despite all your efforts of splitting your home profile neatly is the entirety of the NPM ecosystem :)