Hacker News new | ask | show | jobs
by 100k 3565 days ago
Somewhat related: I am starting a new job soon and I want to get Emacs setup "right" this time. I've been using Aquamacs for the last several years, but I'm wondering if there is a better way to use Emacs on the Mac these days?

As part of this, I want to get my .emacs under version control and shared between computers so I have the same settings everywhere. Is there a good way to do that with Emacs packages installed through MELPA/ELPA?

6 comments

I like brew installing `emacs-mac`[0] which installs a port run by a developer in Japan. My favorite feature of it (among other amazing osx specific changes) is the sub-pixel scrolling support in emacs.

When you setup your `init.el` you can call `(package-install x)` and if the package is already installed it'll do nothing but just make sure it's there.

If you wanted the whole thing figured out ahead of time I recommend using Spacemacs[1]

[0]: https://github.com/railwaycat/homebrew-emacsmacport [1]: http://spacemacs.org

Thanks! Did not know about package-install, that's very helpful.

Spacemacs looks cool. I have so many years of emacs keybindings that I'd have to turn that off, but I really like the look of what they're building.

I ported over a few years of custom keybindings and other config to Spacemacs. It was not too difficult, basically you can just tell Spacemacs to load whatever.el at startup.

Eventually I switched to evil-mode and I rarely use most of my old keybindings, but I still keep them around!

You can also use 'use-package'. https://github.com/jwiegley/use-package#for-packageel-users

I wonder if it can handle dependencies like req-package https://github.com/edvorg/req-package

I do something very, very simple with my .emacs.d: https://github.com/mjhoy/dotfiles/blob/master/emacs.d/lisp/i...

A bunch of (mjhoy/require-package 'package-name) are run on init, and if the package isn't present it's installed. This has worked pretty well for me for keeping my mac and my linux emacs in sync.

Look into use-package for a lot more control over how packages are loaded, as mentioned in another comment.

I've been using Emacs for 20 years now, and for the last few years I've trusted most of my setup to Prelude (https://github.com/bbatsov/prelude). It does a LOT of the tedious setup work most emacs pros would do for themselves. After that, I just make a few modifications to the personal.el file they provide and commit my entire ~/.emacs.d to github. I can't recommend Prelude enough, especially with Helm integrations built into so many parts.
I'll second the recommendation of prelude. It does one thing I hate (guru-mode, but it documents how to disable it), and it is flakey about a very few things, but in the main it is golden.

I've been using spacemacs at work, and while I absolutely love its layers, I really miss prelude. Something which combined the stability and sanity of prelude with the layers of spacemacs would be just about heaven on earth.

I use emacs with mac for close to 1 year now, after having used it on linux and windows. It hasn't given me any issues at all except for one minor issue which i chose to ignore. The point is, you don't need to be scared to use emacs on mac
Check out spacemacs