Siguiente: , Anterior: , Subir: Contribuir   [Índice general][Índice]


16.3 La configuración perfecta

La configuración perfecta para hackear en Guix es básicamente la configuración perfecta para hacerlo en Guile (véase Using Guile in Emacs en Guile Reference Manual). Primero, necesita más que un editor, necesita Emacs, con su potencia aumentada gracias al maravilloso Geiser. Para conseguir esta configuración ejecute:

guix package -i emacs guile emacs-geiser

Geiser permite desarrollo incremental e interactivo dentro de Emacs: compilación y evaluación de código dentro de los buffers, acceso a documentación en línea (docstrings), completado dependiente del contexto, M-. para saltar a la definición de un objeto, una consola interactiva (REPL) para probar su código, y más (véase Introducción en Geiser User Manual). Para desarrollar Guix adecuadamente, asegúrese de aumentar la ruta de carga de Guile (load-path) para que encuentre los archivos fuente de su copia de trabajo:

;; Suponiendo que la copia de trabajo de Guix está en ~/src/guix.
(with-eval-after-load 'geiser-guile
  (add-to-list 'geiser-guile-load-path "~/src/guix"))

Para realmente editar el código, Emacs tiene un modo para Scheme muy limpio. Pero además de eso, no debe perderse Paredit. Provee de facilidades para operar directamente en el árbol sintáctico como elevar una expresión-S o recubrirla, embeber o expulsar la siguiente expresión-S, etc.

También proporcionamos plantillas para los mensajes de revisión de git comunes y definiciones de paquetes en el directorio etc/snippets. Estas plantillas pueden ser usadas con YASnippet para expandir mnemotécnicos a fragmentos interactivos de texto. Puedes querer añadir el directorio de fragmentos a la variable yas-snippet-dirs en Emacs.

;; Suponiendo que la copia de trabajo de Guix está en ~/src/guix.
(with-eval-after-load 'yasnippet
  (add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))

Los fragmentos de mensajes de la revisión dependen de Magit para mostrar los archivos preparados. En la edición del mensaje de la revisión teclee add seguido de TAB (el tabulador) para insertar la plantilla del mensaje de la revisión de adición de un paquete; teclee update seguido de TAB para insertar una plantilla de actualización de un paquete; teclee https seguido de TAB para insertar una plantilla para cambiar la URI de la página de un paquete a HTTPS.

El fragmento principal para scheme-mode es activado al teclear package... seguido de TAB. Este fragmento también inserta el lanzador origin... que puede ser expandido de nuevo. El fragmento origin puede a su vez insertar otros identificadores de lanzado terminando en ..., que pueden ser expandidos de nuevo.

También proporcionamos herramientas para la inserción y actualización automática del copyright en etc/copyright.el. Puede proporcionar su nombre completo, correo electrónico y cargar el archivo.

(setq user-full-name "Alicia Díaz")
(setq user-mail-address "alicia@correo.org")
;; Se asume que la copia trabajo de guix está en ~/src/guix.
(load-file "~/src/guix/etc/copyright.el")

Para insertar el aviso de copyright en la línea actual invoque M-x guix-copyright.

Para actualizar el aviso de copyright debe especificar una expresión regular de nombres en la variable copyright-names-regexp.

(setq copyright-names-regexp
      (format "%s <%s>" user-full-name user-mail-address))

Puede comprobar si su copyright está actualizado evaluando M-x copyright-update. Si desea hacerlo de manera automática tras guardar un archivo añada (add-hook 'after-save-hook 'copyright-update) en Emacs.


Siguiente: , Anterior: , Subir: Contribuir   [Índice general][Índice]