all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Xue Fuqiao <xfq@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [GSoC] Package management from Emacs
Date: Wed, 05 Mar 2014 19:44:57 +0100	[thread overview]
Message-ID: <878usoxz6e.fsf@gnu.org> (raw)
In-Reply-To: <87siqxhvxy.fsf_-_@gnu.org> (Xue Fuqiao's message of "Wed, 05 Mar 2014 16:49:13 +0800")

Xue Fuqiao <xfq@gnu.org> skribis:

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

Thanks for sharing your thoughts!

> 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.

There should also be a link to jump to the package definition, pretty
much like that of Emacs’ and Geiser’s docstring buffers.

Optionally, the package’s logo could be displayed too (see
build-aux/list-packages.scm, which does that for the HTML output.)

Also, I think there should be a search facility, with incremental search
fashion.  For instance, you could type ‘S’, enter a “C lib”, and that
would restrict the package list to the packages that show up in ‘guix
package -S "C lib"’.

> `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.

Perfect.

Ideally, new packages (obtained via ‘guix pull’) would show up first,
highlighted, as with package.el.  That requires support from ‘guix
pull’, but that’s on the to-do list.

> 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:

[...]

Yes, perfect.

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

Perhaps there should be something that runs ‘guix pull’ too (it’s like
‘apt-get update’)?

> `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?)

OK for ‘R’.

We don’t need a roll-back mark, I think, because you’re rolling back to
the previous generation; it’s not a per-package operation.

I was thinking it would also be neat to have a way to visualize
generations, basically a “graphical” and interactive representation of
what ‘guix package --list-generations’ provides.  That would show, for
instance, the date of the generations and the changes compared to the
previous one, and would make it easy to roll back to a specific
generation.

Perhaps we can keep that last thing as an bonus work item.  How do you
feel about it?

Thanks!

Ludo’.

  reply	other threads:[~2014-03-05 18:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-02  7:56 About GSoC 2014 Xue Fuqiao
2014-03-03 22:40 ` Ludovic Courtès
2014-03-04  8:11   ` Xue Fuqiao
2014-03-05  8:49   ` [GSoC] Package management from Emacs Xue Fuqiao
2014-03-05 18:44     ` Ludovic Courtès [this message]
2014-03-05 23:39       ` Grim Schjetne
2014-03-06  5:30         ` Xue Fuqiao
2014-03-06 10:54         ` Ludovic Courtès
2014-03-06 22:37           ` Xue Fuqiao
2014-03-07  8:49             ` Ludovic Courtès
2014-03-06  3:24       ` Xue Fuqiao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878usoxz6e.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=xfq@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.