Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Yet another dotemacs reboot.

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 defuns
Octocat-spinner-32 el-get
Octocat-spinner-32 os
Octocat-spinner-32 packages
Octocat-spinner-32 .gitattributes
Octocat-spinner-32 .gitignore
Octocat-spinner-32 init.el
Octocat-spinner-32 my-defaults.el
Octocat-spinner-32 my-extensions.el
Octocat-spinner-32 my-keybindings.el
Octocat-spinner-32 my-keys.el
Octocat-spinner-32 my-load-tools.el
Octocat-spinner-32 my-mode-hooks.el

My Emacs Configuration

Yet another dotemacs reboot.

This is my personal Emacs configuration - it may or may not be interesting to anyone else.

I currently use this setup with GNU Emacs 24 on Ubuntu, OS X, and Windows 7.

File Layout

On each system I create a simple shim ~/.emacs.d/init.el.

;;; ~/.emacs.d/init.el --- Bootstrap Emacs
(load (expand-file-name "~/source/dotemacs/init.el") 'noerror)

There are a few variables referenced in my configuration:

  • user-emacs-directory, typically ~/.emacs.d. I use this for local cache files only. Most packages write cache files here by default or can be easily configured to do so. I also put autosave and backup files under here.

  • my/dotemacs points to the root dir of my Emacs config repo.


I use the el-get package manager as follows:

  • Packages are installed to a directory outside my dotemacs repo (typically under user-emacs-directory). This keeps them separate from my own elisp files and avoids problems with nested git repostiories.

  • dotemacs/el-get/recipes contains additional recipe files. These are mostly recipes copied from the el-get master branch because they are not yet part of the stable release.

  • dotemacs/el-get/init contains init files. El-get will automatically load the appropriate file as part of initializing an extension.

  • dotemacs/my-load-tools.el configures el-get, loads a few core libraries, and defines some convenience functions.

  • dotemacs/my-extensions loads and configures the packages I want.

Repo History

This repository has a slightly confusing history on GitHub:

  • My original glucas/dotemacs repo has been renamed on GitHub to glucas/dotemacs-deprecated. It will eventually be deleted.
  • I forked that original repo to another GitHub account and made some major changes, working on a different set of machines for work.
  • I've since transferred the fork back to this GitHub account to replace the original.
Something went wrong with that request. Please try again.