My personal dotfiles
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
_aws Switch from s3cmd to awscli Feb 23, 2018
_config Add zoom commands to mpv Oct 16, 2018
_ssh/config.d Remove some notmuch remnants. May 12, 2017
_vim Disable all italics in gvim since it renders incorrectly. Jun 9, 2017
_wallpaper Explicitly read tar from stdin in Mar 7, 2017
bin Pass arguments through dumpgcc command Jan 21, 2019
w32bin Add some Windows batch files. Jun 7, 2016 Update README. May 19, 2017
_Xmodmap Try out removing capslock. Jun 5, 2013
_Xresources Disable xterm scrollbar Oct 25, 2017
_bash_aliases Relax youtube-dl alias (y) Oct 16, 2018
_bash_profile Use absolute path in .bashrc sourcing. Jul 24, 2012
_bashrc Add hh function to Bash for HastyHex Jan 21, 2019
_gdbinit Tweak .gdbinit Aug 24, 2017
_gemrc Make --user-install default with gem. Dec 30, 2013
_gitconfig Add "trim" and "chop" git aliases Apr 16, 2018
_gntrc Add Finch .gntrc. Aug 23, 2012
_gtkrc-2.0 Hide gvim padding on maximization. May 15, 2017 Add -nut to (no tabs). Aug 3, 2012
_inputrc Fix C-w in bash to operate on words Jan 13, 2018
_muttrc Set Mutt's search colors. Jul 3, 2017
_nethackrc Tidy up nethackrc Oct 29, 2017
_procmailrc Add some new mail settings (.procmailrc, .muttrc). May 8, 2017
_quiltrc Debian mode for quilt. Sep 12, 2015
_quiltrc-dpkg Oops, add missing quiltrc file. Sep 12, 2015
_reportbugrc Disable signing in reportbug. Jun 14, 2016
_screenrc Change screen escape binding. Apr 7, 2015
_tmux.conf Remove tmux flag day options (tmux bug workaround) Oct 22, 2017
_tridactylrc Change one of the Tridactyl search engines Sep 27, 2018
_vimrc Fix spelling in .vimrc Nov 29, 2018
_xsession Turn off system beep by default. Aug 5, 2013
install.bat Add vimrc install to install.bat. May 15, 2017 Handle case when X connection isn't working Mar 21, 2018

Personal dotfiles

This repository versions my personal dotfiles. It can be cloned to anywhere and the dotfiles installed by running I use Debian-based systems almost exclusively, so these dotfiles reflect Debian's defaults.

For convenience, I don't actually want these files hidden in the repository, so the dots are replaced with underscores.

Private (encrypted) dotfiles

Dotfiles ending in ".enchive" will be decrypted before installation, with the ".enchive" stripped from the name. Unlike the other dotfiles, these are not symlinked.


An Openbox config is included. To use it fully, make sure you install feh (wallpapers) and compton (window transparency).

apt-get install openbox feh compton

There's a .xsession file for launching Openbox, so the display manager should be told to use something like "user preference" or "system default" rather than "Openbox".

Check rc.xml for all of my fancy Openbox keyboard shortcuts. Examples,

  • W-n: launch a terminal
  • C-A-[arrow]: move focus to another desktop
  • C-S-[arrow]: move window, with focus, to another desktop
  • W-[left/right]: tile left/right (like Windows)
  • W-S-[arrow]: move window to an edge in a direction
  • W-A-[arrow]: grow window to nearest edge in a direction
  • W-l: toggle the window always-on-top

The desktop environment traditionally fills the role for a number of common activities. Since I'm using bare-bones Openbox, I have a number of independent applications for the job.

Application launching

I use dmenu to launch applications.

apt-get install dmenu
  • A-F1: use dmenu to launch an application


I'm using pmount (command line) for removable drive mounting.

apt-get install pmount

Screen locking

i3lock is used for screen locking.

apt-get install i3lock
  • C-A-l: lock the screen


Wallpaper stuff is installed in ~/.wallpaper/. It includes a script that uses feh to change wallpapers randomly every 10 minutes. The Openbox config will start this tool automatically on login. There's also a script, which will download my wallpaper selection, hosted externally.

Any images thrown in ~/.wallpaper/ will become part of the random background rotation.

Other applications

Other configured applications include Git, Vimperator (Firefox), gdb, mutt, procmail, xterm, urxvt, bash, nethack, mpv, vlc, quilt, and s3cmd.

My Emacs config is much too complicated to be included here. It's in a separate repository.