Installing Spacemacs on Ubuntu 19.04 disco and 20.04 focal
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.
Further reading
References
- https://www.spacemacs.org/
- https://github.com/adobe-fonts/source-code-pro
- https://www.rogerpence.com/posts/install-source-code-pro-font-on-ubuntu
- https://elpa.gnu.org/packages/gnu-elpa-keyring-update.html
Updates
Added Ubuntu 20.04 focal to the title as this works for Ubuntu 20 as well.