Difference between revisions of "El-get"

From WikEmacs
Jump to navigation Jump to search
(installation)
(Clean up grammar in introduction)
 
(10 intermediate revisions by 2 users 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. '''El-get'''
[[Dimitri Fontaine]]. '''El-get''' supports many different back ends. The
+
differs from 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  
for the archival of packages. Instead it uses recipe files which are
+
simply contain pointers to sources and installation methods.
simply contains pointers to the sources and installation methods.
+
 
 +
 
 +
El-get makes it possible to retrieve scripts and extensions from many sources (git, emacswiki, elpa, url, file, …). It also allows one to automate their installation by writing all the 'require' and other directives needed in ~/.emacs.d/el-get, byte-compiling what is needed, and update / synchronize all the installed extensions. It works asynchronously, so you can carry on using emacs and wait for a notification.
  
 
= Installation =
 
= Installation =
Line 19: 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")
  
Line 28: Line 31:
 
     (end-of-buffer)
 
     (end-of-buffer)
 
     (eval-print-last-sexp))))
 
     (eval-print-last-sexp))))
</source>
+
</pre>
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'').
+
and execute it :
 +
 
 +
<pre lang="scheme">M-x eval-current-buffer</pre>
 +
 
 +
This code will check if el-get is already installed, and if not will do so through git (so you need git : {{UnixCommand | apt-get install git-core}}).
 +
 
 +
= Usage =
  
 +
Now let's say you want to install [[Media_player | emms]] for instance. Just type
 +
<pre lang="scheme">
 +
M-x el-get-install RET emms RET
 +
</pre>
 +
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 =
 
= 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 :
 +
 +
<pre lang="scheme">
 +
(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)
 +
</pre>
 +
 +
== Installation from emacswiki ==
 +
 +
{{Command|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 =
 
= Useful Functions =
 +
 +
== Add a recipe ==
 +
 +
El-get comes with [https://github.com/dimitri/el-get/tree/master/recipes a good number of recipes], but you can add yours in your .emacs too.
 +
 +
 +
To see more of its functionalities, see the [https://github.com/dimitri/el-get/blob/master/README.md README ] file on github.
  
 
== See also ==
 
== See also ==
Line 43: Line 101:
 
[[Category:Third Party Package]]
 
[[Category:Third Party Package]]
 
[[Category:Popular Package]]
 
[[Category:Popular Package]]
 +
[[Category:Convenience]]

Latest revision as of 15:10, 30 July 2014

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. El-get differs from other package managers by not having a central repository for the archival of packages. Instead it uses recipe files which simply contain pointers to sources and installation methods.


El-get makes it possible to retrieve scripts and extensions from many sources (git, emacswiki, elpa, url, file, …). It also allows one to automate their installation by writing all the 'require' and other directives needed in ~/.emacs.d/el-get, byte-compiling what is needed, and update / 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.