Running Emacs Natively on an Apple Silicon iPad

· Installing and running Emacs natively on an iPad with Apple Silicon.

#emacs

This post describes the process to install and use Emacs on the iPad Air 13-inch (M2). The iPad used in this post is running iPadOS 17.6.

1. Shell Application

In order to use Emacs on an iPad, you will need a terminal emulator application. I recommend iSH, since it runs a version of Alpine Linux within the app itself and will allow you to install packages that you need.

The iSH shell on iPad.
Figure 1: iSH Application

2. Require Packages

I started by adding the required packages directly within iSH. Emacs should install dependencies by default, but I include a few other packages that I use in my terminal as well.

apk add emacs ripgrep fd findutils
apk add emacs ripgrep rf findutils within iSH.
Figure 2: Package Installation

3. Emacs

Once this is complete, you should be able to run Emacs natively on your iPad. It's effective, but can be slow at times.

I attempted to also install Doom Emacs, which technically worked, but was so incredibly slow and buggy that I was not even able to take screenshots. Someone smarter than me could likely get it to work with a little tinkering.

3.1. MELPA

You also have to remember to hook up MELPA yourself in the .emacs file to be able to search through their 5700+ packages instead of just ELPA packages. If you don't, you will only have access to ELPA packages like the ones below.

A full list of all packages available when searching MELPA.
Figure 3: package-install

Once you have MELPA, you can install packages like the dashboard package shown below.

An example of the emacs-dashboard package.
Figure 4: emacs-dashboard

3.2. Speed

While Emacs will run on my iPad, it's not perfect. The largest issue on my iPad is speed - loading Emacs takes 6-7 seconds and installing the magit package took 129 seconds.

I haven't played around enough to optimize loading times and poke around to see why the network requests take so long, but it's a big enough issue that I wouldn't see casual Emacs users dealing with the lag.

Reply via email →
...or, comment on this post on Bubbles!