Proper emacs setup for Emacs GUI and Daemon on macOS (Apple Silicon)

What happened?

I’m having some trouble getting Doom Emacs setup on my M1 MacBook Pro in the way I would like. Apologies in advance if this is the wrong place to post this question, just let me know if I need to post somewhere else.

Basically, I am unsure of how to setup Doom Emacs with the proper upstream flow to accomplish:

  • Installing Emacs using the emacs-mac port of Emacs via homebrew
  • Run Emacs in daemon mode on system startup
  • Using the Emacs.app app to launch Doom Emacs (or emacsclient) from the dock and Alfred
  • Use vterm

My current try at this is all messed up. I had originally installed Emacs using the nix package manager on macOS but then deleted that and installed emacs-mac using Homebrew to get Emacs.app.

I left emacs.d and doom.d in place hoping my doom config would continue to work and it appeared to. However, some stuff appears to be broken. `M-x doom/reload’ doesn’t work, and provides the following error:


Loading data dump...

My .zshrc has the path as:


Loading data dump...

When I run which emacs I see : /opt/homebrew/bin/emacs yet when I run which -a emacs I see:


Loading data dump...

I’m guessing this has something to do with the problem, however running doom sync -e from iTerm works just fine.

When I try to compile vterm-module I receive the following error:


Loading data dump...

I have vterm enabled in my doom init, ran doom sync -e, and have both glibtool and libvterm installed via Homebrew.

Is there an easy fix to these two problems, and then running emacs in daemon mode, and having Emacs.app start a new instance of emacsclient on top of it? If not I plan to just nuke my whole setup and start over, but I’m not sure if the issues are caused by something that’s wrong with emacs-mac or any related dependency.

System information

doom info


Loading data dump...

doom doctor


Loading data dump...

Let me know if there is any other info I need to provide. I’m still pretty new to Doom and Emacs, and this seems like a solvable problem, but I’m not sure how to solve it. Thanks for any assistance!

This topic was automatically closed after 90 days. New replies are no longer allowed.