Difference between revisions of "El-get"

From WikEmacs
Jump to: navigation, search
(Changed <source> to <pre>.)
m (typo)
(One intermediate revision by one other user not shown)
Line 2: Line 2:
 
|name=el-get
 
|name=el-get
 
|description=Package Manager
 
|description=Package Manager
 +
|author=[[Dimitri Fontaine]]
 
|maintainer=[[Dimitri Fontaine]]
 
|maintainer=[[Dimitri Fontaine]]
 
|source=https://github.com/dimitri/el-get
 
|source=https://github.com/dimitri/el-get
Line 9: Line 10:
 
}}
 
}}
  
'''el-get''' is a popular package manager for [[Emacs]] written by
+
'''El-get''' is a popular package manager for [[Emacs]]. '''El-get''' supports many different back ends. The
[[Dimitri Fontaine]]. '''El-get''' supports many different back ends. The
+
 
differs with other package managers by not having a central repository
 
differs with other package managers by not having a central repository
 
for the archival of packages. Instead it uses recipe files which are
 
for the archival of packages. Instead it uses recipe files which are
Line 23: Line 23:
  
 
<pre lang="scheme">
 
<pre lang="scheme">
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
+
(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
  
(unless (require 'el-get nil t)
+
(unless (require 'el-get nil t)
  (url-retrieve
+
  (url-retrieve
    "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
+
  "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
    (lambda (s)
+
  (lambda (s)
      (end-of-buffer)
+
    (end-of-buffer)
      (eval-print-last-sexp))))
+
    (eval-print-last-sexp))))
 
</pre>
 
</pre>
  

Revision as of 03:22, 15 May 2013

el-get
Description Package Manager
Author Dimitri Fontaine
Maintainer Dimitri Fontaine
Source https://github.com/dimitri/el-get
Part of Emacs no

El-get is a popular package manager for Emacs. El-get supports many different back ends. The differs with other package managers by not having a central repository for the archival of packages. Instead it uses recipe files which are simply contains pointers to the sources and installation methods.


El-get makes it possible to install scripts and extensions from many sources (git, emacswiki, elpa, url, file, …), to automatize their installation, write automatically all the 'require' and the other directives needed in ~/.emacs.d/el-get, byte-compile what should be, and to update and synchronize all the installed extensions. It works asynchronously, so you can carry on using emacs and wait for a notification.

Installation

Add the following into your ~/.emacs :

(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))))

and execute it :

M-x eval-current-buffer

This code will check if el-get is already installed, and if not will do so through git (so you need git : apt-get install git-core).

Usage

Now let's say you want to install emms for instance. Just type

M-x el-get-install RET emms RET

and wait for the notification. You can now use it right away.

It works either with small extensions or with huge ones, like org-mode.

If you don't want an extension any more : el-get-remove. Want to update ? el-get-update, and so on.

Basic Setup

Save and synchronize a list of extensions

You have to declare a list of extensions in your .emacs. Emacs will check at start-up if they are installed and if not, install them.

For example :

(setq my:el-get-packages
      '(yasnippet
        org-mode
        anything
        emms
        dired-sort
        auto-dictionnary
        autopair
        color-theme
        dired+
        google-maps
        org2blog
        rainbow-mode
        switch-window
        sr-speedbar
        typopunct
        ))

(el-get 'sync my:el-get-packages)

Installation from emacswiki

M-x el-get-emacswiki-refresh

wait for the notification and from now on, all the files hosted on Emacswiki are ready to be installed with el-get-install.

Useful Functions

Add a recipe

El-get comes with a good number of recipes, but you can add yours in your .emacs too.


To see more of its functionalities, see the README file on github.

See also

package.el aka ELPA, the Emacs Lisp Package Archive.