Installing Spacemacs on Ubuntu 19.04 disco and 20.04 focal

Martin Dobberstein (gutschilla)
2 min readJan 28, 2020

--

I use Spacemacs as my favorite editor. It’s basically an Emacs customization which beautifies Emacs and adds vi key bindings- the evil mode.

Why Spacemacs? I use it as am too old (read: too productive) to use anything else but vi key bindings and basically every other Editor or IDE I tried to use that offered vi key bindings (Atom, VS Code, IntelliJ to name a few) just implemented a subset of vi’s capabilities — sometimes macros don’t work, or the command-mode is not well-integrated: :%s/this/that/g should offer an in-place preview of changes for example.

Unfortunately, the installation isn’t as straightforward as just cloning their repo:

  • the gnupg keyring for the MELPA package archive is outdated
  • Source Code Pro needs to be installed
# install emacs
apt install emacs
# install spacemacs
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
mkdir -p ~/.emacs.d/elpa/gnupg
gpg --homedir ~/.emacs.d/elpa/gnupg --receive-keys 066DAFCB81E42C40
# install Source Code Pro
wget https://github.com/adobe-fonts/source-code-pro/archive/2.030R-ro/1.050R-it.zip
unzip 1.050R-it.zip
mkdir -p ~/.fonts
cp source-code-pro-*-it/OTF/*.otf ~/.fonts/
rm -rf 1.050R-it.zip source-code-pro*
# finally run spacemacs (installer)
emacs

This will finally install spacemacs. Anwser the questions regarding style (vim) and toolbox (helm) correctly and you’re almost good.

<ALT>+X package-install <RETURN> gnu-elpa-keyring-update <RETURN>

This should make sure keyring updates are really up to date as the key above may be out of date at the time you’re reading this. Refer to https://elpa.gnu.org/packages/gnu-elpa-keyring-update.html for an up-to-date fingerprint if neither works.

--

--

Martin Dobberstein (gutschilla)
Martin Dobberstein (gutschilla)

Written by Martin Dobberstein (gutschilla)

Roles: Web agency co-founder, Freelance consultant, Tech-Lead at a banking startup, IT Head, Solution Architect

Responses (2)