guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GSoC] Package management from Emacs


From: Xue Fuqiao
Subject: Re: [GSoC] Package management from Emacs
Date: Wed, 05 Mar 2014 16:49:13 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Here's my (tentative) plan of this project:

This package (guix.el) will include a facility that lets you easily
install (by name or by expression), remove, upgrade, and roll back
packages.  Of course, guix.el can also list the available and/or
installed packages.

The command `guix-describe-package' (I haven't come up with a good key
binding yet) can prompt for the name of a package, and display a help
buffer describing the package.  The buffer includes the name, version,
source, dependencies, home page, license(s) and other descriptions of
the package.

`M-x guix-list-packages' will bring up a buffer named `*Guix Packages*'
with a list of all packages.  You can install or uninstall packages via
this buffer.  *Note my attached image for the prototype of this buffer.

The `*Guix Packages*' buffer will list all the packages that Guix knows
about, one on each line, with the following information:

   * The package name (e.g., `emacs').

   * The package's version number (e.g., `24.3').

   * The package's status (installed/available).

   * A short description of the package.

The following commands will be available in the `*Guix Packages*' buffer:

`h'
     Print a short message summarizing how to use guix.el
     (`guix-quick-help').

`?'
`<RET>'
     Display a help buffer for the package on the current line
     (`guix-describe-package'), similar to the help window
     displayed by the `C-h P' command.

`i'
     Mark the package on the current line for installation
     (`guix-mark-install').  If the package status is `available', this
     adds an `I' character to the start of the line; typing `x' (see
     below) will download and install the package.

`d'
     Mark the package on the current line for deletion
     (`guix-mark-delete').  If the package status is `installed', this
     adds a `D' character to the start of the line; typing `x' (see
     below) will delete the package.

`u'
     Remove any installation or deletion mark previously added to the
     current line by an `i' or `d' command.

`U'
     Mark all package with a newer available version for “upgrading”
     (`guix-mark-upgrades').  This places an installation mark on the
     new available versions, and a deletion mark on the old installed
     versions.

`x'
     Download and install all packages marked with `i', and their
     dependencies; also, delete all packages marked with `d'
     (`guix-execute').  This also removes the marks.

`r'
     Refresh the package list (`guix-refresh').  This recomputes the
     package list.

`R'
     Roll back to the previous generation of the profile
     (`guix-roll-back').  This undo the last transaction.  (Do we need a
     "roll back" mark?)

For example, you can install a package by typing `i' on the line listing
that package, followed by `x'.

One can also use the command `M-x guix-package-install' and `M-x
guix-package-remove' to install/remove a package.

Any comments?

Attachment: guix-emacs.png
Description: guix.el

-- 
http://www.gnu.org/software/emacs/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]