Emacs Doom Capítulo 4: Instalando paquetes en Doom
Archivos útiles en doom
Como se ha visto en entradas anteriores, las usuarias pueden seleccionar dentro del conjunto de paquetes que vienen definidos ya en doom-emacs mediante la manipulación en ~/.doom.d/init.el
(al que se puede acceder rápidamente mediante los atajos C-x p p
lo que EViL sería SPC f p
); en el directorio ~//.doom.d
están los tres archivos que permiten cambiar el funcionamiento de Emacs doom: init.el
, config.el
, y packages.el
.
En el caso de que la usuaria necesite agregar un paquete nuevo a su
configuración, basta con que lo declare en el archivo de su configuración personal ~/.doom.d/packages.el
, y que luego edite las opciones que quiere de ese paquete en el archivo ~/.doom.d/config.el
.
Instalando un paquete de ejemplo:
Para esta entrada de blog, se guiará a través del proceso de instalación del paquete org-super-agenda como ejemplo del proceso de personalización de doom. Lo primero que se debe hacer es definir el paquete a utilizar en el archivo packages.el
, en este archivo la usuaria puede tener toda la lista de paquetes que quiera agregar incluyendo la fuente desde dónde descargarlo (un repositorio en git, melpa, elpa, etc.) pero sin declarar la versión del paquete.
Para hacerlo es tan simple como agregar la siguiente línea en el archivo packages.el
:
(package! nombre-del-paquete)
En nuestro caso, sería:
(package! org-super-agenda)
Una vez guardado el archivo, se debe correr la orden refresh de doom, para que éste busque e instale las fuentes más actuales en elpa:
$ sh ~/.emacs.d/bin/doom refresh
Va a reconocer el nombre del nuevo paquete y debemos aceptar mediante la tecla y cuando se nos consulte.
Configurando el paquete instalado:
Una vez lista la instalación del paquete, podemos configurarlo de acuerdo a las necesidades de la usuaria mediante una macro bastante útil que se llama def-package!
y es una capa de abstracción del conocido use-package. Para esto, se debe abrir el archivo config.el
y escribir la
configuración que se requiera, por ejemplo:
(def-package! org-super-agenda
:after org-agenda
:init
(setq org-super-agenda-groups '(grupos que correspondan, ver))
:config
(org-super-agenda-mode))
Ya cuando se haya configurado el paquete, basta con que la usuaria guarde el archivo config.el
, vuelva a abrir una instancia de Emacs y revisar las nuevas funcionalidades que integran sus paquetes preferidos.
El uso de otra macro:
Si la usuaria quiere configurar un paquete que ya está incluido en Emacs doom, en vez de utilizar def-package!
es posible que quiera probar con after!
, que es una macro parecida a la primera pero que permite configurar algo después de que se haya cargado un paquete, revisemos un ejemplo configurando org-mode:
(after! org
(setq alguna-configuración-deseada))
De esta manera, Emacs doom se convierte en una configuración de Emacs que es muy personalizable y que puede ser amigable para las usuarias novicias para experimentar con esta interfaz de texto programable.