2012-08-09 6 views
8

Veo en this link cómo el preludio de emacs garantiza que se instale un conjunto de paquetes cuando se inicia emacs. Me preguntaba si de alguna manera podría extender la variable prelude-packages para agregar algunos otros paquetes, sin cambiar el archivo prelude-packages.el.Personalice la lista de paquetes que emacs-prelude proporciona

Excepto que me preguntaba cómo podría definir una lista de paquetes que están instalados en el inicio si no están instalados actualmente.

Respuesta

5

Prelude recommends utilizar

(prelude-require-packages '(some-package some-other-package)) 

si tiene varios paquetes. O en caso de que desee añadir un solo paquete:

(prelude-require-package 'some-package) 

Si lo desea, todavía puede mantener su lista de paquetes en una variable:

(setq my-packages '(drupal-mode nginx-mode toto-mode) 
(prelude-require-package my-packages) 
1

En el fichero .emacs habría que agregar código como este (muy similar al código en el enlace que envió) para comprobar si se instala cada paquete e instalarlo si no lo es:

(dolist (package '(eredis anything erlang elnode)) 
    (unless (package-installed-p package) 
    (package-install package))) 

En respuesta a su pregunta, no hay ninguna razón por la que no pueda hacer esto después de que se haya ejecutado el código del preludio.

8

Puede colocar un archivo .el en el directorio personal/ en Prelude. Prelude carga cualquier archivo .el que encuentre allí en orden alfabético. A continuación se muestra el contenido de mi archivo personal/00-packages.el .:

(require 'package) 
(add-to-list 'package-archives 
      '("marmalade" . 
       "http://marmalade-repo.org/packages/")) 
(package-initialize) 

;; My packages 
(setq prelude-packages (append '(
           drupal-mode 
           nginx-mode 
           ) prelude-packages)) 

;; Install my packages 
(prelude-install-packages) 

"00" se añade al nombre del archivo para asegurarse de que el archivo se carga antes de todas las personalizaciones personales. Agregue cualquier paquete nuevo que necesite a la lista que se anexa al prelude-packages.

Además, si desea utilizar cualquier modo que no esté disponible en MELPA o Marmalade, simplemente puede soltar el archivo del modo en la carpeta personal y Prelude lo recogerá durante la carga. Si hay personalizaciones para ese modo, simplemente cree otro archivo .el y agregue allí el código Emacs Lisp.

Cuestiones relacionadas