unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: "M-x guix" - magit-like interface for guix commands
Date: Sat, 29 Aug 2015 18:01:52 +0200	[thread overview]
Message-ID: <874mjiozgv.fsf@gnu.org> (raw)
In-Reply-To: <877fof41n6.fsf@gmail.com> (Alex Kost's message of "Fri, 28 Aug 2015 23:08:13 +0300")

[-- Attachment #1: Type: text/plain, Size: 1931 bytes --]

Alex Kost <alezost@gmail.com> skribis:

> Ludovic Courtès (2015-08-28 12:37 +0300) wrote:

[...]

>> Of course, you’re effectively the maintainer of that part.
>
> OK, but I also made some changes outside "emacs" dir:

Right, thanks for the heads-up then.  ;-)

> - I exported stuff from (guix scripts lint) and (guix scripts graph):
>   so that when a user choose "--checkers" option for 'guix lint' or

Regarding:

  Author:     Alex Kost <alezost@gmail.com>
  AuthorDate: Wed Aug 12 14:17:44 2015 +0300
  Commit:     Alex Kost <alezost@gmail.com>
  CommitDate: Fri Aug 28 23:03:58 2015 +0300

      guix lint: Export checkers and <lint-checker> accessors.

      * guix/scripts/lint.scm (%checkers, make-lint-checker, lint-checker,
        lint-checker?, lint-checker-name, lint-checker-description,
        lint-checker-check): Export.

This is fine, but please don’t export ‘make-lint-checker’ (people should
use the nicer ‘lint-checker’ macro instead.)

> - I moved emacs info node from "Package Management" to "Top" because it
>   is not just about package management anymore (as there are
>   "guix-prettify" and shell completions, and now there is also popup
>   interface for all guix commands).

Regarding:

  Author:     Alex Kost <alezost@gmail.com>
  AuthorDate: Thu Aug 13 20:16:29 2015 +0300
  Commit:     Alex Kost <alezost@gmail.com>
  CommitDate: Fri Aug 28 23:03:59 2015 +0300

      doc: Reorganize "Emacs Interface" node.

      * doc/guix.texi (Package Management): Move "Emacs Interface" node to ...
        (Top): ...here, since it is not just about package management.
      * doc/emacs.texi: Shift all nodes one level up (@section -> @chapter, etc.).
        Rename "Emacs Usage" node into "Emacs Package Management".  Move "Emacs
        Configuration" node here.

It sounds good to me.  Perhaps add something like this in this commit:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 713 bytes --]

--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -972,9 +972,9 @@ features.
 
 This chapter describes the main features of Guix, as well as the package
 management tools it provides.  Two user interfaces are provided for
-routine package management tasks: a command-line interface
-(@pxref{Invoking guix package, @code{guix package}}), and a visual user
-interface in Emacs (@pxref{Emacs Interface}).
+routine package management tasks: A command-line interface described below
+(@pxref{Invoking guix package, @code{guix package}}), as well as a visual user
+interface in Emacs described in a subsequent chapter (@pxref{Emacs Interface}).
 
 @menu
 * Features::                    How Guix will make your life brighter.

[-- Attachment #3: Type: text/plain, Size: 2622 bytes --]


> - And finally I moved a part of code from 'guix-main' to a new
>   'run-guix' procedure (in (guix ui) module).

Regarding:

  Author:     Alex Kost <alezost@gmail.com>
  AuthorDate: Sun Aug 16 10:28:04 2015 +0300
  Commit:     Alex Kost <alezost@gmail.com>
  CommitDate: Fri Aug 28 23:03:59 2015 +0300

      ui: Add 'run-guix'.

      * guix/ui.scm (guix-main): Move the code to run guix command line to ...
        (run-guix): ...here.  New procedure.  Export it.


[...]

  +(define (run-guix . args)
  +  "Run guix command defined by command line ARGS."

Missing “the” (“Run the 'guix' command”.)  Also please add something
like, “Unlike ‘guix-main’, this procedure assumes that locale, i18n
support, and signal handling has already been set up.”

> As for the emacs part: many long options don't have short analogs, so I
> chose keys (for popup windows) that seem appropriate for me, but they
> may not be good defaults for others.  The same thing with guix commands.
> For example, I chose "p" for "package", "P" for "pull" and "u" for
> "publish"; or "s" for "system" and "z" for "size", etc.  But maybe it is
> OK for now, and may be fixed later, if people will complain about
> strange popup keys, WDYT?

At first sight that looks good to me, because it uses the first letter
of the most common commands (‘package’ vs. ‘pull’, ‘system’ vs. ‘size’,
etc.)  But we can always adjust them later if needed.

> Also perhaps there are too many auxiliary commits (add this, add that),
> not sure if it's acceptable.

That’s OK.

Besides, this commit:

  References: wip-emacs-popup-ui origin/wip-emacs-popup-ui
  Author:     Alex Kost <alezost@gmail.com>
  AuthorDate: Tue Aug 18 11:32:42 2015 +0300
  Commit:     Alex Kost <alezost@gmail.com>
  CommitDate: Fri Aug 28 23:04:00 2015 +0300

      emacs: Use popup interface instead 'guix-pull' command.

      * emacs/guix-base.el (guix-pull): Remove.
      * doc/emacs.texi (Emacs Commands): Adjust accordingly.
      * emacs/guix-main.scm: Do not use (guix scripts pull) module.

removes M-x guix-pull.  But that means that people who don’t have
magit-popup no longer have a way to run that command, which I’d like to
avoid.

Is it possible to keep it?

> Yes, I think so.  I have rebased "wip-emacs-popup-ui" branch on master
> and made some final tweaks.  So this is the last warning! :-) If you
> still don't have comments/notes, I'm ready to push these commits.

Well thanks for insisting, now you have a bunch of actions to take.  ;-)

Cheers,
Ludo’.

  reply	other threads:[~2015-08-29 16:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14  8:19 "M-x guix" - magit-like interface for guix commands Alex Kost
2015-08-14 14:40 ` Thompson, David
2015-08-15 15:29   ` Alex Kost
2015-08-25 21:12     ` Ludovic Courtès
2015-08-26 11:35       ` Alex Kost
2015-08-25 21:14 ` Ludovic Courtès
2015-08-26 11:05   ` Alex Kost
2015-08-28  9:37     ` Ludovic Courtès
2015-08-28 20:08       ` Alex Kost
2015-08-29 16:01         ` Ludovic Courtès [this message]
2015-08-30  9:35           ` Alex Kost
2015-08-30 11:48             ` Ludovic Courtès
2015-08-30 15:28               ` Alex Kost

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=874mjiozgv.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=alezost@gmail.com \
    --cc=guix-devel@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).