Utilizo la siguiente estructura para realizar un seguimiento de los paquetes y archivos
~/.emacs.d
|-- elpa ;; Package.el packages
|-- hack ;; Development versions of packages (e.g. org, personal packages)
|-- single-lisp ;; Individual lisp files from outside sources (e.g. EmacsWiki)
|-- site-lisp ;; Lisp packages not managed by package.el (directories)
|-- user-config ;; Machine/situation specific customization (work vs home)
| `-- custom.el ;; Customization settings
|-- lisp ;; Individual .el files to keep init.el clean
| `-- defaults.el ;; Default configuration settings
`-- init.el
Luego uso use-package
para administrar qué paquetes se cargan y qué personalizaciones se establecen para cada paquete. La mayoría de las veces solamente hack
yelpa
requieren actualización, las otras carpetas a menudo son para paquetes que quiero probar o usar brevemente pero que no necesito cargar (incluso de forma inactiva).
custom.el
es para personalizar la configuración, que prefiero no usar (y no versión, incluso si lo uso).
defaults.el
es para la configuración general (barra de menú, fuente, codificación, etc.) que luego se puede sobrescribir en cualquier archivo .el user-config/
para permitir un sistema que funcione como esperaba, pero se puede ajustar para adaptarse al entorno.
Había probado previamente para mantener functions
, macros
, advice
en paquetes separados para permitir la delimitación entre el contenido, pero se encontró con la definición / requerir temas así que han puesto los de nuevo en init.el
. Eventualmente pueden volver a colocarse en~/.emacs.d/lisp/
.
Intento mantenerme init.el
ordenado, ordenar el contenido por función y propósito para que encontrarlo nuevamente sea sencillo. Tuve el init.el
archivo monolítico y seguí agregando contenido nuevo al final (o donde pensé que podría encajar) y luego terminaría sin saber qué había agregado o dónde lo había agregado cuando fui a buscarlo (y a veces la búsqueda usando isearch
no ayudó, ya que no podía recordar cómo nombraba las cosas en ese momento).