我在this link看到emacs序言如何確保在emacs啓動時安裝了一組軟件包。我想知道如果我能以某種方式擴展變量prelude-packages
以添加一些其他軟件包,而不更改prelude-packages.el
文件?自定義emacs-prelude提供的軟件包列表
除了我想知道如何定義在啓動時安裝的軟件包列表(如果它們當前未安裝的話)。
我在this link看到emacs序言如何確保在emacs啓動時安裝了一組軟件包。我想知道如果我能以某種方式擴展變量prelude-packages
以添加一些其他軟件包,而不更改prelude-packages.el
文件?自定義emacs-prelude提供的軟件包列表
除了我想知道如何定義在啓動時安裝的軟件包列表(如果它們當前未安裝的話)。
(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中的personal/
目錄中放置一個.el
文件。 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代碼即可。