![[Home]](https://www.emacswiki.org/images/logo218x38.png)
Your init file contains personal EmacsLisp code that you want to execute when you start Emacs.
See the Emacs manual (‘C-h r’), node Init File.
~/.emacs, ~/.emacs.el, or ~/.emacs.d/init.el. You can choose to use any of these names. ~/ stands for your home directory.~/.emacs.d do not exist, GnuEmacs will find (but not create) the config file emacs/init.el you put in an XDG-compatible location. Namely:~/.config/emacs/init.el if the environment variable XDG_CONFIG_HOME is unset, and$XDG_CONFIG_HOME/emacs/init.el if XDG_CONFIG_HOME is set.~/.xemacs or ~/.xemacs/init.el.~/.emacs or ~/Library/Preferences/Aquamacs Emacs/Preferences.elIf you do not know where your init file is located, you can check the variable user-init-file:
M-x describe-variable RET user-init-file RET
Or if you do not have one and want to create it, then just open it for editing in Emacs:
C-x C-f ~/.emacs.d/init.el RET
When you add Emacs Lisp code to your init file, it is not evaluated until you restart Emacs. Rather than restarting Emacs, you can use ‘M-x eval-buffer’ to evaluate everything, or ‘M-x eval-region’ to evaluate a part you select, or just ‘C-x C-e’ (command ‘eval-last-sexp’) to evaluate the Emacs Lisp expression immediately before your cursor. See EvaluatingExpressions.
If it seems like your init file is not being read, type ‘C-h e’ to see if there is a chance there was a problem with it loading. See DebugFileLoading for more troubleshooting tips.
It’s often better to break up a lengthy init file into a number of EmacsLisp libraries and a small, top-level init file that loads those libraries, especially if you define commands and other functions. Some of the init files posted on EmacsWiki are organized in this way, as a set of library files.
For info about how to load an EmacsLisp file automatically when you start Emacs, see InstallingPackages.
You can also have a separate CustomFile reserved strictly for customizations recorded by Customize.
Start Emacs with a specific init file:
emacs -q -l ~/my-init-file.el
For more information about init files and custom files (Emacs 22 or later):
C-h r i init-file RET or M-: (info "(emacs) Init File")M-: (info "(emacs) Saving Customizations")M-: (info "(elisp) Init File")See the pages in CategoryDotEmacs for configuration suggestions and tips.