02 Apr 2022

# Install Emacs with Conda

At work, I frequently use a high performance computing cluster (300 nodes, 1000 CPU, 44 TB of RAM). It is an amazing environment. Many users access the system via Jupyter Hub and Virtual Research Environments where many tools for development are available. However the recommended editor is VSCode and I need Emacs.

I access the system via ssh on a terminal and run Emacs without the GUI. This is enough for me, since I have all I need:

1. Window multiplexing using Emacs windows
2. Virtual desktops thanks to tab-bar-mode
3. Persistence across sessions using desktop-save-mode
4. IDE features with eglot
5. A data science environment with org-mode's babel

This is great, since I can use the same tools I use on my laptop, with the same configuration and be really efficient.

Unfortunately, a couple of months ago, the web proxy that we have to go through to access the internet from the cluster was upgraded and the old Emacs version available on the system was not able to fetch packages.

Doing some research, I found that Emacs 27 could be configured to work. Since I did not want to bother the sysadmins without being sure that it would work, I decided to compile Emacs from source as I do on my laptop.

Unfortunately, I couldn't manage to get all dependencies working. So I needed to find another way to have a recent Emacs on the system.

On the cluster, we use Conda to build virtual environments for scientific computing. With Conda, we can install whatever package we want at the user level without any particular privilege.

So I just did:

conda install emacs


and I got the last stable Emacs release, which is 27.2 at the time of this writing.

So if you need to use Emacs in a system where you can't install system wide packages and you don't want or can't build it yourself, Conda can be a good solution. Installing Conda does not need particular privileges.