16.1 Site-wide Initialization Files

In addition to your personal initialization file, Emacs automatically loads various site-wide initialization files, if they exist. These have the same form as your .emacs file, but are loaded by everyone.

Two site-wide initialization files, site-load.el and site-init.el, are loaded into Emacs and then dumped if a dumped version of Emacs is created, as is most common. (Dumped copies of Emacs load more quickly. However, once a file is loaded and dumped, a change to it does not lead to a change in Emacs unless you load it yourself or re-dump Emacs. See Building Emacs in The GNU Emacs Lisp Reference Manual, and the INSTALL file.)

Three other site-wide initialization files are loaded automatically each time you start Emacs, if they exist. These are site-start.el, which is loaded before your .emacs file, and default.el, and the terminal type file, which are both loaded after your .emacs file.

Settings and definitions in your .emacs file will overwrite conflicting settings and definitions in a site-start.el file, if it exists; but the settings and definitions in a default.el or terminal type file will overwrite those in your .emacs file. (You can prevent interference from a terminal type file by setting term-file-prefix to nil. See A Simple Extension.)

The INSTALL file that comes in the distribution contains descriptions of the site-init.el and site-load.el files.

The loadup.el, startup.el, and loaddefs.el files control loading. These files are in the lisp directory of the Emacs distribution and are worth perusing.

The loaddefs.el file contains a good many suggestions as to what to put into your own .emacs file, or into a site-wide initialization file.