I'm seriously considering buying an M2 MacBook, after over 20 years on Linux. My main concern is whether it will be difficult to set up Emacs after such a long-term investment in my init files. I would love to hear from others who have made the same transition -- was it hard? Do you have tips to make it easier?
My work dev machine is an M2 Pro. I didn’t find it at all hard to set up. If you don’t know already homebrew is a macos package manager and you can use it to install emacs with a bunch of feature flags without having to compile it yourself. The only problem i’ve run into is that I can’t start emacs from the spotlight menu but that’s fine since I start it from a terminal. Here’s the package I use: https://github.com/d12frosted/homebrew-emacs-plus
I use the same configuration shared between MacBook M2 and Linux without any issues. Simply install homebrew on macOS, that will provide any additional tool you might need and directly allows to install emacs.
MacOS is pretty good, it's a proper Unix system. Emacs works well, tho there are some eccentricities. Font size for example works very differently on Mac displays because there's a lot more pixels.
The only HUGE thing to consider is that the file system of MacOS by default case preserving, not case sensitive. So make sure don't have files named Abc and ABC in the same directory.
I used to use Emacs primarily in Linux, but lately I am mostly using MacOS (Hammespoon made it possible). I find them to be equivalent once you set the keyboard accordingly.
At the beginning of my init.el I set a variable to know the OS and Machine where I am running, and do conditional configuration based on this. That way I can separate OS related configs for each of them. I run the exact emacs configuration in my different computers with different OSs.
Learn to use homebrew and make sure the binaries your emacs config uses (if any) are present (at the beginning of your init.el). I find dependency management slightly easier in linux than homebrew.
Another issue to consider is that Unix utilities in MacOS are not the FSF ones (instead, they are from BSDs). This means that commands like grep have different parameters in OS X (but that is usually handled by the emacs packages, usually).