自定义emacs prelude提供的包列表

自定义emacs prelude提供的包列表,emacs,elisp,emacs-prelude,Emacs,Elisp,Emacs Prelude,我看到了emacs prelude如何确保在emacs启动时安装一组软件包。我想知道是否可以在不更改prelude packages.el文件的情况下,以某种方式扩展变量prelude packages来添加其他包 除此之外,我想知道如何定义启动时安装的软件包列表(如果当前未安装) 在.emacs文件中,您可以添加如下代码(与您发送的链接中的代码非常类似),以检查是否安装了每个软件包,如果未安装,请安装: (dolist (package '(eredis anything erlang eln

我看到了emacs prelude如何确保在emacs启动时安装一组软件包。我想知道是否可以在不更改
prelude packages.el
文件的情况下,以某种方式扩展变量
prelude packages
来添加其他包


除此之外,我想知道如何定义启动时安装的软件包列表(如果当前未安装)

在.emacs文件中,您可以添加如下代码(与您发送的链接中的代码非常类似),以检查是否安装了每个软件包,如果未安装,请安装:

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

对于您的问题,在prelude代码运行后,您没有理由不能执行此操作。

您可以在prelude的
个人/
目录中放置
.el
文件。Prelude按字母顺序加载它在那里找到的任何.el文件。以下是我的
个人/00包.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”添加到文件名,以确保在所有个人自定义之前加载文件。将您需要的任何新软件包添加到要附加到
prelude软件包
的列表中

此外,如果您想使用MELPA或Marmalade中不可用的任何模式,只需将该模式的文件放到个人文件夹中,Prelude就会在加载时将其拾取。如果对该模式有任何自定义,只需创建另一个.el文件并在其中添加Emacs Lisp代码。

使用

如果你有几个包裹。或者,如果您只想添加一个包:

(prelude-require-package 'some-package)

如果需要,您仍然可以在变量中维护包列表:

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