This is an Emacs package for searching, getting information and downloading AUR (Arch User Repository) packages. Its functionality is very similar to the one provided by cower, but instead of the command-line interface you use Emacs interface.
This package uses AurJson RPC interface to get information about AUR packages.
You may look at the screenshot below or at this gif demonstration made by Ivaylo Kuzev to get an idea how aurel looks like (this demo is a bit outdated as it was made for version 0.1, the interface has changed since then).
alect-light theme from
alect-themes is used in this
The package can be installed from MELPA
M-x package-install or
Add the following lines to your
Add a directory with this package to the
(add-to-list 'load-path "/path/to/aurel-dir")
Add autoloads for the interactive functions:
(autoload 'aurel-package-info "aurel" nil t) (autoload 'aurel-package-search "aurel" nil t) (autoload 'aurel-package-search-by-name "aurel" nil t) (autoload 'aurel-maintainer-search "aurel" nil t) (autoload 'aurel-installed-packages "aurel" nil t)
Set a directory where the packages will be downloaded:
(setq aurel-download-directory "~/abs")
Search for packages by name or description:
Searching for multiple words (separated with spaces) is supported. If you want to search for a string containing spaces, quote it with double quotes (
"..."). Examples of searching:
"python library" xml
light weight "programming language"
Search for packages only by name (i.e., only packages with names that contain a searched string will be displayed):
Search for packages by maintainer:
Get an information about a package by exact name:
Display information about installed AUR packages:
A particular filter (see Filtering) is useful here: press fv to hide the packages with the same installed and current AUR versions (i.e. to see the potential candidates for updating).
There are 2 kinds of buffers (major modes) for representing an information about packages:
Display packages in a form similar to a list of Emacs packages (
M-x list-packages). Press RET to get more information about the current package or the marked packages (you can mark several packages with m/M and unmark with u/U/DEL).
Display more information about package(s) in a buffer with self-descriptive buttons. This buffer is similar to an Emacs customization buffer.
In both modes you can press d to download the package, but
don't forget to set
Each aurel buffer has its own history similar to the history of the
Info modes. You can move backward/forward by the
history with l/r and refresh information with
Press h to see a
hint (a summary of the available key
AUR account actions
If you have an AUR account, you can use
aurel to vote for
packages, to subscribe for new comments and to show additional
information (whether a package is voted/subscribed by you or not).
The following keys are available in a buffer with package info by default:
- v to vote (C-u v to unvote)
- s to subscribe (C-u s to unsubscribe)
To enable receiving additional AUR user specific information (
Subscribed lines should appear in the info buffer), use the
(setq aurel-aur-user-package-info-check t)
The first time
aurel needs the above information, you will be prompted
for your AUR account (you may set
aurel-aur-user-name variable for
convenience) and a password. The password is not saved anywhere, but a
login cookie is saved (emacs saves cookies in
by default). The cookie is valid for about a month, so if you don't
want to be prompted for the credentials every month, you may add the
following line to your
~/.authinfo.gpg) file (see
auth manual for details):
machine aur.archlinux.org login <user> password <password>
<password> with your credentials)
User options can be explored with
M-x customize-group RET aurel.
Anything you see in
list buffers is configurable using
If you want to change column titles (displayed in
list buffer) and
descriptions of package parameters (displayed in
info buffer), there
for both buffer types) variables.
If you don't like the names of info and list buffers, you can change them like this:
(setq aurel-list-buffer-name "*aur-list*" aurel-info-buffer-name "*aur-info*")
By default, after receiving information about the packages from AUR server, pacman is called to get additional information about installed packages. If you want to disable that (to make the process a bit faster, for example), use the following:
(setq aurel-installed-packages-check nil)
You can hide some of the displayed packages using filters. Press fC-h to see all available filter bindings. The most useful ones are:
- ff to select and enable a filter;
- fd to disable all filters;
A new filter will be added to the enabled ones, so for example you can hide unmaintained and outdated packages by pressing fm and fo. If you want to make a filter the only active, press C-u before a filter command.
Downloading a package
You can change the default behavior of a "downloading action" with
aurel-list-multi-download-function (you can mark several packages for
downloading with m/M and unmark with
u/U/DEL) variables. Currently the
following functions are available:
aurel-download-unpack(default in a list buffer)
aurel-download-unpack-dired(default in an info buffer)
The following people helped to improve this package:
- Andrea De Michele: fixed the pacman localization issue.