blob: d0d2dec4fb19f0fd5204775bde0ab7092586adfe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
+++
date = 2024-07-11T20:24:02
title = "Emacs on iPadOS"
description = "Learn how to install and use Emacs on the Apple Silicon iPad natively."
draft = false
+++
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](https://apps.apple.com/us/app/ish-shell/id1436902243), since
it runs a version of Alpine Linux within the app itself and will allow you to
install packages that you need.

## 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.
```sh
apk add emacs ripgrep fd findutils
```

## 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.

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

### 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.
|