9

このリンクで、emacs preludeが、emacsの起動時に一連のパッケージが確実にインストールされるようにする方法を確認します。ファイルprelude-packagesを変更せずに、変数を拡張して他のパッケージを追加できるかどうか疑問に思っていました。prelude-packages.el

現在インストールされていない場合、起動時にインストールされるパッケージのリストをどのように定義できるのか疑問に思っていたことを除けば。

4

3 に答える 3

8

Preludeのディレクトリに.elファイルを配置できます。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ファイルを作成し、そこにEmacsLispコードを追加するだけです。

于 2013-01-17T13:20:47.453 に答える
6

プレリュードの使用をお勧めします

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

複数のパッケージがある場合。または、パッケージを1つだけ追加する場合:

(prelude-require-package 'some-package)

必要に応じて、パッケージリストを変数で維持できます。

(setq my-packages '(drupal-mode nginx-mode toto-mode)
(prelude-require-package my-packages)
于 2015-02-24T15:51:52.700 に答える
1

.emacsファイルに次のようなコード(送信したリンクのコードと非常によく似ています)を追加して、各パッケージがインストールされているかどうかを確認し、インストールされていない場合はインストールします。

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

あなたの質問に答えて、プレリュードコードが実行された後にこれを行うことができない理由はありません。

于 2012-08-09T23:02:04.407 に答える