From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 14:21:32 2022 Received: (at submit) by debbugs.gnu.org; 13 Mar 2022 18:21:32 +0000 Received: from localhost ([127.0.0.1]:43272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTSqR-00005y-P7 for submit@debbugs.gnu.org; Sun, 13 Mar 2022 14:21:32 -0400 Received: from lists.gnu.org ([209.51.188.17]:39966) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTSqQ-00005r-MY for submit@debbugs.gnu.org; Sun, 13 Mar 2022 14:21:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33276) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTSqN-00054U-V9 for guix-patches@gnu.org; Sun, 13 Mar 2022 14:21:30 -0400 Received: from mail-40132.protonmail.ch ([185.70.40.132]:27237) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTSqK-0002by-Py for guix-patches@gnu.org; Sun, 13 Mar 2022 14:21:27 -0400 Date: Sun, 13 Mar 2022 18:21:16 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1647195680; bh=3PW80QDk1rFV/b6Zu+Og3n3S/BVk7aSq4SbX4BBuUZQ=; h=Date:To:From:Reply-To:Subject:Message-ID:From:To:Cc:Date:Subject: Reply-To:Feedback-ID:Message-ID; b=PUbr6K1dfGI/oKuVZfQA+3J2dgx109IPe2UKora+5MF57qpH/S5B6Fm1mRJBP79Rq tEQ1yoeqS/Y6pWp0mDvAUJATAOuaIhZAYIBpQ7fZiElfAX1HeMbxwKRd5cGhruD/+1 JF7Sc7+r+k1i5pLpuhdA1lRgAh59gw8FzAcrFLag4JeT4iqV7ZoS0RICKzCIetiFl3 anlaVSrIbjzZjNiw2YJQ1tVYPqv32Xd+nM9FkFhcR02DoKGF+DRVbBovq3JyndH7aa cEE/AHqiroguO1YowxTqFkEtOA9sty2GMDX5xXs1hNp9E+sHjj2UIdN+vCFIJGiAqv C8kESQ7cr41BA== To: "guix-patches@gnu.org" From: Charles Subject: Mutable guix shell environments Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_GaN3O7CYXCHuYBm2d4AJjIob6ROZ6gORVwG3yfhEaGM" Received-SPF: pass client-ip=185.70.40.132; envelope-from=charles.b.jackson@protonmail.com; helo=mail-40132.protonmail.ch 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_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Charles Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_GaN3O7CYXCHuYBm2d4AJjIob6ROZ6gORVwG3yfhEaGM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable sample useage: $ cd project $ guix package --manifest=3Dmanifest.scm --profile=3D.guix-profile $ guix shell # --profile=3D.guix-profile is implicit do some stuff. realize that you want to bring in another package. $ guix install --profile=3D.guix-profile additional-package Then additional package is instantly available. This is especially useful t= o lisp programmers because, currently, bringing in an additional library in= volves restarting shell, lisp process, reloading source files, regenerating= process state. --b1_GaN3O7CYXCHuYBm2d4AJjIob6ROZ6gORVwG3yfhEaGM Content-Type: text/x-patch; name=0002-guix-shell-Implicitly-use-a-.guix-profile-as-profile.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0002-guix-shell-Implicitly-use-a-.guix-profile-as-profile.patch RnJvbSA0N2M0YzZmOTg5NmMyYjRiODg0ZmYxMTA2M2QzM2Y1NDU4Y2JlY2Y3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFybGVzIDxjaGFybGVzLmIuamFja3NvbkBwcm90b25tYWls LmNvbT4KRGF0ZTogU3VuLCAxMyBNYXIgMjAyMiAxMjo1ODoyNSAtMDUwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBndWl4OiBzaGVsbDogSW1wbGljaXRseSB1c2UgYSAuZ3VpeC1wcm9maWxlIGFzIC0t cHJvZmlsZQogb3B0aW9uLgoKKiBndWl4L3NjcmlwdHMvc2hlbGwuc2NtIChhdXRvLWRldGVjdC1t YW5pZmVzdCk6IEFkZCAiLmd1aXgtcHJvZmlsZSIgdG8KbWF0Y2hlcyBhcyAtLXByb2ZpbGUgb3B0 aW9uCi0tLQogZ3VpeC9zY3JpcHRzL3NoZWxsLnNjbSB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2d1aXgvc2NyaXB0 cy9zaGVsbC5zY20gYi9ndWl4L3NjcmlwdHMvc2hlbGwuc2NtCmluZGV4IDFlYWIwNWQ3MzcuLmZj YTQxY2MyZDQgMTAwNjQ0Ci0tLSBhL2d1aXgvc2NyaXB0cy9zaGVsbC5zY20KKysrIGIvZ3VpeC9z Y3JpcHRzL3NoZWxsLnNjbQpAQCAtMSw1ICsxLDYgQEAKIDs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rp b25hbCBwYWNrYWdlIG1hbmFnZW1lbnQgZm9yIEdOVQogOzs7IENvcHlyaWdodCDCqSAyMDIxLTIw MjIgTHVkb3ZpYyBDb3VydMOocyA8bHVkb0BnbnUub3JnPgorOzs7IENvcHlyaWdodCDCqSAyMDIy IENoYXJsZXMgSmFja3NvbiA8Y2hhcmxlcy5iLmphY2tzb25AcHJvdG9ubWFpbC5jb20+CiA7OzsK IDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtMjU2LDcgKzI1Nyw3 IEBAIChkZWZpbmUgZGlzYWxsb3ctaW1wbGljaXQtbG9hZD8KICAgICAgICAgICBkaXNhbGxvdy1p bXBsaWNpdC1sb2FkPwogICAgICAgICAgIChvcHRpb25zLWNvbnRhaW4tcGF5bG9hZD8gb3B0cykp CiAgICAgICBvcHRzCi0gICAgICAobWF0Y2ggKGZpbmQtZmlsZS1pbi1wYXJlbnQtZGlyZWN0b3Jp ZXMgJygibWFuaWZlc3Quc2NtIiAiZ3VpeC5zY20iKSkKKyAgICAgIChtYXRjaCAoZmluZC1maWxl LWluLXBhcmVudC1kaXJlY3RvcmllcyAnKCIuZ3VpeC1wcm9maWxlIiAibWFuaWZlc3Quc2NtIiAi Z3VpeC5zY20iKSkKICAgICAgICAgKCNmCiAgICAgICAgICAod2FybmluZyAoR18gIm5vIHBhY2th Z2VzIHNwZWNpZmllZDsgY3JlYXRpbmcgYW4gZW1wdHkgZW52aXJvbm1lbnR+JSIpKQogICAgICAg ICAgb3B0cykKQEAgLTI2NSw2ICsyNjYsNyBAQCAoZGVmaW5lIGRpc2FsbG93LWltcGxpY2l0LWxv YWQ/CiAgICAgICAgICAgICAgKGJlZ2luCiAgICAgICAgICAgICAgICAoaW5mbyAoR18gImxvYWRp bmcgZW52aXJvbm1lbnQgZnJvbSAnfmEnLi4ufiUiKSBmaWxlKQogICAgICAgICAgICAgICAgKG1h dGNoIChiYXNlbmFtZSBmaWxlKQorICAgICAgICAgICAgICAgICAoIi5ndWl4LXByb2ZpbGUiIChh bGlzdC1jb25zICdwcm9maWxlIGZpbGUgb3B0cykpCiAgICAgICAgICAgICAgICAgICgiZ3VpeC5z Y20iIChhbGlzdC1jb25zICdsb2FkIGAocGFja2FnZSAsZmlsZSkgb3B0cykpCiAgICAgICAgICAg ICAgICAgICgibWFuaWZlc3Quc2NtIiAoYWxpc3QtY29ucyAnbWFuaWZlc3QgZmlsZSBvcHRzKSkp KQogICAgICAgICAgICAgIChiZWdpbgotLSAKMi4zNC4wCgo= --b1_GaN3O7CYXCHuYBm2d4AJjIob6ROZ6gORVwG3yfhEaGM Content-Type: text/x-patch; name=0001-guix-environment-Enable-mutable-environments.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-guix-environment-Enable-mutable-environments.patch RnJvbSBmM2M4NjE5M2E3NWIzYjQ1NzQwYmI5MzA4NDdmNTA4Mzc3Y2Y1NDZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFybGVzIDxjaGFybGVzLmIuamFja3NvbkBwcm90b25tYWls LmNvbT4KRGF0ZTogU3VuLCAxMyBNYXIgMjAyMiAxMjo1ODoxOSAtMDUwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBndWl4OiBlbnZpcm9ubWVudDogRW5hYmxlIG11dGFibGUgZW52aXJvbm1lbnRzLgoK KiBndWl4L3NjcmlwdHMvZW52aXJvbm1lbnQuc2NtIChsYXVuY2gtZW52aXJvbm1lbnQgbGF1bmNo LWVudmlyb25tZW50L2ZvcmsKbGF1bmNoLWVudmlyb25tZW50L2NvbnRhaW5lciBndWl4LWVudmly b25tZW50Kik6IEFkZCAjOnNldC1wcm9maWxlPyBwYXJhbWV0ZXIgc2V0IEdVSVhfUFJPRklMRQp3 aGVuIC0tcHJvZmlsZSBvcHRpb24gaXMgdXNlZC4KKiBndWl4L3NjcmlwdHMvZW52aXJvbm1lbnQu c2NtIChndWl4LWVudmlyb25tZW50Kik6IFByb2ZpbGUgY291bGQgcG9pbnQgdG8gYQpwcm9maWxl IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGEgc3RvcmUgZGlyZWN0b3J5LgotLS0KIGd1aXgvc2NyaXB0 cy9lbnZpcm9ubWVudC5zY20gfCAzNiArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9ndWl4L3NjcmlwdHMvZW52aXJvbm1lbnQuc2NtIGIvZ3VpeC9zY3JpcHRzL2Vu dmlyb25tZW50LnNjbQppbmRleCBlYzA3MTQwMmY0Li4zZGQ0MjVlYWMwIDEwMDY0NAotLS0gYS9n dWl4L3NjcmlwdHMvZW52aXJvbm1lbnQuc2NtCisrKyBiL2d1aXgvc2NyaXB0cy9lbnZpcm9ubWVu dC5zY20KQEAgLTIsNiArMiw3IEBACiA7OzsgQ29weXJpZ2h0IMKpIDIwMTQsIDIwMTUsIDIwMTgg RGF2aWQgVGhvbXBzb24gPGRhdmV0QGdudS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTUtMjAy MiBMdWRvdmljIENvdXJ0w6hzIDxsdWRvQGdudS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTgg TWlrZSBHZXJ3aXR6IDxtdGdAZ251Lm9yZz4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMiBDaGFybGVz IEphY2tzb24gPGNoYXJsZXMuYi5qYWNrc29uQHByb3Rvbm1haWwuY29tPgogOzs7CiA7OzsgVGhp cyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCiA7OzsKQEAgLTM4NCw3ICszODUsNyBAQCAoZGVm aW5lIGV4aXQvc3RhdHVzIChjb21wb3NlIGV4aXQgc3RhdHVzLT5leGl0LWNvZGUpKQogKGRlZmlu ZSBwcmltaXRpdmUtZXhpdC9zdGF0dXMgKGNvbXBvc2UgcHJpbWl0aXZlLWV4aXQgc3RhdHVzLT5l eGl0LWNvZGUpKQogCiAoZGVmaW5lKiAobGF1bmNoLWVudmlyb25tZW50IGNvbW1hbmQgcHJvZmls ZSBtYW5pZmVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmtleSBwdXJlPyAod2hp dGUtbGlzdCAnKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmtleSBwdXJlPyAo d2hpdGUtbGlzdCAnKCkpIChzZXQtcHJvZmlsZT8gI2YpKQogICAiUnVuIENPTU1BTkQgaW4gYSBu ZXcgZW52aXJvbm1lbnQgY29udGFpbmluZyBJTlBVVFMsIHVzaW5nIHRoZSBuYXRpdmUgc2VhcmNo CiBwYXRocyBkZWZpbmVkIGJ5IHRoZSBsaXN0IFBBVEhTLiAgV2hlbiBQVVJFPywgcHJlLWV4aXN0 aW5nIGVudmlyb25tZW50CiB2YXJpYWJsZXMgYXJlIGNsZWFyZWQgYmVmb3JlIHNldHRpbmcgdGhl IG5ldyBvbmVzLCBleGNlcHQgdGhvc2UgbWF0Y2hpbmcgdGhlCkBAIC0zOTksNiArNDAwLDggQEAg KGRlZmluZSogKGxhdW5jaC1lbnZpcm9ubWVudCBjb21tYW5kIHByb2ZpbGUgbWFuaWZlc3QKICAg OzsgYWRqdXN0ICdQUzEnIGFjY29yZGluZ2x5LCBmb3IgaW5zdGFuY2UuICBTZXQgaXQgdG8gUFJP RklMRSBzbyB1c2VycyBjYW4KICAgOzsgY29udmVuaWVudGx5IGFjY2VzcyBpdHMgY29udGVudHMu CiAgIChzZXRlbnYgIkdVSVhfRU5WSVJPTk1FTlQiIHByb2ZpbGUpCisgICh3aGVuIHNldC1wcm9m aWxlPworICAgIChzZXRlbnYgIkdVSVhfUFJPRklMRSIgcHJvZmlsZSkpCiAKICAgKG1hdGNoIGNv bW1hbmQKICAgICAoKHByb2dyYW0gLiBhcmdzKQpAQCAtNTkxLDcgKzU5NCw3IEBAIChkZWZpbmUg KHZhbGlkYXRlLWV4aXQtc3RhdHVzIHByb2ZpbGUgY29tbWFuZCBzdGF0dXMpCiAgIHN0YXR1cykK IAogKGRlZmluZSogKGxhdW5jaC1lbnZpcm9ubWVudC9mb3JrIGNvbW1hbmQgcHJvZmlsZSBtYW5p ZmVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6a2V5IHB1cmU/ICh3aGl0 ZS1saXN0ICcoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzprZXkgcHVy ZT8gKHdoaXRlLWxpc3QgJygpKSAoc2V0LXByb2ZpbGU/ICNmKSkKICAgIlJ1biBDT01NQU5EIGlu IGEgbmV3IHByb2Nlc3Mgd2l0aCBhbiBlbnZpcm9ubWVudCBjb250YWluaW5nIFBST0ZJTEUsIHdp dGgKIHRoZSBzZWFyY2ggcGF0aHMgc3BlY2lmaWVkIGJ5IE1BTklGRVNULiAgV2hlbiBQVVJFPywg cHJlLWV4aXN0aW5nIGVudmlyb25tZW50CiB2YXJpYWJsZXMgYXJlIGNsZWFyZWQgYmVmb3JlIHNl dHRpbmcgdGhlIG5ldyBvbmVzLCBleGNlcHQgdGhvc2UgbWF0Y2hpbmcgdGhlCkBAIC01OTksMTQg KzYwMiwxNiBAQCAoZGVmaW5lKiAobGF1bmNoLWVudmlyb25tZW50L2ZvcmsgY29tbWFuZCBwcm9m aWxlIG1hbmlmZXN0CiAgIChtYXRjaCAocHJpbWl0aXZlLWZvcmspCiAgICAgKDAgKGxhdW5jaC1l bnZpcm9ubWVudCBjb21tYW5kIHByb2ZpbGUgbWFuaWZlc3QKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM6cHVyZT8gcHVyZT8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICM6d2hpdGUt bGlzdCB3aGl0ZS1saXN0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICM6d2hpdGUtbGlz dCB3aGl0ZS1saXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnNldC1wcm9maWxlPyBz ZXQtcHJvZmlsZT8pKQogICAgIChwaWQgKG1hdGNoICh3YWl0cGlkIHBpZCkKICAgICAgICAgICAg KChfIC4gc3RhdHVzKQogICAgICAgICAgICAgKHZhbGlkYXRlLWV4aXQtc3RhdHVzIHByb2ZpbGUg Y29tbWFuZCBzdGF0dXMpKSkpKSkKIAogKGRlZmluZSogKGxhdW5jaC1lbnZpcm9ubWVudC9jb250 YWluZXIgIzprZXkgY29tbWFuZCBiYXNoIHVzZXIgdXNlci1tYXBwaW5ncwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZmlsZSBtYW5pZmVzdCBsaW5rLXByb2ZpbGU/ IG5ldHdvcms/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAtY3dk PyAod2hpdGUtbGlzdCAnKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFwLWN3ZD8gKHdoaXRlLWxpc3QgJygpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNldC1wcm9maWxlPyAjZikpCiAgICJSdW4gQ09NTUFORCB3aXRoaW4gYSBj b250YWluZXIgdGhhdCBmZWF0dXJlcyB0aGUgc29mdHdhcmUgaW4gUFJPRklMRS4KIEVudmlyb25t ZW50IHZhcmlhYmxlcyBhcmUgc2V0IGFjY29yZGluZyB0byB0aGUgc2VhcmNoIHBhdGhzIG9mIE1B TklGRVNULgogVGhlIGdsb2JhbCBzaGVsbCBpcyBCQVNILCBhIGZpbGUgbmFtZSBmb3IgYSBHTlUg QmFzaCBiaW5hcnkgaW4gdGhlCkBAIC03NDgsNyArNzUzLDcgQEAgKGRlZmluZSAoZXhpdC9zdGF0 dXMqIHN0YXR1cykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiBsaW5rLXBy b2ZpbGU/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBl bmQgaG9tZS1kaXIgIi8uZ3VpeC1wcm9maWxlIikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwcm9maWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFu aWZlc3QgIzpwdXJlPyAjZikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFu aWZlc3QgIzpwdXJlPyAjZiAjOnNldC1wcm9maWxlPyBzZXQtcHJvZmlsZT8pKSkKICAgICAgICAg ICAjOmd1ZXN0LXVpZCB1aWQKICAgICAgICAgICAjOmd1ZXN0LWdpZCBnaWQKICAgICAgICAgICAj Om5hbWVzcGFjZXMgKGlmIG5ldHdvcms/CkBAIC04ODAsNyArODg1LDcgQEAgKGRlZmluZSAoZ3Vp eC1lbnZpcm9ubWVudCogb3B0cykKICAgICAgICAgICAgKHVzZXIgICAgICAgKGFzc29jLXJlZiBv cHRzICd1c2VyKSkKICAgICAgICAgICAgKGJvb3RzdHJhcD8gKGFzc29jLXJlZiBvcHRzICdib290 c3RyYXA/KSkKICAgICAgICAgICAgKHN5c3RlbSAgICAgKGFzc29jLXJlZiBvcHRzICdzeXN0ZW0p KQotICAgICAgICAgICAocHJvZmlsZSAgICAoYXNzb2MtcmVmIG9wdHMgJ3Byb2ZpbGUpKQorICAg ICAgICAgICAocHJvZmlsZS1vcHRpb24gKGFzc29jLXJlZiBvcHRzICdwcm9maWxlKSkKICAgICAg ICAgICAgKGNvbW1hbmQgICAgKG9yIChhc3NvYy1yZWYgb3B0cyAnZXhlYykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IFNwYXduIGEgc2hlbGwgaWYgdGhlIHVzZXIgZGlkbid0IHNwZWNp ZnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGFueXRoaW5nIGluIHBhcnRpY3VsYXIu CkBAIC04OTQsNyArODk5LDcgQEAgKGRlZmluZSAoZ3VpeC1lbnZpcm9ubWVudCogb3B0cykKIAog ICAgICAgKGRlZmluZSBzdG9yZS1uZWVkZWQ/CiAgICAgICAgIDs7IFdoZXRoZXIgY29ubmVjdGlu ZyB0byB0aGUgZGFlbW9uIGlzIG5lZWRlZC4KLSAgICAgICAgKG9yIGNvbnRhaW5lcj8gKG5vdCBw cm9maWxlKSkpCisgICAgICAgIChvciBjb250YWluZXI/IChub3QgcHJvZmlsZS1vcHRpb24pKSkK IAogICAgICAgKGRlZmluZS1zeW50YXgtcnVsZSAod2l0aC1zdG9yZS9tYXliZSBzdG9yZSBleHAg Li4uKQogICAgICAgICA7OyBFdmFsdWF0ZSBFWFAuLi4gd2l0aCBTVE9SRSBib3VuZCB0byBhIGNv bm5lY3Rpb24sIHVubGVzcwpAQCAtOTI4LDExICs5MzMsMTEgQEAgKGRlZmluZSBtYW5pZmVzdC1m cm9tLW9wdHMKICAgICAgICAgICAgIChvcHRpb25zL3Jlc29sdmUtcGFja2FnZXMgc3RvcmUgb3B0 cykpCiAKICAgICAgICAgICAoZGVmaW5lIG1hbmlmZXN0Ci0gICAgICAgICAgICAoaWYgcHJvZmls ZQotICAgICAgICAgICAgICAgIChwcm9maWxlLW1hbmlmZXN0IHByb2ZpbGUpCisgICAgICAgICAg ICAoaWYgcHJvZmlsZS1vcHRpb24KKyAgICAgICAgICAgICAgICAocHJvZmlsZS1tYW5pZmVzdCBw cm9maWxlLW9wdGlvbikKICAgICAgICAgICAgICAgICBtYW5pZmVzdC1mcm9tLW9wdHMpKQogCi0g ICAgICAgICAgKHdoZW4gKGFuZCBwcm9maWxlCisgICAgICAgICAgKHdoZW4gKGFuZCBwcm9maWxl LW9wdGlvbgogICAgICAgICAgICAgICAgICAgICAgKD4gKGxlbmd0aCAobWFuaWZlc3QtZW50cmll cyBtYW5pZmVzdC1mcm9tLW9wdHMpKSAwKSkKICAgICAgICAgICAgIChsZWF2ZSAoR18gIictLXBy b2ZpbGUnIGNhbm5vdCBiZSB1c2VkIHdpdGggcGFja2FnZSBvcHRpb25zfiUiKSkpCiAKQEAgLTk1 MywxMiArOTU4LDExIEBAIChkZWZpbmUgbWFuaWZlc3QKICAgICAgICAgICAgICAgKG1sZXQqICVz dG9yZS1tb25hZCAoKGJhc2ggICAgICAgKGVudmlyb25tZW50LWJhc2ggY29udGFpbmVyPwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib290c3RyYXA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbSkpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChwcm9mLWRydiAgIChpZiBwcm9maWxlCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChwcm9mLWRydiAgIChpZiBwcm9maWxlLW9wdGlvbgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJldHVybiAjZikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYW5pZmVz dC0+ZGVyaXZhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hbmlmZXN0IHN5c3RlbSBib290c3RyYXA/KSkpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChwcm9maWxlIC0+IChpZiBwcm9maWxlCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVhZGxpbmsqIHByb2ZpbGUp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9maWxlIC0+IChvciBwcm9m aWxlLW9wdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIHByb2YtZHJ2KSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChnYy1yb290IC0+IChhc3NvYy1yZWYgb3B0cyAnZ2Mtcm9v dCkpKQogCkBAIC05OTksMTQgKzEwMDMsMTYgQEAgKGRlZmluZSBtYW5pZmVzdAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6d2hpdGUtbGlzdCB3 aGl0ZS1saXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzpsaW5rLXByb2ZpbGU/IGxpbmstcHJvZj8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOm5ldHdvcms/IG5ldHdvcms/Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzptYXAtY3dkPyAo bm90IG5vLWN3ZD8pKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIzptYXAtY3dkPyAobm90IG5vLWN3ZD8pCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpzZXQtcHJvZmlsZT8gcHJvZmlsZS1v cHRpb24pKSkKIAogICAgICAgICAgICAgICAgICAgIChlbHNlCiAgICAgICAgICAgICAgICAgICAg IChyZXR1cm4KICAgICAgICAgICAgICAgICAgICAgIChleGl0L3N0YXR1cwogICAgICAgICAgICAg ICAgICAgICAgIChsYXVuY2gtZW52aXJvbm1lbnQvZm9yayBjb21tYW5kIHByb2ZpbGUgbWFuaWZl c3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzp3aGl0 ZS1saXN0IHdoaXRlLWxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIzpwdXJlPyBwdXJlPykpKSkpKSkpKSkpKSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cHVyZT8gcHVyZT8KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpzZXQtcHJvZmlsZT8gcHJvZmlsZS1v cHRpb24pKSkpKSkpKSkpKSkpKQogCiA7OzsgTG9jYWwgVmFyaWFibGVzOgogOzs7IGV2YWw6IChw dXQgJ3dpdGgtc3RvcmUvbWF5YmUgJ3NjaGVtZS1pbmRlbnQtZnVuY3Rpb24gMSkKLS0gCjIuMzQu MAoK --b1_GaN3O7CYXCHuYBm2d4AJjIob6ROZ6gORVwG3yfhEaGM-- From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 15:51:54 2022 Received: (at 54375) by debbugs.gnu.org; 13 Mar 2022 19:51:54 +0000 Received: from localhost ([127.0.0.1]:43312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTUFt-0002P0-QQ for submit@debbugs.gnu.org; Sun, 13 Mar 2022 15:51:54 -0400 Received: from mail-ej1-f67.google.com ([209.85.218.67]:45779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTUFs-0002Om-Aq for 54375@debbugs.gnu.org; Sun, 13 Mar 2022 15:51:52 -0400 Received: by mail-ej1-f67.google.com with SMTP id qa43so29561415ejc.12 for <54375@debbugs.gnu.org>; Sun, 13 Mar 2022 12:51:52 -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=sTYtV0CU1anjVP0vkj8BN+8AmNuDgCAqy0xQygfLTa8=; b=Cyc3H6Y5l1+UtEB2IOZApfBKaEcK62IsxEd41fHEi5xS2tSCCUXOvfk04ZnuMEqbHA 4O6EJOOhSh+xOqIJTqj6YHgxUddYQ965IkRpSlZ+Oa1KwfrCMqiblt2QMwjNJtqNz8vn kzoeYdQngrdeEdaFaRjPAGBemjnE8ojWkA6lawJTlDWNZlSrRQZwyN3AeVnKWfrPvtnC vKLPkxrqVQkSe0Lh5HTT/f9pb9vigmhmH/N1kQdsjzqIt9kqqYKUe1h48SZkDGC7aDym 4aXWsHjpelg1y8s5tXfntbo6xsptQ29XZfnMeP9T2EpK0iCtzCVKBGpgXcPMqLKpBA0p GMsw== 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=sTYtV0CU1anjVP0vkj8BN+8AmNuDgCAqy0xQygfLTa8=; b=0xZKnuxUHmlXCkRKJPF6acZlzG302iom6fS8J1+vJmqBQBUZn6BLI2FbiOWu6iv504 stoR5cNqz+E4FXNhZniwtPk/bLwQd4iCIcpIoukLsq3N2AXes1TzqlUG62pbtMdBRI2S NIlTNDrAOlgmzRncFp2Z3Ubm1E4XtiBGUz255Ahfq/EWgXAnSOU4r95H3Hxt09oe6VW4 SuEdpe50Ge1aX6OUaTRmZTrjy0M6KMGVBQx5CODlF5FdJqUgqxfTvSKRKzSWFNokkyYZ tiSosdebwciBytnS18FOSv5WkVwSruq4VkjzIamhDiQ3BdToj4oAolmH3v7x/EpGKwzE Xjjw== X-Gm-Message-State: AOAM5309CaSXjDe79aeUH//VGMFhthhvXE0IgqaGZ6MERUw53J/4Fias xZCGlQ1C7RfOpTGMYqsv1Ps= X-Google-Smtp-Source: ABdhPJwL4GC26r7Sy1a5LBgUKyKeCwqCl9AN+v1iHmAcjKNIpOUZwrdrQGNUUoAUZq2hIALRKHvoOQ== X-Received: by 2002:a17:907:971c:b0:6d6:e503:131b with SMTP id jg28-20020a170907971c00b006d6e503131bmr15864667ejc.121.1647201106088; Sun, 13 Mar 2022 12:51:46 -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 p14-20020aa7cc8e000000b0040f13865fa9sm6734809edt.3.2022.03.13.12.51.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 13 Mar 2022 12:51:45 -0700 (PDT) Message-ID: <68a3e146199e408d50e4ed751e1b7000364704f5.camel@gmail.com> Subject: Re: Mutable guix shell environments From: Liliana Marie Prikler To: Charles , 54375@debbugs.gnu.org Date: Sun, 13 Mar 2022 20:51:43 +0100 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Sonntag, dem 13.03.2022 um 18:21 +0000 schrieb Charles: > Subject: [PATCH 2/2] guix: shell: Implicitly use a .guix-profile as - > -profile option. > > * guix/scripts/shell.scm (auto-detect-manifest): Add ".guix-profile" > to matches as --profile option This one LGTM and it even avoids some problems we're having with caches. I'll keep it open for bikeshedding suggestions w.r.t. the name of the directory to detect, though. > Subject: [PATCH 1/2] guix: environment: Enable mutable environments. > > * guix/scripts/environment.scm (launch-environment launch- > environment/fork > launch-environment/container guix-environment*): Add #:set-profile? > parameter set GUIX_PROFILE > when --profile option is used. > * guix/scripts/environment.scm (guix-environment*): Profile could > point to a > profile directory instead of a store directory. This one not so much. You already have GUIX_ENVIRONMENT set, which should be enough for lookup purposes. If it's about manipulating PATH and other environment variables, I think it'd better to do this manually – you could even spawn a lightweight shell on your own by simply doing the following: $ $SHELL $ GUIX_PROFILE=/path/to/profile $ source $GUIX_PROFILE/etc/profile If you want mutable environments, that's the easiest and imho best way of achieving such a thing. Guix is functional by design and we should not compromise on that. As far as using $GUIX_PROFILE together with `guix shell' is concerned, if anything is even holding it back, it's that we don't respect GUIX_PROFILE in the Scheme code that adds those variables. Which to be fair might be for the best, as GUIX_PROFILE is not guaranteed to correspond to this invocation of `guix shell' when people are careless. That's not to say that support for this couldn't be added, but at the very least we'd have to be more careful about it. Cheers From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 13 19:38:30 2022 Received: (at 54375) by debbugs.gnu.org; 13 Mar 2022 23:38:30 +0000 Received: from localhost ([127.0.0.1]:43566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTXnB-0001yg-Ps for submit@debbugs.gnu.org; Sun, 13 Mar 2022 19:38:30 -0400 Received: from mail-40130.protonmail.ch ([185.70.40.130]:26801) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTXn8-0001yS-Uu for 54375@debbugs.gnu.org; Sun, 13 Mar 2022 19:38:28 -0400 Date: Sun, 13 Mar 2022 23:38:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1647214700; bh=Dv8U1BKuoV0U20qgLkopp+5jzxjvME7JTfroJ7SBBXQ=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=sWiiBCh9ep7FhgvHdkNkNm2uJ6coujg2I3hydqqygLEGjPDzdtVwEFIbiY1IEmnFv 87RSjcFrIhoayaqWzZoXpqYLIhMpTnWiGx+FWlsPlGIFietJi3xbzCiHr+u3yzJW9p 3THJRrxnOrWmrvvr6d4ftci/esESArWrCKCY/XTGtco6Dy4GkBToazTlb7uC7p8ikv DTCjdlzptAAIuWdsLeGRC6gLpo1+6sNE8UAbWpmDB0nAL66Ui3oikF6/v9Ie0z28+v ktQIMx9n8+kp+qDxUuJ+JepVlXE8z5QapHIwSUrMEUptnjFas9bw1ZuwsYPRJd3Srs L0ZmnzZCdOccQ== To: Liliana Marie Prikler From: Charles Subject: Re: Mutable guix shell environments Message-ID: <9QXS8i-Ylzc9pxojB3WT0LMPFqm00N-jwx08sZnPLn7KmSvC85K7jvgGmQTcg138EEa6Aqh7W4n87KXkZvxJyt--ze0rCVnGVG2SMskLgNU=@protonmail.com> In-Reply-To: <68a3e146199e408d50e4ed751e1b7000364704f5.camel@gmail.com> References: <68a3e146199e408d50e4ed751e1b7000364704f5.camel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Charles Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thanks for taking a look Liliana. I'm glad you like guix shell detecting a = local profile. > $ $SHELL > $ GUIX_PROFILE=3D/path/to/profile > $ source $GUIX_PROFILE/etc/profile This is basically what I was going for. I just find this useful to be built= in. When I think "guix shell", I think: "make an environment where I have = everything I need". If I want to adjust what I need, why do I need to resta= rt everything from scratch. If I did not know about guix shell and did all = my development using ~/.guix-profile, this functionallity would already be = available. > Guix is functional by design and we should not compromise on that. I totally agree, and I do not think this does compromise it. With my patch,= guix shells using guix.scm or manifest, would be unchanged. Currently, gui= x shell --profile, has strickly less functionallity than using the profile = otherwise, this could be confusing (as it is to me). Profiles are not reall= y mutable since they use generations; the subject line is a bit of a misnom= er. > As far as using $GUIX_PROFILE tog... Yeah, before my patch, guix shell --profile, would not be set to the profil= e I'm using. This actually makes sense, because, we are not really using it= . Guix shell just happens to be using all the same packages that were avail= able in that profile. Confusingly, If the profile, is updated, the shell is= now out of sync with it. My patch should make using guix shell --profile m= ore intuitive. ------- Original Message ------- On Sunday, March 13th, 2022 at 2:51 PM, Liliana Marie Prikler wrote: > Am Sonntag, dem 13.03.2022 um 18:21 +0000 schrieb Charles: > > > Subject: [PATCH 2/2] guix: shell: Implicitly use a .guix-profile as - > > > > -profile option. > > > > * guix/scripts/shell.scm (auto-detect-manifest): Add ".guix-profile" > > > > to matches as --profile option > > This one LGTM and it even avoids some problems we're having with > > caches. I'll keep it open for bikeshedding suggestions w.r.t. the name > > of the directory to detect, though. > > > Subject: [PATCH 1/2] guix: environment: Enable mutable environments. > > > > * guix/scripts/environment.scm (launch-environment launch- > > > > environment/fork > > > > launch-environment/container guix-environment*): Add #:set-profile? > > > > parameter set GUIX_PROFILE > > > > when --profile option is used. > > > > * guix/scripts/environment.scm (guix-environment*): Profile could > > > > point to a > > > > profile directory instead of a store directory. > > This one not so much. You already have GUIX_ENVIRONMENT set, which > > should be enough for lookup purposes. If it's about manipulating PATH > > and other environment variables, I think it'd better to do this > > manually =E2=80=93 you could even spawn a lightweight shell on your own b= y > > simply doing the following: > > $ $SHELL > > $ GUIX_PROFILE=3D/path/to/profile > > $ source $GUIX_PROFILE/etc/profile > > If you want mutable environments, that's the easiest and imho best way > > of achieving such a thing. Guix is functional by design and we should > > not compromise on that. > > As far as using $GUIX_PROFILE together with `guix shell' is concerned, if= anything is even holding it back, it's that we don't respect GUIX_PROFILE = in the Scheme code that adds those variables. Which to be fair might be for= the best, as GUIX_PROFILE is not guaranteed to correspond to this invocati= on of` guix shell' when people are careless. > > That's not to say that support for this couldn't be added, but at the > > very least we'd have to be more careful about it. > > Cheers From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 01:19:52 2022 Received: (at 54375) by debbugs.gnu.org; 14 Mar 2022 05:19:52 +0000 Received: from localhost ([127.0.0.1]:43796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTd7Y-00028m-IQ for submit@debbugs.gnu.org; Mon, 14 Mar 2022 01:19:52 -0400 Received: from mail-ej1-f68.google.com ([209.85.218.68]:35466) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTd7W-00028X-Ru for 54375@debbugs.gnu.org; Mon, 14 Mar 2022 01:19:51 -0400 Received: by mail-ej1-f68.google.com with SMTP id yy13so31350031ejb.2 for <54375@debbugs.gnu.org>; Sun, 13 Mar 2022 22:19:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=fs8reemqQdig/6+xoPThB6SWmXtv++9uHnUhPx7ADOo=; b=R/iMi22JC3T3euPWaTRgeLL6ERKhM75+Awp65ElQweVe54I7odHYR+EEbY9hhFccTT oMBR0kMt5GYGRg5cmkkyn6t36VSUqW9ExAkJuwB1tW8NbyWP7fMCOB93gUuasOd0IB79 r7F0lkOp2LVpvIX7I2YsY67CpzlrE3rG595nE3J5H3NUMyg/pssH6CiLGuEON71UM+R6 CuxiTqa5psj1JHFrmPMfOBAnLcdGArqJ+U6TmJGCvzzaZt4ghtDPK/SIR/56rrPv/qfm DoVK73aUCBozvwprIogkE7t6fnjloKMUSWwIqcf5V6EdzkNtBH9r5dLc7JELDMmzVpid q/6Q== 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:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=fs8reemqQdig/6+xoPThB6SWmXtv++9uHnUhPx7ADOo=; b=2t9j2fS03G3EgwirJhs8FU9s6D3T94Y9yJo+M6mXDd/z/VHx2awPs7LGdRWGeZQHfK jHvHiJ//YvMhggNcSbVfA7e3kliNiLM99quVZLr2tnw0iLrKhmkZCc1irXPOWd/7zbnN /2B4chnaO4KuUPXJ5Xu+SIqOm5tPK2PSQ5a1GZrm98TRncTiy7m8ftCSNMA7oEvIGPfl BKQW8EbCc0K03fxKa/zes+6AuUSrsRD/qZVJ4biFvIlbksB/GnoMacS3Xjjo0B0XWuvE TgbAcoTBVeFBh46Xoukra4r0+nZSAls0pY2q/NEazuOb9sIQ2xAXSWoiZN055SwHWmYS +ALg== X-Gm-Message-State: AOAM531ls2C5CLMca3u5e45LGqo45melG25ERTU9lop84+Rc9bCpi62S NjhQDznB8NlYdv+DW9NW+E4= X-Google-Smtp-Source: ABdhPJw4QGOD0hz5u3cmASqqp9T67QFqjCV2bXxd40CMKi/ufaOEZhUxX31QQl/mcel7qzSgg2V2UQ== X-Received: by 2002:a17:906:2ad5:b0:6cf:9cca:d9db with SMTP id m21-20020a1709062ad500b006cf9ccad9dbmr16906760eje.252.1647235184973; Sun, 13 Mar 2022 22:19:44 -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 z17-20020a50f151000000b004162ecc0c9fsm7296014edl.68.2022.03.13.22.19.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 13 Mar 2022 22:19:44 -0700 (PDT) Message-ID: <73d3dfc2ceebd68f6afc9af6ae96391933592e07.camel@gmail.com> Subject: Re: Mutable guix shell environments From: Liliana Marie Prikler To: Charles Date: Mon, 14 Mar 2022 06:19:42 +0100 In-Reply-To: <9QXS8i-Ylzc9pxojB3WT0LMPFqm00N-jwx08sZnPLn7KmSvC85K7jvgGmQTcg138EEa6Aqh7W4n87KXkZvxJyt--ze0rCVnGVG2SMskLgNU=@protonmail.com> References: <68a3e146199e408d50e4ed751e1b7000364704f5.camel@gmail.com> <9QXS8i-Ylzc9pxojB3WT0LMPFqm00N-jwx08sZnPLn7KmSvC85K7jvgGmQTcg138EEa6Aqh7W4n87KXkZvxJyt--ze0rCVnGVG2SMskLgNU=@protonmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Charles, Am Sonntag, dem 13.03.2022 um 23:38 +0000 schrieb Charles: > Thanks for taking a look Liliana. I'm glad you like guix shell > detecting a local profile. > > > $ $SHELL > > $ GUIX_PROFILE=/path/to/profile > > $ source $GUIX_PROFILE/etc/profile > > This is basically what I was going for. I just find this useful to be > built in. When I think "guix shell", I think: "make an environment > where I have everything I need". If I want to adjust what I need, why > do I need to restart everything from scratch. If I did not know about > guix shell and did all my development using ~/.guix-profile, this > functionallity would already be available. Yes, but it'd also be broken af. You are focusing on a very particular use case and ignoring all others. What if instead of just "a package" I wanted to add or remove a package that defines a search path, e.g. Emacs? In the adding case, EMACSLOADPATH would not get defined and in the removing case it would still linger. What you describe as desired functionality is not at all well-defined. Using `guix shell --profile' on the other hand has the same semantics as the other `guix shell' commands, and is thus imo less confusing once you start to think about it. Cheers From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 02:25:07 2022 Received: (at 54375) by debbugs.gnu.org; 14 Mar 2022 06:25:07 +0000 Received: from localhost ([127.0.0.1]:43831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTe8h-0003nS-Bo for submit@debbugs.gnu.org; Mon, 14 Mar 2022 02:25:07 -0400 Received: from mail-4319.protonmail.ch ([185.70.43.19]:10901) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTe8f-0003mr-3p for 54375@debbugs.gnu.org; Mon, 14 Mar 2022 02:25:06 -0400 Date: Mon, 14 Mar 2022 06:24:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1647239098; bh=yY7xJCXntZbSLT9zXW3A5zDhmKvICfzECN7MT8wgKgs=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=njJfUzxQnFVLfJqQcKUfI5uxUY2eOeutOXGwUCmAu5BngslOwt8THkvWtU1dS95ly 0xgFKmudlAfIQHbPJIXHxTkekfUgDmAZnFOov57Av4eET8VyhpF+e1QwMycP6lTa6I NWgwFrFgAvjMDqVm4D/5S+znAeevgZRbrBcK7xU+zF2LykLAI7Bi+/zApRMhrvVw9+ 1ikA1MLthpUCE1ehF9svdEiQGyD1e2vLa48ILLTC36tKdxs/YcFItxwZlhuQyDh+/X xxVDfpx/93xlEznLb+MGsUqvgflyWl98hD0ZsCxKDBjxFqqqyDqIMqzOOaf9mut/ON cwkmTd/kVGTuQ== To: Liliana Marie Prikler From: Charles Subject: Re: Mutable guix shell environments Message-ID: In-Reply-To: <73d3dfc2ceebd68f6afc9af6ae96391933592e07.camel@gmail.com> References: <68a3e146199e408d50e4ed751e1b7000364704f5.camel@gmail.com> <9QXS8i-Ylzc9pxojB3WT0LMPFqm00N-jwx08sZnPLn7KmSvC85K7jvgGmQTcg138EEa6Aqh7W4n87KXkZvxJyt--ze0rCVnGVG2SMskLgNU=@protonmail.com> <73d3dfc2ceebd68f6afc9af6ae96391933592e07.camel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Charles Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > What if instead of just "a package" I wanted to add or remove a package t= hat defines a search path As with ~/.guix-profile, you will have to . "$GUIX_PROFILE/etc/profile" jus= t like the hint says. For removing, they linger, that is exactly what the d= efault profile does too. This comes down to us disagreeing which is more important & useful: guix sh= ell semantics vs profile semantics. guix shell --profile could go either wa= y. Another way to look at it is that I this sequence of 3 commands very useful= (so might others). They clearly have something to do with guix profiles, a= nd they spawn a new shell. Thus I thought guix shell --profile was the perf= ect place for them. You claim they do not belong there. Is there a better p= lace you would suggest? From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 13:43:19 2022 Received: (at 54375) by debbugs.gnu.org; 14 Mar 2022 17:43:19 +0000 Received: from localhost ([127.0.0.1]:46243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nToj1-0002Eu-21 for submit@debbugs.gnu.org; Mon, 14 Mar 2022 13:43:19 -0400 Received: from baptiste.telenet-ops.be ([195.130.132.51]:56454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nToiy-0002Ej-HC for 54375@debbugs.gnu.org; Mon, 14 Mar 2022 13:43:17 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by baptiste.telenet-ops.be with bizsmtp id 6HjE2700F4UW6Th01HjELv; Mon, 14 Mar 2022 18:43:14 +0100 Message-ID: <70714172793d0ad63c4c173606e4fe9ae6b4b228.camel@telenet.be> Subject: Re: [bug#54375] Mutable guix shell environments From: Maxime Devos To: Charles , 54375@debbugs.gnu.org Date: Mon, 14 Mar 2022 18:43:06 +0100 In-Reply-To: References: Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-JxDyRJkNpVzwE3zijkKZ" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1647279794; bh=e2+dGg5UOTaJjxWP8izOPgIcNZMCJuoDlEea5bi6KaQ=; h=Subject:From:To:Date:In-Reply-To:References; b=l89MMmO+843qGzQptWwD/2J/AtMYz+IEExdforvc7NA0EOJFrDcCi5Uc0S83fUNLr G5Vx4qNw3WRfE4jTkVwbUwOkKnmNjgscTRdfNCG6EkiI9sR7sf/QPsQfvtRuzbVY+T Rab8MEHGDpqLcF9yvQTFldqiZTIpevs2H4xEryuSXDAvCI0aEqpCiUxQC21txT0g/o SxLQ3lHzTSD7dy2bzz/wybynJJDaLe3iwUSfUbbyrZUAkMCijVXdJkDalHD9A0Ki1S cmpElKkSvyeLUbZScDl9JuPMG5y7/rgqx+OX+wsOIw8d2R1Z8I5lgqI9rZdns6fEN7 GBxX9AnxTegzQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 54375 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-JxDyRJkNpVzwE3zijkKZ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Charles via Guix-patches via schreef op zo 13-03-2022 om 18:21 [+0000]: > sample useage: > $ cd project > $ guix package --manifest=3Dmanifest.scm --profile=3D.guix-profile > $ guix shell # --profile=3D.guix-profile is implicit >=20 > do some stuff. realize that you want to bring in another package. >=20 > $ guix install --profile=3D.guix-profile additional-package >=20 > Then additional package is instantly available. This is especially useful= to lisp programmers because, currently, bringing in an additional library = involves restarting shell, lisp process, reloading source files, regenerati= ng process state. If this is added, then this needs to be documented in the manual, preferably with some examples on how to use it. Greetings, Maxime. --=-JxDyRJkNpVzwE3zijkKZ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYi9+qhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tgvAQCth5d7r2ZniVCh2VgNmxhXV67L sj0ITedZrfJnsFeYJQD8CUkX4qzWa8KQQJAXa6GUXDM79DQywju1U4xjRx4DrAQ= =eiKs -----END PGP SIGNATURE----- --=-JxDyRJkNpVzwE3zijkKZ-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 13:55:02 2022 Received: (at 54375) by debbugs.gnu.org; 14 Mar 2022 17:55:02 +0000 Received: from localhost ([127.0.0.1]:46252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTouL-0004k2-V1 for submit@debbugs.gnu.org; Mon, 14 Mar 2022 13:55:02 -0400 Received: from baptiste.telenet-ops.be ([195.130.132.51]:44736) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTouK-0004jn-1s for 54375@debbugs.gnu.org; Mon, 14 Mar 2022 13:55:00 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by baptiste.telenet-ops.be with bizsmtp id 6Huy270044UW6Th01HuycN; Mon, 14 Mar 2022 18:54:58 +0100 Message-ID: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> Subject: Re: [bug#54375] Mutable guix shell environments From: Maxime Devos To: Charles , 54375@debbugs.gnu.org Date: Mon, 14 Mar 2022 18:54:52 +0100 In-Reply-To: References: Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-/BZ4EHH+u/8o8cgftpno" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1647280498; bh=pf5jHRE+r10gEsHOqoC+KBfEZwthhEwj8DvKODajYV0=; h=Subject:From:To:Date:In-Reply-To:References; b=khwQAHVnhtz/5uCBvnJK6HG2XwZL148/jmJN+fr6UlQhT7Ml2YxsEXOETDAQOp8bf Fm6vlbj5x53jjb6LCZin0WtRrP20PBEpNFDTWmnplRU+Sbf+yQKSSII3FYMoxzJYxk WaSKQ+X+wvUNVQRAswpj3z6p6TsBJz1fehP44fed3cqJEMmR+DurrEXwTMiAI+cmEN leedSjFfJAtv22XuuicDu7H0xwJ67X7+lkxw0Cb9Ns0h7qmARA8G2n3nCxlMfUI7N2 W83GupEDbkadJ8ODgsmEw7mIed4C6gRxklaUUbb3k4IClaBEcquku5oC+3e/pp//tj U5utOouhczKWA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 54375 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-/BZ4EHH+u/8o8cgftpno Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Charles via Guix-patches via schreef op zo 13-03-2022 om 18:21 [+0000]: > sample useage: > $ cd project > $ guix package --manifest=3Dmanifest.scm --profile=3D.guix-profile > $ guix shell # --profile=3D.guix-profile is implicit Alternative suggestion, which IMHO fits the non-persistent naturre of "guix shell" better: $ cd project $ guix shell --allow-temporary-modifications # fails on read-only file syst= ems $ echo $GUIX_ENVIRONMENT # a temporary (mutable) profile was created > $HOME/.cache/.../profile # install things in the $GUIX_ENVIRONMENT profile $ guix install foo bar ...=20 As noted by lilyp, this won't work in all situations due to search path issues. These could be resolved by always setting a few search paths (PATH, EMACSLOADPATH, GUILE_LOAD_PATH, INFOPATH, ...) (even in not currentl= y present in the profile!), at cost of having to make them =E2=80=98magical= =E2=80=99 in some sense, which ludo does not seem to like IIUC. (This could also be done for ~/.guix-profile) (I don't like it much either, but it seems a very convenient solution that does not seem to have any concrete downsides and IMHO it seems much better than telling the user to re-source the profile.) Greetings, Maxime. --=-/BZ4EHH+u/8o8cgftpno Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYi+BbBccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uDOAQCjicNVh1niTT00xHk+NBo7MyY6 IGiGV+T3+Nu1ov+ZdwD+Lw/9ReUFPNadRiKk98TkqpeXj41ePPHbw3oXJOTa7gM= =vAKG -----END PGP SIGNATURE----- --=-/BZ4EHH+u/8o8cgftpno-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 15:42:04 2022 Received: (at 54375) by debbugs.gnu.org; 14 Mar 2022 19:42:04 +0000 Received: from localhost ([127.0.0.1]:46344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTqZw-0007kf-Fp for submit@debbugs.gnu.org; Mon, 14 Mar 2022 15:42:04 -0400 Received: from mail-40135.protonmail.ch ([185.70.40.135]:37746) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTqZu-0007k8-C0 for 54375@debbugs.gnu.org; Mon, 14 Mar 2022 15:42:03 -0400 Date: Mon, 14 Mar 2022 19:41:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1647286916; bh=E6AZQt0kaW0ZZaz7GuFe4okQ8Y8eyHB6q4z1ugkUL7A=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=P2Y5FOQcZx/2X22Qusq2L+HJzTmvKGC3KgX4nE7g+bHO8Whaa2YStvVC++P1tccke UvEaRDy+G2wmp2E37SZwLkSKuiD/7gegG4gHqm7zSYm4VrsPO+Cb7mjQwm20ZMU2As 6dXlkOgg+KpQFnhekYc7St9af2NxtNua+2gQCNIXJJ+eLy4aRJ48cItlb3ktpElmg9 Buo6zMSwWCgCpYm01hD20gPFifgSkChHFo9yknSmx6pazqbZ6a0OcSdxY49LBGHR6F BBpGMjhFbqFZT8Te9UrFqs/iZl/cyJdXot0Y3TKIBwAeKRp8ZvmR2dgxA0VUsqcmdh EbEd4ocqUFcAg== To: Maxime Devos From: Charles Subject: Re: [bug#54375] Mutable guix shell environments Message-ID: In-Reply-To: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> References: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Charles Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thanks for taking a look Maxime. I actually like Your alternate suggestion better (though the name --allow-t= emporary-modifications is a bit long). I'm not sure how to implement it tho= ugh. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 14 18:18:46 2022 Received: (at 54375) by debbugs.gnu.org; 14 Mar 2022 22:18:46 +0000 Received: from localhost ([127.0.0.1]:46706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTt1Z-0003oh-OF for submit@debbugs.gnu.org; Mon, 14 Mar 2022 18:18:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55640) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTt1Y-0003oS-AC for 54375@debbugs.gnu.org; Mon, 14 Mar 2022 18:18:44 -0400 Received: from [2001:470:142:3::e] (port=52864 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTt1S-0005wH-FK; Mon, 14 Mar 2022 18:18:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=bQbOHFi1qwZwTSAfhvsvUgtH7asciTEnfdUPdK/c2C8=; b=EDmf9LTHQrwzJ0bjX1YK SKPfVxkbuPgXELYGB3niujXbneCK5R1zpWiL34sEkKV59XUh7C8vzeJyX6wSRPTht1N2ZtDxXKXrG ZBMC9xEBNzln4cqOkmnjl3Ao50nD+AWc3BFxtysMxrGGHNqUGcVxB1c5I7RSNbz/k0B0y8Yk+E7XH 4EPUmhbdCig3H6iomHjuHrKWKcK//eYwgYuXcyIi5oKMaA8mAGWeWLb4y4oy64jUzI+IxWJSm17OD mv/A1i/19wvpyn7Lhgkv593EaU12rGU0Mw9DmJJtPu/BXNQU9xkSLamf6fMzuRfkMHYNZP5hpT8zQ cuOPGav/KRN2mw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:56449 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTt1S-0006sO-2s; Mon, 14 Mar 2022 18:18:38 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#54375: Mutable guix shell environments References: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> Date: Mon, 14 Mar 2022 23:18:35 +0100 In-Reply-To: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> (Maxime Devos's message of "Mon, 14 Mar 2022 18:54:52 +0100") Message-ID: <87pmmop490.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org, Charles X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Maxime Devos skribis: > Charles via Guix-patches via schreef op zo 13-03-2022 om 18:21 [+0000]: >> sample useage: >> $ cd project >> $ guix package --manifest=3Dmanifest.scm --profile=3D.guix-profile >> $ guix shell # --profile=3D.guix-profile is implicit > > Alternative suggestion, which IMHO fits the non-persistent naturre of > "guix shell" better: > > $ cd project > $ guix shell --allow-temporary-modifications # fails on read-only file sy= stems Or =E2=80=98--transient=E2=80=99. > $ echo $GUIX_ENVIRONMENT > # a temporary (mutable) profile was created >> $HOME/.cache/.../profile > # install things in the $GUIX_ENVIRONMENT profile > $ guix install foo bar ...=20 > > As noted by lilyp, this won't work in all situations due to search path > issues. These could be resolved by always setting a few search paths > (PATH, EMACSLOADPATH, GUILE_LOAD_PATH, INFOPATH, ...) (even in not curren= tly > present in the profile!), at cost of having to make them =E2=80=98magical= =E2=80=99 in some > sense, which ludo does not seem to like IIUC. (This could also be done > for ~/.guix-profile) I like this approach. Charles=E2=80=99 proposal reminds me of =E2=80=98module=E2=80=99, a venerab= le =E2=80=9Cenvironment management=E2=80=9D tool widely used in high-performance computing (HPC): http://modules.sourceforge.net/ That command allows for an incremental style like Charles proposes: module load gcc # adds GCC to $PATH module load libgc # adds libgc to $C_INCLUDE_PATH module unload libgc # removes libgc from $C_INCLUDE_PATH For this to work though, =E2=80=98module=E2=80=99 is actually a shell funct= ion: that lets it adjust environment variables here and now. Anyway, I digress=E2=80=A6 I thought about this other approach: 1. =E2=80=98guix shell=E2=80=99 always builds a new profile, as it alread= y does. 2. When =E2=80=98GUIX_ENVIRONMENT=E2=80=99 is defined, it computes search= paths as a combination of the new profile and that pointed to by $GUIX_ENVIRONMENT. 3. It spawns a new shell, like it already does. Thus, instead of doing upfront: guix shell a b c One could do: $ guix shell a [env]$ guix shell b [env]$ guix shell c It is more accurate but less flexible than what you propose though, because only child processes of the nested shells would see the =E2=80=9Cchanges=E2=80=9D. So maybe not a good idea, after all. Hmm, need more thought=E2=80=A6 Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 05:50:11 2022 Received: (at 54375) by debbugs.gnu.org; 15 Mar 2022 09:50:11 +0000 Received: from localhost ([127.0.0.1]:47589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nU3og-0008RQ-Ts for submit@debbugs.gnu.org; Tue, 15 Mar 2022 05:50:11 -0400 Received: from mail-io1-f50.google.com ([209.85.166.50]:43869) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nU3of-0008R2-N4 for 54375@debbugs.gnu.org; Tue, 15 Mar 2022 05:50:10 -0400 Received: by mail-io1-f50.google.com with SMTP id r11so21446282ioh.10 for <54375@debbugs.gnu.org>; Tue, 15 Mar 2022 02:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=GYILHExVn95v3hY5uHV/mYou5ySoLpKiXjIW+yN7aN4=; b=md0Ocrl+5VVAzFhy2fyUzRdZBeGBIITgWcAzzeXtemmMU6dcOh1qWST4+VktM5pH3R Cg+jBISwhzUMnR+FO6CwU9jBJLyenxDQNyzC/I8Vu9UoU34mOBXcZ1s3m1Q4qYcsUA98 EArfssNavZUYd2vpzw43ECIhqMz4c5kLtyVFVn0wW0nLrLOCF2HcBEeYw4JhxCV+t4Ms XuhQFct2RcdeJVbSPCUorscV7a22wWCK0RioFc1U8fRGXTuYGge3/qjp2LJhWVvJMmIe 7N3cpuaU+KP1bnpKEajVA2fX81RhgtXSzHbNu3OAH+EaYpFKuzG5HG8Mp3YNWpiyQ+G3 Q2Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=GYILHExVn95v3hY5uHV/mYou5ySoLpKiXjIW+yN7aN4=; b=v8NdIUVEuVT6ENNRoeRRtuPIWZLdpEiAnaFBxluevSeflNA8/s3BUHKVPoFOpZUG6c 9QQeW4BI1M0n3KH1XExYGf6REVM/pPO4IOCWzjbiNp9+cZ6spgVoEK+S6PK2xsmxB854 4SEcSGdMB875BEdXQdAd2Hvj8fMAYw+hefsWWaGCF/HEqEZGj4UQl9PoIuYyq01vwcrO 7mjzO6r3uJfU/bkDbsTXmeLj18BlvCJS80L7uzohtLbl7XAFLDGeIfveywYCmUcecW5P XEv5FQLAj+2nxyOar4pf7oPOeOESOUP2mWZc0HJzRpj/cA8SWBuVEHZ7CM9qstWyZx4p 2myw== X-Gm-Message-State: AOAM5335SmvE8g4nAJKHDbKF7Jick8amnFbQZRemTU1ko95665IqW5PA v1jc7F1y9hYcSz2EKEkMgJXjgqMibCZMBJbtx70= X-Google-Smtp-Source: ABdhPJzQI2cQbw4XjYpkNPL5p21o/9I/RhxE123BFzX/NZ60vbGXncEFNp2+2BvSLw2D+NmT1NP+ah0jFtWOLpr97bs= X-Received: by 2002:a05:6638:12c3:b0:319:9b70:5ad8 with SMTP id v3-20020a05663812c300b003199b705ad8mr22372105jas.132.1647337803861; Tue, 15 Mar 2022 02:50:03 -0700 (PDT) MIME-Version: 1.0 References: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> <87pmmop490.fsf_-_@gnu.org> In-Reply-To: <87pmmop490.fsf_-_@gnu.org> From: zimoun Date: Tue, 15 Mar 2022 10:49:52 +0100 Message-ID: Subject: Re: [bug#54375] Mutable guix shell environments To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org, Charles , Maxime Devos X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, On Mon, 14 Mar 2022 at 23:19, Ludovic Court=C3=A8s wrote: > That command allows for an incremental style like Charles proposes: > > module load gcc # adds GCC to $PATH > module load libgc # adds libgc to $C_INCLUDE_PATH > module unload libgc # removes libgc from $C_INCLUDE_PATH > > For this to work though, =E2=80=98module=E2=80=99 is actually a shell fun= ction: that > lets it adjust environment variables here and now. While I understand the need of Charles's proposal, especially in development or exploration, I am convinced that this "incremental style" is the root of many unreproducible computational environments. The "incremental style" is a quick and dirty approach for creating a computational environment and because the discipline is wrong then it lead more than often to hard-to-reproduce computational environment, therefore Guix should not try to mimick, IMHO. I agree with Liliana's words: =C2=ABGuix is functional by design and we should not compromise on that.=C2=BB. To me, it is as programmers being strongly used to imperative style complaining about the paradigm shift of the functional style -- or vice-versa... I digress. :-) To mitigate because we have to work and sadly need to have things done... > One could do: > > $ guix shell a > [env]$ guix shell b > [env]$ guix shell c ..somehow, it would ease if when requiring the package 'b', the environment is "aware" of the search paths of the environment required by the package 'a'. For instance, --8<---------------cut here---------------start------------->8--- $ guix shell man-db [env]$ tree $MANPATH /gnu/store/m3i9pga6rqfg342sajzww4gl8w51q6sz-profile/share/man =E2=94=9C=E2=94=80=E2=94=80 index.db -> /gnu/store/pdh5nz4qkg5q243q5rgxkk1hnmaf1plq-manual-database/share/man/index= .db =E2=94=9C=E2=94=80=E2=94=80 it -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wnn2= mx-man-db-2.9.4/share/man/it =E2=94=9C=E2=94=80=E2=94=80 man1 -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wn= n2mx-man-db-2.9.4/share/man/man1 =E2=94=9C=E2=94=80=E2=94=80 man5 -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wn= n2mx-man-db-2.9.4/share/man/man5 =E2=94=94=E2=94=80=E2=94=80 man8 -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wn= n2mx-man-db-2.9.4/share/man/man8 4 directories, 1 file [env]$ guix shell coreutils [env]$ tree $MANPATH /gnu/store/m3i9pga6rqfg342sajzww4gl8w51q6sz-profile/share/man =E2=94=9C=E2=94=80=E2=94=80 index.db -> /gnu/store/pdh5nz4qkg5q243q5rgxkk1hnmaf1plq-manual-database/share/man/index= .db =E2=94=9C=E2=94=80=E2=94=80 it -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wnn2= mx-man-db-2.9.4/share/man/it =E2=94=9C=E2=94=80=E2=94=80 man1 -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wn= n2mx-man-db-2.9.4/share/man/man1 =E2=94=9C=E2=94=80=E2=94=80 man5 -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wn= n2mx-man-db-2.9.4/share/man/man5 =E2=94=94=E2=94=80=E2=94=80 man8 -> /gnu/store/vg7g63qddkd8jxlhlm9j1wxxj8wn= n2mx-man-db-2.9.4/share/man/man8 --8<---------------cut here---------------end--------------->8--- Here, 'coreutils' is not "aware" of the parent 'man-db' and thus MANPATH does not contains the expected 114 files. --8<---------------cut here---------------start------------->8--- $ guix shell coreutils man-db [env]$ tree $MANPATH [...] 4 directories, 114 files --8<---------------cut here---------------end--------------->8--- Using an option, say '--transient', a new profile is created each time but what this new profile contains would depends of the parent profile. Last, the manipulation of a "temporary" profile is done via "guix shell" thus this "transient" profile should be manipulated via "guix shell" and not "guix package" (or aliases as "guix install"). However, what could appear still annoying is the stack of environment: guix shell a guix shell b guix shell c then remove the package 'a' from the environment requires to exit 2 environments and then re-create them. Need more thoughts. :-) Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 15 19:52:44 2022 Received: (at 54375) by debbugs.gnu.org; 15 Mar 2022 23:52:45 +0000 Received: from localhost ([127.0.0.1]:49862 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nUGy4-0007Ki-L1 for submit@debbugs.gnu.org; Tue, 15 Mar 2022 19:52:44 -0400 Received: from mail-4318.protonmail.ch ([185.70.43.18]:50915) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nUGy3-0007KT-E2 for 54375@debbugs.gnu.org; Tue, 15 Mar 2022 19:52:43 -0400 Date: Tue, 15 Mar 2022 23:52:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1647388356; bh=BYY24Ylmx6E649dOf425sOkEvAJO+1WMg7gRqdgTS2Q=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=MjtI0awxKYNxe3MXveoc7ZUx3eZ6suD6ynbA1KRuyYMHQvfg580gmkop/mvCECpy8 0Kmb85iuq+2q86CBpYOYa9++OP3+OMR2tHPjIQbhh1PMq7jYAqjfyq0zZLaJF1EQP6 KkuHB4a7I3xy7MymUHhD0ROrHmpvapc8XISX1VzaSBBv/eigtacT0YjRT5S2u10GqD opZCrDdO8GpEi5ckcZ1bIXY1WIY2LHjVS0FmIIZEA3IIEkVP3rDDNtEIazVxTiqQEi 12EiTqyklDb0FV/2b+1X0LCmjlZNucvcCX6toXDdZZElEvWhHKEdfm1Fc1brMJ8W3r 6N+UWUzHuUsoA== To: zimon.toutoune@gmail.com, ludo@gnu.org From: Charles Subject: Re: [bug#54375] Mutable guix shell environments Message-ID: In-Reply-To: References: <6aaf3dfaa6c207b2968b756fa86806232227e2be.camel@telenet.be> <87pmmop490.fsf_-_@gnu.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_3G8i769mv4hqesZSKmbwi9pb0LfSuM1OfUaZ2Ttg" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54375 Cc: 54375@debbugs.gnu.org, maximedevos@telenet.be X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Charles Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_3G8i769mv4hqesZSKmbwi9pb0LfSuM1OfUaZ2Ttg Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGVsbG8gc2ltb247IHRoYW5rIHlvdSBmb3IgeW91ciBpbnB1dC4KCj4gVGhlICJpbmNyZW1lbnRh bCBzdHlsZSIgaXMgYSBxdWljayBhbmQgZGlydHkgYXBwcm9hY2ggZm9yIGNyZWF0aW5nIGEgY29t cHV0YXRpb25hbCBlbnZpcm9ubWVudAoKSWYgcHJvZmlsZXMgYXJlIHVzZWQsIGl0IGNhbiBiZSBl eHBvcnRlZCB0byBhIG1hbmlmZXN0LgoKPiBHdWl4IGlzIGZ1bmN0aW9uYWwgYnkgZGVzaWduIGFu ZCB3ZSBzaG91bGQgbm90IGNvbXByb21pc2Ugb24gdGhhdC4KCkkgd2FudCB0byByZWl0ZXJhdGUg dGhhdCBJIGFtIG5vdCBwcm9wb3NpbmcgYW55dGhpbmcgbGVzcyBGUCB0aGFuIHByb2ZpbGVzLgoK TmVzdGVkIHNoZWxscyBkbyBub3QgZml0IG15IHVzZSBjYXNlIGJlY2F1c2UgYSBsb25nIHJ1bm5p bmcgcHJvY2VzcyBzdGFydGVkIGluIHNoZWxsICJhIiBkb2VzIG5vdCBiZWNvbWUgYXdhcmUgb2Yg cGFja2FnZXMgaW5zdGFsbGVkIG9uIHNoZWxsICJiIi4KCj4gdGh1cyB0aGlzICJ0cmFuc2llbnQi IHByb2ZpbGUgc2hvdWxkIGJlIG1hbmlwdWxhdGVkIHZpYSAiZ3VpeCBzaGVsbCIgYW5kIG5vdCAi Z3VpeCBwYWNrYWdlIgoKSSBjaG9zZSAiZ3VpeCBpbnN0YWxsIiBmb3IgbXkgcHJvcG9zYWwgYmVj YXVzZSBpdCBhbHJlYWR5IGhhcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhZGRpbmcgYSBuZXcgZ2Vu ZXJhdGlvbi4gSSBkbyBub3QgdGhpbmsgaXQgd291bGQgYmUgZ29vZCB0byBjaGFuZ2UgdGhlIHNl bWFudGljcyBvZiBuZXN0ZWQgc2hlbGxzLgoKSSBmYWlsZWQgdG8gbWVudGlvbiBlYXJsaWVyIHRo YXQgSSBsaWtlIHRoZSBuYW1lICItLXRyYW5zaWVudCI= --b1_3G8i769mv4hqesZSKmbwi9pb0LfSuM1OfUaZ2Ttg Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 SGVsbG8gc2ltb247IHRoYW5rIHlvdSBmb3IgeW91ciBpbnB1dC48ZGl2PjxiciAvPjwvZGl2Pjxk aXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj4mZ3Q7IFRoZSAiaW5jcmVtZW50YWwgc3R5 bGUiIGlzIGEgcXVpY2sgYW5kIGRpcnR5IGFwcHJvYWNoIGZvciBjcmVhdGluZyBhIGNvbXB1dGF0 aW9uYWwgZW52aXJvbm1lbnQ8ZGl2PjxiciAvPjwvZGl2PjxkaXY+PGJyIC8+PC9kaXY+SWYgcHJv ZmlsZXMgYXJlIHVzZWQsIGl0IGNhbiBiZSBleHBvcnRlZCB0byBhIG1hbmlmZXN0LiA8ZGl2Pjxi ciAvPjwvZGl2PjxkaXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj4mZ3Q7IEd1aXggaXMg ZnVuY3Rpb25hbCBieSBkZXNpZ24gYW5kIHdlIHNob3VsZCBub3QgY29tcHJvbWlzZSBvbiB0aGF0 LjxkaXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj5JIHdhbnQgdG8gcmVpdGVyYXRlIHRo YXQgSSBhbSBub3QgcHJvcG9zaW5nIGFueXRoaW5nIGxlc3MgRlAgdGhhbiBwcm9maWxlcy48ZGl2 PjxiciAvPjwvZGl2PjxkaXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj5OZXN0ZWQgc2hl bGxzIGRvIG5vdCBmaXQgbXkgdXNlIGNhc2UgYmVjYXVzZSBhIGxvbmcgcnVubmluZyBwcm9jZXNz IHN0YXJ0ZWQgaW4gc2hlbGwgImEiIGRvZXMgbm90IGJlY29tZSBhd2FyZSBvZiBwYWNrYWdlcyBp bnN0YWxsZWQgb24gc2hlbGwgImIiLjxkaXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj48 ZGl2PjxiciAvPjwvZGl2PiZndDsgdGh1cyB0aGlzICJ0cmFuc2llbnQiIHByb2ZpbGUgc2hvdWxk IGJlIG1hbmlwdWxhdGVkIHZpYSAiZ3VpeCBzaGVsbCIgYW5kIG5vdCAiZ3VpeCBwYWNrYWdlIjxk aXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj5JIGNob3NlICJndWl4IGluc3RhbGwiIGZv ciBteSBwcm9wb3NhbCBiZWNhdXNlIGl0IGFscmVhZHkgaGFzIHRoZSBmdW5jdGlvbmFsaXR5IG9m IGFkZGluZyBhIG5ldyBnZW5lcmF0aW9uLiBJIGRvIG5vdCB0aGluayBpdCB3b3VsZCBiZSBnb29k IHRvIGNoYW5nZSB0aGUgc2VtYW50aWNzIG9mIG5lc3RlZCBzaGVsbHMuPGRpdj48YnIgLz48L2Rp dj48ZGl2PjxiciAvPjwvZGl2PjxkaXY+PGJyIC8+PC9kaXY+PGRpdj48YnIgLz48L2Rpdj5JIGZh aWxlZCB0byBtZW50aW9uIGVhcmxpZXIgdGhhdCBJIGxpa2UgdGhlIG5hbWUgIi0tdHJhbnNpZW50 Ig== --b1_3G8i769mv4hqesZSKmbwi9pb0LfSuM1OfUaZ2Ttg--