The problem is likely due to uiop:launch-program (the function we use for external editor invokations) accepting only a list of strings. I’ve just pushed a fix on master, now a mere string should be fine too.
By the way, why init.el instead of init.lisp? Nyxt is written in Common Lisp, not Emacs Lisp.
@fenix Note that specifying the program as a list of strings is handy since you can also declare arguments. For instance, here’s how I set external-editor-program:
Which will set it to (list "emacsclient" "--create-frame").
This works for me, and I don’t have to do anything special. Maybe chaging the default to (str:split #\space (or (uiop:getenv "VISUAL") (uiop:getenv "EDITOR"))) would be beneficial.
EDIT: I should note that I’m running emacs as a server using shepherd. I have the following configuration which basically runs emacs --fg-daemon, and that’s the key in getting emacsclient to work properly.
I start shepherd when logging in by executing shepherd & in my StumpWM configuration.