content/blog/2024-07-11-emacs-on-ipad.org

salary-visualization
cleberg.net/content/blog/2024-07-11-emacs-on-ipad.org rendered · source · history · blame · raw

68 lines · 2681 bytes

Running Emacs Natively on an Apple Silicon iPad

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.

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.
iSH Application

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
dependencies
Package Installation

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.

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.
package-install

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

An example of the emacs-dashboard package.
emacs-dashboard
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.