September 9, 2019

Crouton for Kitz

The first step is to get your chromebook into developer mode. There are different methods for different machines so you may have to do some Googling. Mine was escape+refresh+power keys at the same time. Remember that ctl-D is your friend at restarts.

Go to for the rundown of options and usage.

Get the Crouton file into the Downloads folder:

Open a shell by pressing ctrl+alt+t all at the same time. Type shell at the prompt and you will get another prompt. Type sh ~/Downloads/crouton to see a help list.

To see a list of supported distros: sh ~/Downloads/crouton -r list. Ubuntu Xenial is the default. For me:

sudo sh ~/Downloads/crouton -t cli-extra -n kitz

Here is my essential checklist once the chroot is established:

  • wget
  • rsync
  • git
  • vim
  • ConTeXt
  • Fonts
  • Pandoc

Some optionals:

  • cmus
  • python3
  • lua
  • sqlite3
  • sc-im

wget, rsync, git

For the first three in the checklist use:

sudo apt install [script name]

They may already be current. rsync is needed for ConTeXt.


Vim 8 is central to my workflow. The apt version is outdated, but the dependencies required can be obtained by:

sudo apt build-dep vim

It is a lot of stuff. I am not sure how much is actually needed. Next git vim:

git clone


cd vim
sudo make distclean
./configure --with-features=huge --prefex=/usr
sudo make install

The with-features=huge is to get clipboard support easily. The --prefix=/usr makes it accessible for non-root users. To finish up: make clean and make distclean

Now that vim is in, the .vimrc must be established. Here is mine:

set nocompatible

set clipboard=unnamed

set guifont=Consolas:h16

"Enable filetypes
filetype on
filetype plugin on
filetype indent on
syntax on

"filename and path in tab:
set title

"line numbers:
set number

"Display cursor position
set ruler

"Tab stuff
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab

"Indent stuff
set smartindent
set autoindent

"commands for moving lines
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
inoremap <C-j> <Esc>:m .+1<CR>==gi
inoremap <C-k> <Esc>:m .-2<CR>==gi
vnoremap <C-j> :m '>+1<CR>gv=gv
vnoremap <C-k> :m '<-2<CR>gv=gv

"write and process ConTeXt file
nmap <C-h> <Esc> :w <CR> :!context % <CR>

"write and process Lua file
nmap <C-l> :w <CR> :!lua % <CR>

"write and proces a Python file
nmap <C-p> :w <CR> :!python % <CR>

"insert blank line
nmap <CR> o<Esc>

"keep current line in vertical center of window?
set scrolloff=99

And the plugins. My only essential at this point is t-comment. Vim8 has a native package system which is as easy as setting up:

mkdir -p ~/.vim
cd .vim
mkdir pack
cd pack
mkdir myPlugins (or whatever name you chose)
cd myPlugins
mkdir start

From within ~/.vim/pack/myPlugins/start one can git clone etc. and it runs. Or one can get far more refined.

For documentation tags, run inside vim

:helptags ~/.vim/pack/plugins/start/foo

Lots of good vim advice can be found at:


The TeX macro package.

mkdir ~/context
cd ~/context
sudo sh --engine=luatex --modules=all

Then in ~/.profile add:


…so ConTeXt can be found. With Pandoc we will see why the $HOME/.local/bin is there. Also be sure to update the texmf-local file.

I have a few specialty fonts for use primarily with ConTeXt: lydian, inconsolata, euler, lucida, chalkduster, and openDyslexic. Despite the encouraging chatter, font handling can be enigmatic. sudo fc-cache -fv is part of the magic, but first:

export OSFONTDIR="/usr/local/share/fonts;$HOME/.fonts"
sudo fc-cache -fv

So that ConTeXt (luaTeX) can see them:

mtxrun --script fonts --reload

If you want to see all the fonts that ConTeXt can see, which should be all available in your part of the sandbox:

mtxrun --script fonts --list --all --pattern=*


Again, apt is way old. Start here to get the …linux.tar.gz binary package. Then unzip and place in ~/.local.bin.

sudo tar xvzf ~/Downloads/pandoc-2.2.1-linux.tar.gz --strip-components 1 -C ~/.local/


Next post
Wildfire Text to check on synching 11/23/22. I believe this image is from The New York Times. It has stuck with me how the deer is stuck between human