unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs integration for 'guix shell'
@ 2022-09-26 17:48 Thompson, David
  2022-09-26 18:30 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Thompson, David @ 2022-09-26 17:48 UTC (permalink / raw)
  To: guix-devel

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!

That's all for now,

- Dave

[0] https://dthompson.us/guix-for-development.html
[1] https://git.dthompson.us/emacs-guix-shell.git/


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-12-06 15:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-26 17:48 Emacs integration for 'guix shell' Thompson, David
2022-09-26 18:30 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
2022-09-27  2:44   ` Maxim Cournoyer
2022-09-27 11:13     ` Thompson, David
2022-09-28 14:11       ` Maxim Cournoyer
2022-09-27  9:15   ` zimoun
2022-09-27 12:06     ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
2022-09-27 14:39       ` zimoun
2022-09-26 18:58 ` pinoaffe
2022-09-28  7:36 ` Efraim Flashner
2022-09-28 12:42   ` Efraim Flashner
2022-10-01  4:47 ` James Thomas
2022-10-01  8:22 ` Philip Kaludercic
2022-10-01 11:58   ` Thompson, David
2022-10-01 14:38     ` Philip Kaludercic
2022-12-06 14:59       ` [EXT] " Thompson, David

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).