From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id SLRoE/T4N2OMagEAbAwnHQ (envelope-from ) for ; Sat, 01 Oct 2022 10:23:16 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 6C2BE/T4N2NYVgEA9RJhRA (envelope-from ) for ; Sat, 01 Oct 2022 10:23:16 +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 E1CCD2FFA for ; Sat, 1 Oct 2022 10:23:15 +0200 (CEST) Received: from localhost ([::1]:37970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oeXmF-0003Af-3N for larch@yhetil.org; Sat, 01 Oct 2022 04:23:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeXm1-0003AA-Hg for guix-devel@gnu.org; Sat, 01 Oct 2022 04:23:01 -0400 Received: from mout01.posteo.de ([185.67.36.65]:45745) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeXlz-0003eF-E5 for guix-devel@gnu.org; Sat, 01 Oct 2022 04:23:01 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id ED238240027 for ; Sat, 1 Oct 2022 10:22:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1664612576; bh=EG/ffL89PliAKwns+CUOPVkOUGsOFwrnfCOf0pH69BA=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=g7y8bCMWoqK9ueWI0iPjSovA6AvJ+VIuru/juB64zafucFJXpb/W3VQtWXnTzTjnR YvDcXn55vgRzm/58nrdleX1w7osACOOQ3Wsbppo1BQ14e5MxWxr4SEWHUgXCBx6v7q vdiJWizkBzm+ZIwPqvRig324HWVGMpJfOnWTxmjmR1sFFyLHgdD8Ll65LKpH9ogjCO QGLuAZeNPfwI5rek89Ez9n8lT9kc4kbah9IfvZlCT/AzPlWJpeolX2S/n2huPT67qW yNf/dFlmFwy/EmmIPhbr1oeHBkgVK63/z1bAw+EtWNl6hePpsGXFc2lqvYbu3XYDzU lYt8Su+PGhsEg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Mfg8D5stwz9rxV; Sat, 1 Oct 2022 10:22:50 +0200 (CEST) From: Philip Kaludercic To: "Thompson, David" Cc: guix-devel Subject: Re: Emacs integration for 'guix shell' In-Reply-To: (David Thompson's message of "Mon, 26 Sep 2022 13:48:25 -0400") References: Autocrypt: addr=philipk@posteo.net; prefer-encrypt=nopreference; keydata= mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB Date: Sat, 01 Oct 2022 08:22:49 +0000 Message-ID: <875yh4x89y.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1664612596; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature:autocrypt:autocrypt; bh=CgCbAoRPAaoLQLpcb6AYQLirNTrVuyLztIsci1ez0xE=; b=lxGrkUtkWKFmEtNrJz0sUhwDtUP67Ajo8XZqgNB1OYmGUcQlZF2glGi6Iv2WHDYy3eRAnM oToV9G7O1qP//pb9lEA8UECq4m6uEHiIlNQgaA9pBY4cpvZdEyPh1L6ZCyBjrf/c16lCp1 AuSVzEP+e2fqUoRUFbCNBE08z+k4rjmIcyatdZy+cdTky7sAPVWplvmbjjLd+goeLq3akc JATDg+GJrw/v/2Pe3o0gVXM+iFCi2g+448zfDe5QINZmv1FVCpAIXG1SkyJWFP8qDR2F0+ sHMlLa05CQ5NRUANtIpHVbuQnFMRwd11ho/2k0WfSMByU9Id80atA18OsYLWug== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1664612596; a=rsa-sha256; cv=none; b=jW4AVztt8orqlP/2D7pO4qOCrHO0cJDNKY4PASH85f0F5zK/tpCkTc0c5TIrMsXUhSZftx odO10joIssRMXxQUmA9Y/bJ4Ak6c1d51g6n8tp46n0bClrkSWSMoLWKiOPipNwM4e2ypg7 NzV3pukWpvIBeLcWMjf5GXvobQTQdJj9uEvhcq+On+rQCBkoOD77gsLvOgKvhyPDnyz/eh xlEkEsje2YOywcfid8wHCB0D1VdDHPMHSRv2KV04b4H+BwV+Bcx2xhXv/DMmNySa9m4W3v g2ytifI9/uR3/QrSfg1hiMZcNeWk2zWaLg5m9JdV6Vdd2oirzF4lRWNcha4Nig== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=g7y8bCMW; dmarc=pass (policy=none) header.from=posteo.net; 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: -4.04 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=g7y8bCMW; dmarc=pass (policy=none) header.from=posteo.net; 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: E1CCD2FFA X-Spam-Score: -4.04 X-Migadu-Scanner: scn1.migadu.com X-TUID: RQcDDJ15SiMY "Thompson, David" writes: > Hello all, > > I recently wrote a little blog post titled "Guix for development" [0] > and in it I mentioned using a tool called direnv and emacs-direnv as a > way to integrate 'guix shell' with Emacs. This integration has vastly > improved my Emacs experience. I can open a shell buffer and the > environment variables are automatically configured the way I want. I > can run M-x compile and simply enter 'make' as the command instead of > 'guix shell -D -f guix.scm -- make'. > > It's very cool that it works, and I should have done this years ago, > but direnv is an unnecessary middleman for me because I don't use it > for any other purpose. It would be *even cooler* if Emacs could call > 'guix shell --search-paths' directly, parse the result, and update the > buffer environment. Furthemore, it could integrate with project.el > (thus requiring Emacs 28) so that per-project search paths "just > work." The emacs-guix-shell [1] project attempts to do this. > > I'm not an experienced elisp programmer so I'm sure there's stuff to > fix, and there are no customizable variables yet, but the essentials > seem to work OK for me. If you'd like to try it out, eval > guix-shell.el and then M-x guix-shell-global-mode to enable it > everywhere, or M-x guix-shell-mode to enable it just for the current > buffer. > > Whether through direnv or guix-shell.el, integrating Emacs with 'guix > shell' has been a game changer for my development workflow and I > highly recommend it! I haven't used direnv, but how does it compare to buffer-env? I worked on the Guix integration a few months ago and it has been working really well for me. > That's all for now, > > - Dave > > [0] https://dthompson.us/guix-for-development.html > [1] https://git.dthompson.us/emacs-guix-shell.git/