aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2024-07-11-emacs-on-ipad.org
blob: 89b4630ecdc325f37bdb7913babebf9ef8d980ff (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
#+date: <2024-07-11 Thursday 20:24:02>
#+title: Running Emacs Natively on Apple Silicon iPad
#+description: Step-by-step guide to installing and using Emacs on iPadOS with Apple Silicon, including setup tips and performance insights.
#+slug: emacs-on-ipad
#+filetags: :emacs:ipad:apple-silicon:

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.