aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2024-07-11-emacs-on-ipad.org
blob: 261240a984653c9a2ada53ebb79a8269817b607b (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
66
67
68
69
70
71
#+date: <2024-07-11 Thu 20:24:02>
#+title: Emacs on iPadOS
#+description: Learn how to install and use Emacs on the Apple Silicon iPad natively.
#+filetags: :emacs:apple:


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
[[https://apps.apple.com/us/app/ish-shell/id1436902243][iSH]], since it
runs a version of Alpine Linux within the app itself and will allow you
to install packages that you need.

#+caption: iSH Application
[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.png]]

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

#+begin_src sh
apk add emacs ripgrep fd findutils
#+end_src

#+caption: Package !Installation
[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.png]]

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

#+caption: Emacs
[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.png]]

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

#+caption: package-install
[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.png]]

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

#+caption: emacs-dashboard
[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.png]]

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