Emacs has this insane system for customizing it, you can even configure a lot of emacs using this GUI thing. I have never used it. But people do. If you like me prefer editing configurations over using GUI, you have probably noticed some "noise" in the end of your emacs config starting with "custom-set-variables". This is from the customization system. It is also used to save things like installed packages and other stuff like that. If you want to have your custom.el in a seperate file you can do this:
(setq custom-file "~/.emacs.d/custom.el") (load custom-file)
The only thing about it is that the custom.el file need to exist in advance.