Hi Kenny! Kenny Ballou <kbal...@devnulllabs.io> writes:
> On 2018年08月02日 08:08 GMT, Chris Marusich wrote: >> Kenny Ballou <kbal...@devnulllabs.io> writes: >> >>> I would like to be able to specify a project's dependencies in a >>> manifest file, add any environment variables as necessary, and have >>> Emacs be aware of those variables when entering that environment. >> >> It may not be what you're looking for, but projects like Haunt [1] put a >> guix.scm file in the root directory of their project. The file contains >> a package as its top-level form (I think that's the right terminology), >> and you can get the dependencies via "guix environment -l guix.scm". > > When I mentioned the "manifest" file, I wasn't aware it was common to > refer to this file as `guix.scm`, but yes, this is definitely the first > part. However, to clarify, my question is regarding the second part: > how to get the `guix.scm` and any environment variables loaded as part > of `guix environment -l guix.scm` or `guix environment -m > project_manifest.scm`-- search paths and similar -- integrated into the > buffers local to the project directory? I believe `.dir-locals.el` or > similar might actually be the right approach here, but I'm still in the > early stages of exploring this. > > I hope that clarifies my question better. For more reference, I'm also > thinking of wingo's blog on developing v8 with guix[1] (though I believe > `guix environment` wasn't yet available). > > Again, if this is the wrong list, I can move this question to emacs-help > instead. I think it's a valid question here, and I'd like to find a great solution too! So far when using guix environments, I resorted to: 1. Spawning the environment in the command line 2. Starting a new Emacs instance (not attached to my Emacs server) from this environment, so that it gets access to all the variables and tools defined within the environment. I see there is a way to create Guix environments in Emacs using the Emacs-Guix tool, but it seems those are limited to be used from a *shell* like buffer; Emacs is not magically picking up tools that might become available in that new environment. If you find a more integrated way to work with a single instance of Emacs (say, emacs-server) + Guix environments, please let us know! Thank you, Maxim