Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.


Ubuntu 19.10 (or similar)

emacs 26.X

sudo apt install -y emacs #>26.0

kubectl / google-cloud-sdk

echo "deb [signed-by=/usr/share/keyrings/] cloud-sdk main" \
    | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl \
    | sudo apt-key --keyring /usr/share/keyrings/ add -
sudo apt update 
sudo apt install -y kubectl google-cloud-sdk

golang 1.13

sudo add-apt-repository --yes ppa:longsleep/golang-backports
sudo apt update
sudo apt install -y golang golang-1.13

kind 0.5.1

sudo curl -Lo /usr/local/bin/kind \$(uname)-amd64
sudo chmod +x /usr/local/bin/kind

tmate 2.3.1

curl -L \ \
 | sudo tar xvfzC - /usr/local/bin --strip-components 1

ripgrep 0.10.0

sudo apt install -y ripgrep


sudo apt install -y xterm xtermcontrol


sudo apt-get remove docker docker-engine containerd runc
sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg-agent \
curl -fsSL | sudo apt-key add -
sudo add-apt-repository \
     "deb [arch=amd64] \
   disco \
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli
#export DOCKER_VERSION=5:19.03.3~3-0~ubuntu-disco
#sudo apt-get install docker-ce=$DOCKER_VERISON docker-ce-cli=$DOCKER_VERSION

OS Specific


Installing brew

Installing emacs via brew

Ensuring the brew emacs version is found before the installed version

sudo ln -sf /usr/local/Cellar/emacs/26.3/bin/* /usr/local/bin/

Ensure github keys are working

generate a publicprivate keypair


Get your terminal + emacs working

clone down iimacs .emacs.d into your system

cd ~/ # do as your own user
# mv ~/.emacs.d ~/.emacs.d.before-ii
git clone --recursive ~/.iimacs.d

populate the cache

curl \
    | tar xzfC - ~/.iimacs.d

ensure when you login, emacs can find .iimacs.d and tooling

This is done for all users, but has no impact unless ~/.iimacs.d exists

cat <<EOF | sudo tee /etc/profile.d/
# Ensures the iitooling is avaliable and loaded by emacs
export IIMACS=~/.iimacs.d
export PATH=${IIMACS}/bin:${PATH}

ensure when you login, emacs can find .iimacs.d and tooling

This is done for all users, but has no impact unless ~/.iimacs.d exists

sudo adduser $USER docker

xterm font size and OS Code settings

cp .emacs.d/.xterm-xdefaults ~/.Xdefaults
# edit the above to your preferences ^^^
# In particular the DPI is set to 180 for hidpi, 90 is good for older screens
xrdb ~/.Xdefaults

tmate settings (including ESC timout)

cat <<EOF >> ~/.tmate.conf
set -s escape-time 0
set-option -g set-clipboard on
set-option -g mouse on
set-option -g history-limit 50000

docker group

We need to login/logout in order for this to work OR use newgrp

sudo adduser $USER docker

Possibly use ~/.emacs.d/.spacemacs-hh

You can have your own config, but I do a lot of work to keep mine happy. It's not a bad starting spot.

cp ~/.emacs.d/.spacemacs-hh ~/.emacs.d/.spacemacs-$USER


iimacs ~/path/to/orgfile

run xterm

xterm -T $ -e \
    ssh -tA $ bash -l \
    '~/ii/org/'  '~/ii/apisnoop/' &
xterm -T -e \
      ssh -tA $ bash -l \
      '~/ii/org/'  '~/ii/conformance-testing/' &