#+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: #+slug: emacs-on-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 [[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://media.githubusercontent.com/media/ccleberg/img/main/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://media.githubusercontent.com/media/ccleberg/img/main/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://media.githubusercontent.com/media/ccleberg/img/main/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://media.githubusercontent.com/media/ccleberg/img/main/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://media.githubusercontent.com/media/ccleberg/img/main/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.