[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Erlang + Emacs profile
From: |
Zelphir Kaltstahl |
Subject: |
Re: Erlang + Emacs profile |
Date: |
Tue, 30 Jun 2020 20:41:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Icedove/68.8.0 |
Hi Maxim,
Sorry for the incomplete previous e-mail, somehow I hit send, instead of
changing formatting.
So here I go again:
I got around to trying it your way, I think.
I have the manifest file `manifest.scm`:
~~~~
(specifications->manifest
'("erlang"
"emacs"
"emacs-org"
"emacs-erlang"
"emacs-ob-erlang"))
~~~~
Then I run the command you wrote: `guix environment -m manifest.scm`,
which created the environment just fine.
Then I created a little Bash script, to make sure to start the separate
Emacs without looking at the normal `~/.emacs.d/init.el` file:
~~~~
#!/usr/bin/env bash
set -Eeuxo pipefail
emacs --no-init-file --no-desktop --maximized
~~~~
And Emacs starts up just fine.
Then I run the Elisp code in the *scratch* buffer:
~~~~
(require 'org-tempo)
(require 'ob-erlang)
(org-babel-do-load-languages
'org-babel-load-languages
'((erlang . t)))
~~~~
Then I try to run the org-mode source block hello world Erlang:
~~~~
start() ->
io:format("hello world").
~~~~
Here however, I get an error logged in my *Messages* buffer:
~~~~
executing Erlang code block...
append-export-all: Symbol’s function definition is void: string-join
~~~~
Is there anything I missed?
Best regards,
Zelphir
On 24.06.20 22:29, Maxim Cournoyer wrote:
> Hello Zelphir,
>
> Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> writes:
>
>> Hello Guix users!
>>
>> What is your way of setting up a profile for Erlang development?
>>
>> There are some things I would like to have, some of which I already
>> managed to get:
>>
>> * [X] Erlang installed through Guix package manager in a separate profile
>> * [X] `erl` REPL available in that separate profile
>> * [X] an Emacs Erlang mode (installed it through M-x list-pack RET and
>> searched for erlang there)
>> * [_] org-mode babel erlang for literate programming in org-mode,
>> using the Guix installed erlang executable – I found
>> https://github.com/xfwduke/ob-erlang, which also seems to work, but
>> I do not know how to point it to the Guix installed Erlang, so that
>> it can actually run code. Currently it complains about not finding
>> Erlang. Does anyone know how to point it to the Erlang executable? I
>> created this issue: https://github.com/xfwduke/ob-erlang/issues/1
> It just looks up erl from your PATH, so the problem must be that you
> started Emacs from your user profile, which doesn't know about the
> separate Guix profile you created which contains Erlang.
>
> You'd have to start Emacs from an shell where your separate profile was
> sourced, or fiddle with M-x setenv to fix this. emacs-guix also has
> some guix-set-emacs-environment procedure that can be used to augment
> Emacs environment variables given a profile, but it seems broken at the
> moment.
>
> I just tried the following approach, where everything is managed by Guix
> in a separate profile:
>
> --8<---------------cut here---------------start------------->8---
> ;; file: manifest.scm
> (specifications->manifest
> '("erlang"
> "emacs"
> "emacs-org"
> "emacs-erlang"
> "emacs-ob-erlang")) ;; freshly packaged for you ;-)
> --8<---------------cut here---------------end--------------->8---
>
> Then spawn an environment with
>
> guix environment -m manifest.scm
>
> And then ran the following experiment:
>
> --8<---------------cut here---------------start------------->8---
> # file: test.org
>
> Put this in your ~/.emacs or evaluate it ad-hoc before running the
> rest.
>
> #+begin_src elisp
> (require 'org-tempo)
> (require 'ob-erlang)
> (org-babel-do-load-languages
> 'org-babel-load-languages
> '((erlang . t)))
> #+end_src
>
> Example taken from: https://github.com/xfwduke/ob-erlang
> With your cursor on the code block, I ran M-x org-babel-execute-src-block
> #+BEGIN_SRC erlang :module tryerlang
> start() ->
> io:format("hello world").
> #+END_SRC
>
> And it produced:
> #+RESULTS:
> : hello world
> --8<---------------cut here---------------end--------------->8---
>
> Hope this helps!
>
> Maxim
--
repositories: https://notabug.org/ZelphirKaltstahl
- Re: Erlang + Emacs profile, (continued)
- Re: Erlang + Emacs profile, Maxim Cournoyer, 2020/06/28
- Re: Erlang + Emacs profile, zimoun, 2020/06/29
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
- Re: Erlang + Emacs profile, Ricardo Wurmus, 2020/06/29
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
- Re: Erlang + Emacs profile, zimoun, 2020/06/29
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
- Re: Erlang + Emacs profile, zimoun, 2020/06/29
Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/30
Re: Erlang + Emacs profile,
Zelphir Kaltstahl <=