# Emacs on macOS?

**URL:** <https://forum.systemcrafters.net/t/emacs-on-macos/847>\
**Category:** Emacs\
**Created:** [July 8, 2024, 8:07pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847 "2024-07-08T20:07:26Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![plattfot](https://avatars.discourse-cdn.com/v4/letter/p/d78d45/32.png) [@plattfot](https://forum.systemcrafters.net/u/plattfot)\
**Post date:** [July 8, 2024, 8:07pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/1 "2024-07-08T20:07:26Z")

</div>

Hi,

I’m in the midst of switching jobs. I’m a developer and I use Emacs for pretty much all my development. At my old job I had the luxury of using Guix to setup my dev environment.

I wont have that luxury at my new one as I’ll be getting a MacBook to use (unclear of what model). So I’m thinking on how to best setup Emacs on that machine. I haven’t used macOS in probably 15 years so just using a Mac will be an adventure in itself.

The way I see it is that I have three options:

1. Use homebrew to install Emacs, then let Emacs’ package manager handle the emacs packages. However there will be packages that require external tools that I need to install.
2. Port my guix home configuration to Nix and use that to setup Emacs. I need to learn Nix though.
3. Install a virtual machine of my current guix system and use that. Unclear how well that will work on macOS. Was not the most stable experience when I tried it on my steam deck using GNOME Boxes.

Any Mac users here that can share their wisdom?

For reference here is my current Emacs configuration using guix home: [plt/home/emacs.scm](https://git.sr.ht/~plattfot/plt/tree/master/item/plt/home/emacs.scm)

Thanks

---

<div class="post-metadata">

**Author:** ![Marc](https://avatars.discourse-cdn.com/v4/letter/m/8dc957/32.png) [@Marc](https://forum.systemcrafters.net/u/Marc)\
**Post date:** [July 9, 2024, 1:58pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/2 "2024-07-09T13:58:14Z")

</div>

Hi, I am working on a Mac as main machine. I use the native Emacs package for MacOS, but other than that just a standard Emacs installation with my ~/.emacs.d containing all configurations, packages etc.

I also work on linux and on windows, and I had no trouble just porting my ~/.emacs.d over to those platforms and also have everything working, so I expect you will be fine 🙂

Thanks for sharing your Emacs configuration, I will try to have a look at some point.

Cheers,  
Marc

---

<div class="post-metadata">

**Author:** ![plattfot](https://avatars.discourse-cdn.com/v4/letter/p/d78d45/32.png) [@plattfot](https://forum.systemcrafters.net/u/plattfot)\
**Post date:** [July 9, 2024, 5:27pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/3 "2024-07-09T17:27:07Z")

</div>

Hi,

> [@Marc](#):
>
> Hi, I am working on a Mac as main machine. I use the native Emacs package for MacOS, but other than that just a standard Emacs installation with my ~/.emacs.d containing all configurations, packages etc.
> 
> I also work on linux and on windows, and I had no trouble just porting my ~/.emacs.d over to those platforms and also have everything working, so I expect you will be fine 🙂

Ah ok. Maybe I was overthinking this. 😅 Nice to know that you can seamlessly switch between all of the major platforms.

> [@Marc](#):
>
> Thanks for sharing your Emacs configuration, I will try to have a look at some point.

No problem, this link might be better to get a better understanding how my Emacs configuration is setup: [dotemacs](https://sr.ht/~plattfot/dotemacs/)

Edit: Sticky ctrl got in the way so I posted before I had finished my reply…

---

<div class="post-metadata">

**Author:** ![mok0](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/mok0/32/633_2.png) [@mok0](https://forum.systemcrafters.net/u/mok0)\
**Post date:** [July 10, 2024, 9:07am UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/4 "2024-07-10T09:07:38Z")

</div>

I use the Build Emacs for macOS script [1](https://github.com/mclear-tools/build-emacs-macos), it works very well. I started using it because the homebrew version exhibited a bug.

---

<div class="post-metadata">

**Author:** ![ramin\_hal9001](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/ramin_hal9001/32/76_2.png) [@ramin\_hal9001](https://forum.systemcrafters.net/u/ramin_hal9001)\
**Post date:** [July 10, 2024, 4:13pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/5 "2024-07-10T16:13:51Z")

</div>

I am in the same position as you. I switched from Mac OS X 10.4 to Linux about 15 years ago (2008-ish) and now I have a new job and they didn’t give me a choice, they just shoved a MacBook Pro M2 under my nose. The hardest thing is getting used to the keyboard layout, especially the modifier keys (Command, Option, Control). I swapped Command and Option, and made Capslock another Control key, that helped a lot.

Oh, and my awesome mechanical keyboard won’t work without a dongle because it only has USB-C connectors on the chasis. The **only** good thing about Apple nowadays is their HiDPI (“Retina”) display.

So, I did install Emacs using homebrew. The only problem is that after doing a software update with Homebrew, it resets the permissions. Mac OS has something like SELinux that (near as I can tell) tags executables not from the Mac App store as dangerous and disallows things like access to the filesystem. I think this would also be a problem with packages installed by Nix. So every time you do a software update, you have to go into the control center, find the options for “full disk access”, and add the Emacs.app to the list of blessed apps.

Otherwise it seems to work pretty much the same as on Linux.

For what its worth, I installed Aarch64 Debian 12.5 “Bookworm” into a QEMU VM via the [UTM](https://getutm.app/) app. I use the SPICE protocol and I set vector graphics rendering to 200% native resolution, it looks _beautiful._ I don’t think I can do without a HiDPI display anymore.

With QEMU, sometimes forget I am using a Mac, it works perfectly, except that video/audio decoding must be done on the CPU which sometimes slows it down. Otherwise it is just as fast as using apps natively on Mac OS.

Most of my Emacs work is done in my QEMU Debian install now, I don’t have to use Mac OS Emacs very often.

---

<div class="post-metadata">

**Author:** ![plattfot](https://avatars.discourse-cdn.com/v4/letter/p/d78d45/32.png) [@plattfot](https://forum.systemcrafters.net/u/plattfot)\
**Post date:** [July 10, 2024, 11:16pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/6 "2024-07-10T23:16:55Z")

</div>

> [@ramin\_hal9001](#):
>
> I am in the same position as you. I switched from Mac OS X 10.4 to Linux about 15 years ago (2008-ish) and now I have a new job and they didn’t give me a choice, they just shoved a MacBook Pro M2 under my nose. The hardest thing is getting used to the keyboard layout, especially the modifier keys (Command, Option, Control). I swapped Command and Option, and made Capslock another Control key, that helped a lot.
> 
> Oh, and my awesome mechanical keyboard won’t work without a dongle because it only has USB-C connectors on the chasis.

Yeah, I’m not looking forward to use the keyboard. I do have a [SterlingKey](https://sterling-key.com/) that I use to hook up my mechanical keyboard to my steam deck and phone via bluetooth. So might just go with that to avoid the dongle madness (although I guess the StrelingKey would be considered a dongle).

> [@ramin\_hal9001](#):
>
> So, I did install Emacs using homebrew. The only problem is that after doing a software update with Homebrew, it resets the permissions…

Got it, I’ll keep that in mind if I go the homebrew or nix route.

> [@ramin\_hal9001](#):
>
> For what its worth, I installed Aarch64 Debian 12.5 “Bookworm” into a QEMU VM via the [UTM](https://getutm.app/) app. I use the SPICE protocol and I set vector graphics rendering to 200% native resolution, it looks _beautiful._ I don’t think I can do without a HiDPI display anymore.
> 
> With QEMU, sometimes forget I am using a Mac, it works perfectly, except that video/audio decoding must be done on the CPU which sometimes slows it down. Otherwise it is just as fast as using apps natively on Mac OS.
> 
> Most of my Emacs work is done in my QEMU Debian install now, I don’t have to use Mac OS Emacs very often.

This sounds like running a Guix VM for Emacs might be a viable solution for me. I’m definitely going to test the UTM app. Thanks for the tip!

And yeah, it is not pleasant to go to a normal DPI screen once you have used HiDPI ones. Got two 27" 4k monitors that I use at home since the text is just so much nicer to read on them compared to a 1080p or even a 1440p screen at the same size.

---

<div class="post-metadata">

**Author:** ![gnewman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/gnewman/32/311_2.png) [@gnewman](https://forum.systemcrafters.net/u/gnewman)\
**Post date:** [July 11, 2024, 2:55pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/7 "2024-07-11T14:55:43Z")

</div>

I’ve used Emacs on Mac OS for years using Homebrew Emacs-plus.

> **[GitHub - d12frosted/homebrew-emacs-plus: Emacs Plus formulae for the Homebrew...](https://github.com/d12frosted/homebrew-emacs-plus)**
>
> Emacs Plus formulae for the Homebrew package manager - d12frosted/homebrew-emacs-plus

---

<div class="post-metadata">

**Author:** ![mok0](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/mok0/32/633_2.png) [@mok0](https://forum.systemcrafters.net/u/mok0)\
**Post date:** [July 11, 2024, 3:24pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/8 "2024-07-11T15:24:48Z")

</div>

In macOS, you have to go the application (typically in `/Applications`), right click on it and choose “Open”. You will get a dialog box telling you the app is from an unknown developer, do you want to open. Click OK and macOS from now on remembers that you trust this app.

---

<div class="post-metadata">

**Author:** ![kickingvegas](https://avatars.discourse-cdn.com/v4/letter/k/a183cd/32.png) [@kickingvegas](https://forum.systemcrafters.net/u/kickingvegas)\
**Post date:** [July 15, 2024, 10:58pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/9 "2024-07-15T22:58:47Z")

</div>

If you have the means, I would install Emacs via [MacPorts](https://www.macports.org/). There is a port of the Mitsuharu fork of Emacs ([https://ports.macports.org/port/emacs-mac-app-devel/](https://ports.macports.org/port/emacs-mac-app-devel/)) that adds customizations to better integrate into macOS which includes:

- Native support for org-protocol
- Native support for appearance changes
- Drag and drop support
- macOS services integration
- Touchpad gestures
- macOS-native tab support

I’ve written about [administering MacPorts](http://yummymelon.com/devnull/administering-macports.html) which IMHO I prefer over Homebrew.

---

<div class="post-metadata">

**Author:** ![plattfot](https://avatars.discourse-cdn.com/v4/letter/p/d78d45/32.png) [@plattfot](https://forum.systemcrafters.net/u/plattfot)\
**Post date:** [July 22, 2024, 4:26am UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/10 "2024-07-22T04:26:42Z")

</div>

Thank you all for all the recommendations. Got my MacBook this week and I’ll see what I land on.

---

<div class="post-metadata">

**Author:** ![mbrig](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@mbrig](https://forum.systemcrafters.net/u/mbrig)\
**Post date:** [November 12, 2024, 12:08pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/11 "2024-11-12T12:08:45Z")

</div>

Being unable to use Guix or Linux at all at work I’ve been using Nix Darwin and built out my Flake. Maybe this will help as my steer was to avoid using Homebrew, and also configure declaratively my dock and system stuff.

Emacs-plus package is in the service list, and I had to do minimal adjustment to my init.el to get it working, mainly remapping M-x and # and using the `exec-path-frome-shell` package but everything else is using use-package so agnostic to the OS. It may be missing some of the requirements in the responses above, but works for me.

I’ve gone through OS updates and not had to allow disk access for Emacs.app, not sure if that’s missing things for me, but appears to work.

Anyway I’m new here and this may be a trodden path but was keen to share what I’ve been up to so here is the repo:

> **[GitHub - mbrignall/nix-darwin: For Darwin Flake](https://github.com/mbrignall/nix-darwin)**
>
> For Darwin Flake

I also discovered this activation script line that means when you nix build it updates without having to logout/in or restart.

```auto
 system = {
    
    activationScripts.postUserActivation.text = ''
      # Following line should allow us to avoid a logout/login cycle
      /System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
    '';
};

```

Hope this help, and great to meet you all.

---

<div class="post-metadata">

**Author:** ![markboston40](https://avatars.discourse-cdn.com/v4/letter/m/47e85d/32.png) [@markboston40](https://forum.systemcrafters.net/u/markboston40)\
**Post date:** [April 7, 2025, 6:42pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/12 "2025-04-07T18:42:04Z")

</div>

bit late for this post but there is a port of guix to Mac OS. I told the dev to get his site index by google cuz you can’t find it but he hasn’t done it yet. this is the url [MSG/msg-cli - SuperKamiGuru: Free Software Enthusiast | Professional Tinkerer](https://forge.superkamiguru.org/MSG/msg-cli). the limited testing I did on my mba m3 worked fine but I didn’t really use it long term.

another way you could go is building emacs from source that way you have control and can add any feature you want. if you do end up going the emacs-mac port route that does not include native comp so if your expecting that the dev does not put it

---

<div class="post-metadata">

**Author:** ![yibie](https://avatars.discourse-cdn.com/v4/letter/y/45deac/32.png) [@yibie](https://forum.systemcrafters.net/u/yibie)\
**Post date:** [April 8, 2025, 9:30am UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/13 "2025-04-08T09:30:40Z")

</div>

About Emacs on macOS, there is a another version:

> **[GitHub - jimeh/emacs-builds: Self-contained Emacs.app builds for macOS, with...](https://github.com/jimeh/emacs-builds)**
>
> Self-contained Emacs.app builds for macOS, with native-compilation support.

- Optmize for ARM chips.

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://forum.systemcrafters.net/u/frank)\
**Post date:** [April 11, 2025, 7:46pm UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/14 "2025-04-11T19:46:38Z")

</div>

you can use --disable-ns-self-contained option of ./configure to let make command to generate emacs and emacs client application in /usr/local/bin/ like it does on linux.

---

<div class="post-metadata">

**Author:** ![Marc](https://avatars.discourse-cdn.com/v4/letter/m/8dc957/32.png) [@Marc](https://forum.systemcrafters.net/u/Marc)\
**Post date:** [April 16, 2025, 10:50am UTC](https://forum.systemcrafters.net/t/emacs-on-macos/847/15 "2025-04-16T10:50:47Z")

</div>

Hi, I still see suggestions about which emacs executable to use on MacOS pop up. But no one actually taked about [https://emacsformacosx.com/](https://emacsformacosx.com/)  
I have been using that since many years, and wonder if it was intentional to leave it out, e.g. is there anything wrong with it or shortcomings I am not aware of, or if there are just so many alternatives to executing Emacs on Mac that it hasn’t popped up yet?
