Another issue here is what is meant by 'package' in this context. I have packages from elpa, melpa, etc in ~/.emacs.d/elpa. That directory also includes development versions of packages I'm working on, installed via package-install-file. Then there's all the bits and pieces of elisp that I've either written myself or found online. These are stored either in ~/.emacs.d/ or a subdirectory. I also keep the emacs sources in .emacs.d/trunk, as I'm using the latest development version. Everything in that directory is backed up in a private bitbucket repository, set to ignore .emacs.d/trunk and .emacs.d/elpa. From Stefan's comment it sounds as if I should pull everything out of .emacs.d except init and elpa. But it's convenient for me to have emacs in its own contained world on my computer. Is there a risk of breaking something with this approach? Tyler On Mon, Oct 21, 2013 at 2:09 PM, Josh wrote: > On Mon, Oct 21, 2013 at 6:19 AM, Tyler Smith > wrote: > > On Mon, Oct 21, 2013 at 8:58 AM, Stefan Monnier < > monnier@iro.umontreal.ca> > > wrote: > >> > >> > >> Still, we have the problem with ~/.emacs.d that many users put their > >> elisp packages in there and then add it to their load-path. > >> > > That's exactly what I do. What is wrong with this, and what is the > preferred > > alternative? > > That's a good question: > > package-user-dir is a variable defined in `package.el'. > Its value is "~/.emacs.d/elpa" > > This variable may be risky if used as a file-local variable. > > Documentation: > Directory containing the user's Emacs Lisp packages. > The directory name should be absolute. > Apart from this directory, Emacs also looks for system-wide > packages in `package-directory-list'. >