This is my emacs configuration which I use both on my work laptop (running OS X) as well as personal laptop (running Ubuntu).
Organization of code & config
~/.emacs.d/init.elfile just loads the
init.elfile inside this repo and does nothing else. So no symlinking and such other things.
Customize is set to write to a separate
custom.elfile and not
Whatever that can be installed using
package.elis installed using it. To keep track, the list of the modes installed by package.el is added to the var
pkg-init.el. (Note: This method to ensure installed packages is stolen from emacs prelude).
Single file 3rd party modes not found via elpa are added to
Functions and modes written by me are added to
sphinx-doc.elfile in this dir is a symlink since it's convenient for me to actively work on it as the author of that mode. If you get an error related to this, just install it separately from MELPA).
All files inside the
configdirectory contain language/mode wise configuration and are loaded by load-dirs.el using the
Themes are added to
System wide dependencies
It's assumed that you have
leiningen installed on the system.
Apart from these, following dependencies are required to be installed:
jedi and epc (autocomplete):
sudo pip install jedi epc(When working inside a virtualenv, these need to be installed inside the virtualenv even if they are already globally installed.)
sudo pip install flake8
Cider's own nREPL middleware (as required by the latest Cider release). The easiest way to set it up is to add it as a leiningen plugin either in your project's
project.cljfile or in the
~/.lein/profiles.clj. See also.
A lot of code has been borrowed from init files of various people on github and around the internets. All mistakes are most likely my own.