From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id kJ0THkDN6V4BLwAA0tVLHw (envelope-from ) for ; Wed, 17 Jun 2020 07:58:56 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id eHkIGkDN6V6JNQAA1q6Kng (envelope-from ) for ; Wed, 17 Jun 2020 07:58:56 +0000 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 EB2C0940223 for ; Wed, 17 Jun 2020 07:58:55 +0000 (UTC) Received: from localhost ([::1]:45574 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jlSyE-0006zv-Tr for larch@yhetil.org; Wed, 17 Jun 2020 03:58:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jlSy6-0006zZ-Gq for guix-devel@gnu.org; Wed, 17 Jun 2020 03:58:46 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:43714) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jlSy4-000889-QQ; Wed, 17 Jun 2020 03:58:46 -0400 Received: by mail-wr1-x42c.google.com with SMTP id l10so1231587wrr.10; Wed, 17 Jun 2020 00:58:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=/CzLrs+/j0nr/SjaYONiCUuT1NMxuRmGoJ7/WtoWXw4=; b=SVlZki5A2Vt15FW5CsDsiUJq0lUxU0GNKe8QRij5v3r/9L9zDzS9z59w8wwDE92DLt LYaiVUZfkHqDh+aFDZ4wPuqnjBW+kWTkoDHv4LNTSJp/KJhMr3BXrVmj/TmZVdroUXZe tpnSdh3p6oo+K5jymxkd2vFZIO/AIwHRr7H4PYjK5y8uTUDRrPd+7/L32KYow7jcPiMv xGLgWpymuPgzoq+lnVL9aVz6uNf6FtPWy3+9yn3NbpKzcmNWRk2nujk9ZVN1Lvu93mIV 3SWaiECyPBwiCA0eIEno74ZfCF6YKh7JwTPEgpVq8iBmrULHNMrH9AlSTbIDHqn/w5lL hBWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=/CzLrs+/j0nr/SjaYONiCUuT1NMxuRmGoJ7/WtoWXw4=; b=AoElwkCS5Q9WiK1QvwBQAMKjCDLxHEKuwybfK7JeVuxRpTqNYOpEuj9qjX8C/73xzf Oja4cHGCXRxqYQNT619hwCmgdbPFsiEE1hG0uPQFggP4B8E5/rn/T4lgeKmediRVHDu4 iuwWTKOn9Ifa8VbxrLHgKSVEQCZIDn2iRuRei4elfFZt8PUmcDZg3+ZMVscsmPAMOBht VIRCz/LLRVRbJnmjkvj9OSAn+/g5KKYMEnwkoVKcb4JcmsNdiyw/3VAKRZ7oQUWN+w02 Ltq0nbW6cEYPeoQEkNSVLzHVfKIEBnEsEnd7spxv3PzdDQlavyZUxVoL4GjmSSfxjxk1 4/6A== X-Gm-Message-State: AOAM532eMLlU3OL5GQVK31Pa9dvMVbDpEVMD3ipK1xXvhfcIRGS7EeTV qhqqgNd7GYApGYzUP8PGNULIlsA1u7k= X-Google-Smtp-Source: ABdhPJz4LBfWEMsd0AE5gSKVjfMCUe2MmeHhu+9jpNOxnvX1c8wTxBsBYlvI9cMFoj8KRkxzxsQzaQ== X-Received: by 2002:a5d:5351:: with SMTP id t17mr6812496wrv.287.1592380722667; Wed, 17 Jun 2020 00:58:42 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id 23sm7125575wmg.10.2020.06.17.00.58.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2020 00:58:41 -0700 (PDT) From: zimoun To: elaexuotee@wilsonb.com Subject: how to "guix pack" a profile? In-Reply-To: <268B906X3RZH5.3NHG3ABUCOVPN@wilsonb.com> References: <338KGSFKQGP1E.23382XUCMS8T3@wilsonb.com> <87v9juwvn0.fsf@gnu.org> <87d062ne8a.fsf@ambrevar.xyz> <87y2opu0ue.fsf@gnu.org> <86lfko92fj.fsf@gmail.com> <871rmfwdfp.fsf@gnu.org> <2AU8F0YU6YV9A.3KVDEJ754D654@wilsonb.com> <86sgevqg8q.fsf@gmail.com> <268B906X3RZH5.3NHG3ABUCOVPN@wilsonb.com> Date: Wed, 17 Jun 2020 09:58:40 +0200 Message-ID: <861rmexgwf.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x42c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=SVlZki5A; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: 1.09 X-TUID: MLzpsnjGeDAN Hi, On Wed, 17 Jun 2020 at 09:45, elaexuotee@wilsonb.com wrote: > The discussion seems to have congealed around smoothing the transition to > declarative profile management for users. However, the proposal I have in mind > is *first class profiles*. I am thinking of a file that can be fed to the > --manifest (or some potential future equivalent) option of various guix > commands. This hypothetical file would let users operate directly on profiles > as needed. [...] > Put more simply, I want to be able to produce a tarball/container capable of > reproducing `guix environment --container '. I think this would be > very useful. Well, if I re-read correctly the emails and proposal, they are 2 points: 1. Easily share a profile via "guix pack" 2. A mean via recreating "manifest.scm" files About the #2. it means changing a bit the format /manifest, transition plan etc. and *if* someone comes with a prototype, it could be happen, otherwise. In the meantime, we need to work, so what could happen is "--export-to-manifest" because it is doable and actionable. The #1. is AFAIK new and it appears to me a good idea: add a feature to "guix pack" and directly deal with profiles, i.e., use internally /manifest, which appears to me doable and actionable. Ludo, WDYT about "guix pack -p profile" to generate a (relocatable) tarball or Docker image? I mean if it is not already possible. :-) > More generally, I think first class profiles could be both a powerful feature > and an important future-proofing against extra maintenance burden. Profiles are > a central concept to guix usage. They form the atomic unit with which users > interact. Wanting to tarball a profile is just one use case, but future guix > commands (guix merge, anyone?) or future --manifest options (guix archive, > anyone?) seem likely to directly benefit from an existing infrastructure that > supports store profiles being created, recreated and munged. >From my understanding, the way to go is the declarative via manifest.scm and channel.scm. Not profile. For example, manifest.scm and channel.scm are easy to put under version control system, they work trough all the Guix commands, etc.. You wrote elsewhere in this thread ``Naively, a profile is just a sum of outputs'' which is correct, IMHO, but the correct level to interact with and maintain this list is manifest.scm and channel.scm, again IMHO. All the best, simon