如何在el-get之后立即安装我的软件包(使用el-get)

时间:2012-04-12 10:06:01

标签: emacs elisp

el-get个emacs项目,类似于包管理器。

我有我的init.el:

;; ==== el-get stuff ========================================================
(add-to-list 'load-path "~/.emacs.d/el-get/el-get") 
  (unless (require 'el-get nil t) 
    (url-retrieve "https://raw.github.com/dimitri/el-get/master/el-get-install.el" 
                  (lambda (s) 
                    (end-of-buffer) 
                    (eval-print-last-sexp))))
;; ==== el-get ==============================================================
(setq my-packages 
      (append 
       '(nav) 
       (mapcar 'el-get-source-name el-get-sources))) 
(el-get 'sync my-packages)

所以在第一次运行时它将安装el-get如果它没有安装并且它可以工作,在下一步我希望它使用el-get安装nav(emacs包)但它在第一次运行时不起作用(紧接着el-get installation)甚至在安装完成之前就运行了。

我怎样才能使它相似:首次运行 - >安装el-get - >安装我的包裹?

我认为核心问题是如何等待el-get安装?

2 个答案:

答案 0 :(得分:4)

你可能会寻找getelget.el

只需设置el-get-packages,el-get-sources;

;; path to local config                                                                                                                                                                                            
(add-to-list 'load-path
             (concat
              (file-name-as-directory user-emacs-directory) "site-lisp/"))

(load-library "getelget.el")

您也可以使用此功能

(el-get-sync)

答案 1 :(得分:2)

我用el-get管理我的所有包裹。我非常喜欢它。这是我的init.el

中修改过的代码片段
(unless (require 'el-get nil t)
  (setq el-get-install-branch "master")
  (with-current-buffer
      (url-retrieve-synchronously
       "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
    (end-of-buffer)
    (eval-print-last-sexp))
  (el-get-emacswiki-refresh el-get-recipe-path-emacswiki t))

init.el中进行此操作,如果我去任何新计算机,我只需要将新的init.el放到位并启动emacs。

以上代码段检查天气是否可用。如果它不可用它安装了远程。

一旦el-get出现,它将占用剩余的包裹。