Skip to content
Switch branches/tags

hrs’s dotfiles

I hope you like fiddling with your .emacs.d ad nauseam, ‘cause I obviously do.

I’m currently running Debian on a 3rd-gen Lenovo X1 Carbon. I use the i3 window manager, Firefox, and Emacs.

You’re probably here for my literate Emacs config! Most of my time is spent in either Emacs or Firefox. I think a text editor is just a terrific environment for editing text, so I use Emacs for all kinds of things that “normal” people use specialized tools for, including:

  • Task management and general writing with Org,
  • Email browsing with mu4e, backed by:
    • mbsync for synchronization over IMAP,
    • msmtp for sending messages over SMTP,
    • mu for managing a local searchable index,
    • gpg for encryption and signatures,
    • org-contacts for managing contacts and addresses, and
    • Fastmail for hosting,
  • RSS feed reading and management with elfeed and elfeed-org, with keybindings to send articles to Instapaper to read on my phone later,
  • Music playing with EMMS, backed by mpd,
  • Git with magit, and
  • File management with dired and async.

There’s also a lot of programming-specific configuration in there. I write a lot of Ruby, but there’s plenty of other stuff in there.

I also use some non-Emacs tools! I like:

  • zathura as a PDF viewer,
  • feh as my image viewer,
  • pass for password management,
  • rofi for launching applications, and to use with a few custom scripts,
  • mpv and youtube-dl for watching videos,
  • calibre for managing books and syncing to my Kindle, and
  • a hodgepodge of Signal, Telegram, Skype, Zoom, and Slack for synchronous communication. I can’t say I really like any of them, aside from Signal (most of the time), but network effects mean the matter’s mostly out of my hands.

This whole repository isn’t really intended for anyone’s use but my own, and of course it’s catered to my way of doing things, so, you know, be prepared for that.

Enjoy! =)


Clone this thing wherever you like (I use ~/.dotfiles) and run the script. That will:

  • Install a bunch of Debian packages,
  • Set up a bunch of symlinks in your home directory (e.g., ~/.bashrc~/.dotfiles/bash/.bashrc), and
  • Install a handful of required Ruby gems.

It (mostly) won’t overwrite existing files, so move those out of the way first.


To ensure that wallpaper is set correctly, create a ~/.wallpaper-directory symlink to the directory where you keep your wallpapers:

$ ln -s /where/your/wallpapers/live ~/.wallpaper-directory