Difference between revisions of "El-get"

From WikEmacs
Jump to: navigation, search
m (Installation from emacswiki)
(Installation: Changed <source> to <pre> since the SyntaxHighlight plugin appears to not be working.)
Line 22: Line 22:
 
Add the following into your ~/.emacs :
 
Add the following into your ~/.emacs :
  
<source 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)
 +
  (url-retrieve
 +
    "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
 +
    (lambda (s)
 +
      (end-of-buffer)
 +
      (eval-print-last-sexp))))
 +
</pre>
  
(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))))
 
</source>
 
 
and execute it : ''M-x eval-current-buffer''.
 
and execute it : ''M-x eval-current-buffer''.
  

Revision as of 13:14, 17 April 2013

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

el-get is a popular package manager for Emacs written by Dimitri Fontaine. 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.