General config files, using org-babel
git clone
Log | Files | Refs



This is my repo of literate system configuration files.

It provides the following:

email config

Setting up mbsync, msmtp, and notmuch.

tty setup

Config files for bash and readline.

GNU screen

Some setup for GNU Screen, including a nice status line, and some emacsy keybindings

Nethack config

A simple curses configuration for one of the most complicated games of all time

Vimb configuration

EWW is usually enough for me, but when you need some javascript you may as well use an extensible keyboard-based browser like Vimb.

minimal mpd setup

MPD doesn't require much setup, so this just changes some default directories.

Dunst config

Dunst is a simple notification daemon. My config makes it a small popup in the bottom right-hand side, with a dark background and white monospaced text.

Xorg settings

xinitrc which loads the dvorak keyboard layout, disables the mouse, starts dunst, then starts either emacs or twm.

sxhkdrc with volume/brightness controls, and a lockscreen.

Ratpoison config

High contrast colours, terminus font, s-t as the prefix key. As well as a guile script which enables/disables the border depending on how many frames there are.

twm config

  • Specific colours for the programs I use most.
  • Menus for editors, window managers, dmenu scripts.
  • Some customised key and mouse bindings.

A Makefile to put it all together

Generating the output

Files that go in $HOME are tangled to the directory out/, and files that go into $XDGCONFIGHOME are tangled to xdg-config/.

To do this, run the following command.

make all

You can also only tangle specific files. For example, to tangle only, run the following.

make email

Installing the output in the right place

To install all these files using stow, run the following.

# Install all files
make install

# Install files that end up in $XDG_CONFIG_HOME
make xdg-install

# Install file that ned up in $HOME
make home-install


If you decide to give up, you can do the following:

# Uninstall all files
make uninstall

# Uninstall files in $XDG_CONFIG_HOME
make xdg-uninstall

# Uninstall files in $HOME
make home-uninstall