Skip to content
My personal dotfiles
Shell Batchfile VimL Other
Find file
Latest commit 9012a65 @skeeto Add chromeproxy to bin/.
Failed to load latest commit information.
_config Use mouse wheel for volume in mpv.
_ssh/config.d Disable SSH roaming (CVE-2016-0777, CVE-2016-0778).
_wallpaper Infinite random wallpaper loop.
bin Add chromeproxy to bin/.
gnupg Add pka-lookups to GPG config. Drop Thunar.
_Xmodmap Try out removing capslock.
_bash_aliases Fix up default directories.
_bash_profile Use absolute path in .bashrc sourcing.
_bashrc Fix up default directories.
_gdbinit Use "intel" flavor in GDB disassembly.
_gemrc Make --user-install default with gem.
_gitconfig Fix up default directories.
_gntrc Add Finch .gntrc.
_gtkrc-2.0 Add GTK theme selection. Add -nut to (no tabs).
_nethackrc Fix up default directories.
_quiltrc Debian mode for quilt.
_quiltrc-dpkg Oops, add missing quiltrc file.
_reportbugrc Disable GPG signing in reportbug.
_s3cfg.priv.gpg Add my first private dotfile.
_screenrc Change screen escape binding.
_vimperatorrc Default Google search in Vimperator.
_vimrc Fix up default directories.
_xsession Turn off system beep by default.
install.bat Switch to Vimperator. Switch to ~/.local for local root.

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 ".priv.gpg" will be decrypted before installation, with the ".priv.gpg" stripped from the name. You probably want gpg-agent running if you want to avoid entering your passphrase multiple times. Unlike the other dotfiles, these are not symlinked since there is nothing to symlink to.

I'm using keychain to start ssh-agent and gpg-agent so make sure it's installed along with the agents.

apt-get install keychain

You may have noticed, yes, I have my private PGP key in here! Dangerous?! Maybe, it's an experiment. It's got a strong passphrase on it and I've pumped up the key strengthening settings in GPG, like so,

gpg --s2k-cipher-algo AES256 --s2k-digest-algo SHA512 --s2k-mode 3 \
    --s2k-count 10000000 --edit-key <key id>

Then run passwd in the key editor. That's over 10 million rounds of SHA-512 which takes a half-second to compute on my laptop. Brute-forcing my passphrase should be completely impractical. I invite anyone to prove me wrong -- since I'd rather be wrong sooner than later.


An Openbox config is included. To use it fully, make sure you install feh (wallpapers) and compton (window transparency). I like to use lxterminal, which works properly with compton.

apt-get install openbox feh compton lxterminal

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-[arrow]: change focus to window in a direction
  • W-S-[arrow]: move window to an edge in a direction
  • W-A-[arrow]: grow window to nearest edge in a direction
  • W-C-[arrow]: shrink window away from an 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

Network management

A mediocre, but fully standalone, tool for network management is Wicd.

apt-get install wicd wicd-gtk wicd-curses
  • W-w: launch Wicd client


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, indent, Pentadactyl (Firefox), quilt (for Debian patches), and s3cmd.

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

Something went wrong with that request. Please try again.