This repository versions my personal dotfiles. It can be cloned to
anywhere and the dotfiles installed by running
install.sh. I use
Debian-based systems almost exclusively, so these dotfiles reflect
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.
keychain to start
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>
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
xcompmgr (window transparency). I like to use
lxterminal, which works properly with
apt-get install openbox feh xcompmgr lxterminal
.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.
I use dmenu to launch applications.
apt-get install dmenu
- A-F1: use dmenu to launch an application
I'm using Thunar and
pmount (command line) for removable drive
apt-get install thunar pmount
- W-e: launch Thunar (file management)
i3lock is used for screen locking.
apt-get install i3lock
- C-A-l: lock the screen
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
feh to change wallpapers randomly every 10 minutes. The
Openbox config will start this tool automatically on login. There's
also a script
fetch.sh, which will download my wallpaper selection,
Any images thrown in
~/.wallpaper/ will become part of the random
Other configured applications include Git,
(Firefox), quilt (for Debian patches), and s3cmd.
My Emacs config is much too complicated to be included here. It's in a separate repository.