From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id EMbPIki9I2XdbwEAauVa8A:P1 (envelope-from ) for ; Mon, 09 Oct 2023 10:43:52 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id EMbPIki9I2XdbwEAauVa8A (envelope-from ) for ; Mon, 09 Oct 2023 10:43:52 +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 C81D7367F1 for ; Mon, 9 Oct 2023 10:43:51 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=beffara.org header.s=gm1 header.b=GcQviEnF; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1696841032; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=DfCrHNV+Q4bIHfGKTkrnpXOmB6rsjl5FUb7wbthS4/8=; b=axyDV8aHK0lptrXiCQXSPHPKPqSnWt0HZexG19TphdK7ytu2vR6Vmg5da3WmRtiWT06YiK hX+ZbTW4TqEBTWyITijBAOw5QZBLfJuV7EFWdMV7IqpHOe9ryy+Tg7VN7WnuP3aFXXwOTd IBgitOvqK/GM7gARbc8mzhuK09Cy7+2yoW5KZPrCxxPmRF2Ds9smPv8fdpwTopfrvAgUWn PgDXOU/HieefZonEfzs0phySyQTBDpfW8OfhMM9Z5DYCneOuq7Iva75rqTE/WHfDY2pTgF QifV0ATIYYLIKxbNWsvJYZeOU6WOGEr/hvz33P/UCg8rHPOI+7PDw/m/J99DGw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=beffara.org header.s=gm1 header.b=GcQviEnF; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1696841032; a=rsa-sha256; cv=none; b=LQxoYN4mpYKMNUbURqgR36rcMXIFNFmonNVbVIYutSRRXtjXkYAraDLr9XAQn3x/1FUQ8T bM+Hk43BMgNSBq4SxG7VOUXY+EvMJr7QdyaXee4pDzGzep3M8cE+emddChzdV3tPGnwWfU J58iDy82QWj8Cm8QqR++zXCwi+EQubjLqANPNIA6cmQPd/p/bEERP+Af73lTQdzMewrR2K icXRoPedy2B62hHbMHkq1DToqNzncINgwtiGApr4rJsvKhtwjrW4SNwY6dwSynWWAOqeaW taaYLr+H++v+4nufsglk/uOy1XTexYgK+9a8DaWCsS3mGlrQSuOaLwl4M6AX1Q== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qplrE-0008CN-55; Mon, 09 Oct 2023 04:43:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qplrA-0008C7-Ac for help-guix@gnu.org; Mon, 09 Oct 2023 04:43:16 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qplr5-0002X8-QJ for help-guix@gnu.org; Mon, 09 Oct 2023 04:43:14 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 7FD024000A; Mon, 9 Oct 2023 08:43:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beffara.org; s=gm1; t=1696840987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DfCrHNV+Q4bIHfGKTkrnpXOmB6rsjl5FUb7wbthS4/8=; b=GcQviEnF+j0SAIKyh0d/3Z9s+FL6APJAGu6/rWkO4jwOL4nolgSEF77/RcP+Nqkgdys7uw jn3InI4ccZqnffZaYDbvfFePNmRyCA6MDclVWrErWRGjeNsoPbkYbJL1dBMnbXKvoto8Ur yPqV+VdbhehLIxiSfPVROoJ1QQQcL5riE3Z6c+Zo+A/rY9yIDmd4fkW1J+zB9b7LYuvacq V5QTMpVKRiradcCTqxiiZkTbsWwa+8XDOVVT7Adx5aaEM3JV4Ovoi2g35sWllzWhQo9egu ZkOaphAP1jIvGqtNXDOXdWXu4QaA3g5iK3VrpXGYb4qlkCglf8vbaZ5pGESTbg== Date: Mon, 9 Oct 2023 10:43:05 +0200 Message-ID: <20231009104305.GD1344@beffara.org> From: Emmanuel Beffara To: Efraim Flashner Cc: help-guix@gnu.org Subject: Re: share guix and its store between distributions In-Reply-To: References: <20231005170349.GR1334@beffara.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-GND-Sasl: manu@beffara.org Received-SPF: none client-ip=217.70.183.194; envelope-from=manu@beffara.org; helo=relay2-d.mail.gandi.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.99 X-Spam-Score: -6.99 X-Migadu-Queue-Id: C81D7367F1 X-Migadu-Scanner: mx2.migadu.com X-TUID: +dk8p+eS5deu Hello, Thanks for the feedback. De Efraim Flashner le 08/10/2023 à 09:03: > > Is there a way to share Guix and its store between several distributions? > > [...] > > It looks like you already have the right idea. You'd have to share /gnu > and /var/guix between the two distributions, as well as have the same > UID (and possibly GID) for the users. If I know for sure that there is no state anywhere else than that, then it looks fine. I was worried that running Guix's daemon and command would leave things inconsistent otherwise. > You would also have to tell Guix's grub to also add an entry for Debian. I already do that by adding a menu-entry by hand. It works because Debian stores its kernel and initrd in a predictable place. I just have to refrain Debian from updating grub itself, otherwise the entries for Guix system disappear. I guess this kind of problem occurs whenever one tries to set up multiboot with a single Grub for several distributions, anyway. > I don't know if you'd end up having issues with graphical programs from > Guix overriding environment variables for Debian or if there might be > issues with guix-home with a foreign distro. So far there have been some issues with programs from my home Guix profile behaving differently when run from Debian. I still have to explore a bit to diagnose this. As for other replies I got: >From Felix Lechner: > I used Debian for twenty-five years and switched to GNU Guix eighteen months > ago. I see no reason to run both, but I also like being at the frontier. Why > do you need Debian? I intend to keep Guix as my regular system as it has provided me some benefits already. But some tools that I have to use occasionally are not (yet) available in Guix and might be available in Debian or provided as binaries that often rely implicitly on FHS (I try to use Flatpak or Guix containers for those, but even that is not enough on some rare occasions). Also, some services behave differently between distributions and support for some hardware also varies (for instance I have a USB-C dock that fully works on Debian and only partially on Guix). For such cases, having two systems to compare can be instructive and beneficial for both. >From Daniel Littlewood: > Do you expect to share exactly the same packages in Debian vs guix, or > just an overlapping subset? More like an overlapping subset. In Debian would like to use Debian-provided packages as much as possible and only rely on Guix for custom packages I made or reproducible environments. > I assume that if the packages are the same, and they're building the > same versions, then the hash identifying them should be the same, and > guix should refrain from rebuilding the package (and simply set up the > link to the store). If they aren't the same, then you have to make > sure the system A does not clean up any packages used by system B and > not system A. I guess this is why you mention GC roots. My gut feeling > is that that will be a lot more complicated, because you have to trick > guix into getting its garbage collection "wrong". Indeed that is the kind of problem I would like to avoid, hence the idea of sharing Guix's state bewteen systems. I would certainly like to avoid "tricks" to make things work. -- Emmanuel