[英]Customize the list of packages that emacs-prelude provides
我在这个链接中看到emacs prelude如何确保在emacs启动时安装了一组软件包。 我想知道我是否可以以某种方式扩展变量prelude-packages
以添加一些其他包,而不更改prelude-packages.el
文件?
除非我想知道如何定义启动时安装的软件包列表(如果它们当前未安装)。
您可以将.el
文件放在Prelude中的personal/
目录中。 Prelude按字母顺序加载它在那里找到的任何.el文件。 以下是我的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”添加到文件名以确保在所有个人自定义之前加载文件。 将所需的任何新包添加到要附加到prelude-packages
的列表中。
此外,如果您想使用MELPA或Marmalade中没有的任何模式,您只需将模式的文件放在个人文件夹中,Prelude将在加载时将其取出。 如果对该模式有任何自定义,只需创建另一个.el文件并在那里添加Emacs Lisp代码。
(prelude-require-packages '(some-package some-other-package))
如果你有几个包。 或者如果您只想添加一个包:
(prelude-require-package 'some-package)
如果需要,您仍然可以在变量中维护包列表:
(setq my-packages '(drupal-mode nginx-mode toto-mode)
(prelude-require-package my-packages)
在.emacs文件中,您可以添加这样的代码(与您发送的链接中的代码非常相似),以检查是否已安装每个软件包,如果不是,则安装它:
(dolist (package '(eredis anything erlang elnode))
(unless (package-installed-p package)
(package-install package)))
在回答你的问题时,没有理由在prelude代码运行后你不能这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.