Commit bb04d7e349

bb04d7e349a15f5d96f42a0878b8fc6e72cb6589

parent: dced0272bc

Unsigned

cmc <hello@cleberg.net> · 2024-07-12 01:09 UTC

publish emacs on ipad post

Layout: unified · split

content/blog/2024-07-11-emacs-on-ipad.md +33 −24
@@ -2,55 +2,64 @@
2date = 2024-07-11T20:24:02 2date = 2024-07-11T20:24:02
3title = "Emacs on iPadOS" 3title = "Emacs on iPadOS"
4description = "Learn how to install and use Emacs on the Apple Silicon iPad natively." 4description = "Learn how to install and use Emacs on the Apple Silicon iPad natively."
5draft = true 5draft = false
6+++ 6+++
7 7
8This post describes the process to install and use Emacs on the iPad Air 13-inch 8This post describes the process to install and use Emacs on the iPad Air 13-inch
9(M2). The iPad used in this post is running iPadOS 17.6. 9(M2). The iPad used in this post is running iPadOS 17.6.
10 10
11## Shell Application 11## Shell Application
12 12
13In order to use Emacs on an iPad, you will need a terminal emulator application. 13In order to use Emacs on an iPad, you will need a terminal emulator application.
14I recommend [iSH](https://apps.apple.com/us/app/ish-shell/id1436902243), since 14I recommend [iSH](https://apps.apple.com/us/app/ish-shell/id1436902243), since
15it runs a version of Alpine Linux within the app itself and will allow you to 15it runs a version of Alpine Linux within the app itself and will allow you to
16install packages that you need. 16install packages that you need.
17 17
18![iSH App](https://img.cleberg.net/blog/20240711-emacs-on-ipad/) 18![iSH Application](https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.png)
19 19
20## Require Packages 20## Require Packages
21 21
22I started by adding the required packages directly within iSH. Emacs should 22I started by adding the required packages directly within iSH. Emacs should
23install dependencies by default, but I include a few other packages that I use 23install dependencies by default, but I include a few other packages that I use
24in my terminal as well. 24in my terminal as well.
25 25
26```sh 26```sh
27apk add emacs ripgrep fd findutils 27apk add emacs ripgrep fd findutils
28``` 28```
29 29
30![Package Installation](https://img.cleberg.net/blog/20240711-emacs-on-ipad/) 30![Package
31!Installation](https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.png)
31 32
32## Emacs 33## Emacs
33 34
34Once this is complete, you should be able to run Emacs natively on your iPad. 35Once this is complete, you should be able to run Emacs natively on your iPad.
35It's fairly effective, but can be slow at times. 36It's effective, but can be slow at times.
36 37
37I attempted to also install Doom Emacs, which technically worked, but was so 38I attempted to also install Doom Emacs, which technically worked, but was so
38incredibly slow and buggy that I was not even able to take screenshots. Someone 39incredibly slow and buggy that I was not even able to take screenshots. Someone
39smarter than me could likely get it to work with a little tinkering. 40smarter than me could likely get it to work with a little tinkering.
40 41
41![Emacs](https://img.cleberg.net/blog/20240711-emacs-on-ipad/) 42![Emacs](https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.png)
42 43
43### Annoyances 44### MELPA
44 45
45While Emacs is running at this point, it's not perfect. There is no `.emacs` 46You also have to remember to hook up MELPA yourself in the `.emacs` file to be
46file by default, installing a framework like Doom seemed to be too much, and 47able to search through their 5700+ packages instead of just ELPA packages. If
47some utilities and packages are missing from the bare Alpine installation. 48you don't, you will only have access to ELPA packages like the ones below.
48 49
49There also seems to be a problem getting a wider selection of packages from 50![package-install](https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.png)
50MELPA, but you can see below that a handful of readily-available packages. I
51likely just need to change my configuration for MELPA, but I did not explore
52this area further.
53 51
54You can test this out yourself with `M-x package-install <search-termœ>`. 52Once you have MELPA, you can install packages like the `dashboard` package shown
53below.
55 54
56![package-install](https://img.cleberg.net/blog/20240711-emacs-on-ipad/) 55![emacs-dashboard](https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.png)
56
57### Speed
58
59While Emacs will run on my iPad, it's not perfect. The largest issue on my
60iPad is speed - loading Emacs takes 6-7 seconds and installing the `magit`
61package took 129 seconds.
62
63I haven't played around enough to optimize loading times and poke around to see
64why the network requests take so long, but it's a big enough issue that I
65wouldn't see casual Emacs users dealing with the lag.