all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* "M-x guix" - magit-like interface for guix commands
@ 2015-08-14  8:19 Alex Kost
  2015-08-14 14:40 ` Thompson, David
  2015-08-25 21:14 ` Ludovic Courtès
  0 siblings, 2 replies; 13+ messages in thread
From: Alex Kost @ 2015-08-14  8:19 UTC (permalink / raw)
  To: guix-devel

Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
(popup) interface for guix commands.

In short, here is how it looks like:

"M-x guix": <http://i.imgur.com/qsWNNg8.png>
and pressing "b" there ("build"): <http://i.imgur.com/jqE4TEr.png>

There are some things to do, but it is ready for trying.  So if anyone
wants to look at it:

1. Set up emacs for using your guix repo directory -
   see (info "(guix) Emacs Initial Setup")

2. Switch to 'wip-emacs-popup-ui' branch and "make" it.

3. Start emacs and run "M-x guix".

Oh, and it requires 'magit-popup' library which is a part of Magit 2.1.0.

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  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:14 ` Ludovic Courtès
  1 sibling, 1 reply; 13+ messages in thread
From: Thompson, David @ 2015-08-14 14:40 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

On Fri, Aug 14, 2015 at 4:19 AM, Alex Kost <alezost@gmail.com> wrote:
> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
> (popup) interface for guix commands.
>
> In short, here is how it looks like:
>
> "M-x guix": <http://i.imgur.com/qsWNNg8.png>
> and pressing "b" there ("build"): <http://i.imgur.com/jqE4TEr.png>
>
> There are some things to do, but it is ready for trying.  So if anyone
> wants to look at it:
>
> 1. Set up emacs for using your guix repo directory -
>    see (info "(guix) Emacs Initial Setup")
>
> 2. Switch to 'wip-emacs-popup-ui' branch and "make" it.
>
> 3. Start emacs and run "M-x guix".
>
> Oh, and it requires 'magit-popup' library which is a part of Magit 2.1.0.

This looks awesome!  I love Magit's interface.  Though, I do wonder if
depending on Magit is too heavy a dependency.

I noticed an 'e' for 'environment'.  I imagine that's just a placeholder. ;)

Anyway, really cool stuff!

- Dave

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-14 14:40 ` Thompson, David
@ 2015-08-15 15:29   ` Alex Kost
  2015-08-25 21:12     ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Alex Kost @ 2015-08-15 15:29 UTC (permalink / raw)
  To: Thompson, David; +Cc: guix-devel

Thompson, David (2015-08-14 17:40 +0300) wrote:

> On Fri, Aug 14, 2015 at 4:19 AM, Alex Kost <alezost@gmail.com> wrote:
>> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
>> (popup) interface for guix commands.
>>
>> In short, here is how it looks like:
>>
>> "M-x guix": <http://i.imgur.com/qsWNNg8.png>
>> and pressing "b" there ("build"): <http://i.imgur.com/jqE4TEr.png>
>>
>> There are some things to do, but it is ready for trying.  So if anyone
>> wants to look at it:
>>
>> 1. Set up emacs for using your guix repo directory -
>>    see (info "(guix) Emacs Initial Setup")
>>
>> 2. Switch to 'wip-emacs-popup-ui' branch and "make" it.
>>
>> 3. Start emacs and run "M-x guix".
>>
>> Oh, and it requires 'magit-popup' library which is a part of Magit 2.1.0.
>
> This looks awesome!  I love Magit's interface.  Though, I do wonder if
I like it too :-)
> depending on Magit is too heavy a dependency.

It does not depend on the whole Magit but only on a single
"magit-popup.el" file which may be installed separately (available on
Melpa, for example).  So potentially we can make a package just for this
library and use it.

However, according to its manual¹, it will be superseded by a general
library which will not be a part of magit, so eventually it will be a
light-weight dependency I think.

Anyway, we already have a heavy dependency for Emacs interface (Geiser).

> I noticed an 'e' for 'environment'.  I imagine that's just a placeholder. ;)

Not really, all commands (including 'environment') are ready to use.
You just specify the options you want in the magit manner and then you run
"Execute" action.  And the specified command is executed in Guix REPL.

Specifically for 'environment' it may lead to a very interesting result
as it will spawn an external process, unless --dry-run or --search-paths
options were specified.  But still it will… let's say… work, but only if
a user is brave enough to try it ;)

Also along with "execute in REPL" action I'm going to add 2 more default
actions for each command:

- "execute in shell" — this will be a complete alternative to writing a
  full command manually in a shell buffer.

- "copy the command line" — i.e., to put the specified command arguments
   into kill ring, so later a user could do with it whatever he wants.

In future there may also be added special actions for some commands.

> Anyway, really cool stuff!

Thank you!

[1] http://magit.vc/manual/magit-popup/Defining-prefix-and-suffix-commands.html

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-15 15:29   ` Alex Kost
@ 2015-08-25 21:12     ` Ludovic Courtès
  2015-08-26 11:35       ` Alex Kost
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-08-25 21:12 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> Thompson, David (2015-08-14 17:40 +0300) wrote:
>
>> On Fri, Aug 14, 2015 at 4:19 AM, Alex Kost <alezost@gmail.com> wrote:
>>> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
>>> (popup) interface for guix commands.
>>>
>>> In short, here is how it looks like:
>>>
>>> "M-x guix": <http://i.imgur.com/qsWNNg8.png>
>>> and pressing "b" there ("build"): <http://i.imgur.com/jqE4TEr.png>
>>>
>>> There are some things to do, but it is ready for trying.  So if anyone
>>> wants to look at it:
>>>
>>> 1. Set up emacs for using your guix repo directory -
>>>    see (info "(guix) Emacs Initial Setup")
>>>
>>> 2. Switch to 'wip-emacs-popup-ui' branch and "make" it.
>>>
>>> 3. Start emacs and run "M-x guix".
>>>
>>> Oh, and it requires 'magit-popup' library which is a part of Magit 2.1.0.
>>
>> This looks awesome!  I love Magit's interface.  Though, I do wonder if
> I like it too :-)

+1, excellent idea!

>> depending on Magit is too heavy a dependency.
>
> It does not depend on the whole Magit but only on a single
> "magit-popup.el" file which may be installed separately (available on
> Melpa, for example).  So potentially we can make a package just for this
> library and use it.
>
> However, according to its manual¹, it will be superseded by a general
> library which will not be a part of magit, so eventually it will be a
> light-weight dependency I think.
>
> Anyway, we already have a heavy dependency for Emacs interface (Geiser).

Yes, but Geiser is an “obvious” one that cannot be avoided.

I haven’t tested wip-emacs-popup-ui yet because I have yet to switch to
Magit 2 (I’m slightly afraid of breaking my workflow, maybe unreasonably
so!).

That said, since the functionality is in a separate file, people who
don’t have magit-popup.el can just choose to not use M-x guix while
still being available to use the other features, right?

>> I noticed an 'e' for 'environment'.  I imagine that's just a placeholder. ;)
>
> Not really, all commands (including 'environment') are ready to use.
> You just specify the options you want in the magit manner and then you run
> "Execute" action.  And the specified command is executed in Guix REPL.
>
> Specifically for 'environment' it may lead to a very interesting result
> as it will spawn an external process, unless --dry-run or --search-paths
> options were specified.  But still it will… let's say… work, but only if
> a user is brave enough to try it ;)

:-)

It Would Be Nice to have, say, M-x guix-compile-in-environment, which
would be like M-x compile but just run the thing in ‘guix environment’.
Just thought I’d mention this in passing.  ;-)

> Also along with "execute in REPL" action I'm going to add 2 more default
> actions for each command:
>
> - "execute in shell" — this will be a complete alternative to writing a
>   full command manually in a shell buffer.
>
> - "copy the command line" — i.e., to put the specified command arguments
>    into kill ring, so later a user could do with it whatever he wants.

(he or she)

Sounds like more exciting stuff ahead!

Thanks for your creativity & hack power!

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  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-25 21:14 ` Ludovic Courtès
  2015-08-26 11:05   ` Alex Kost
  1 sibling, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-08-25 21:14 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
> (popup) interface for guix commands.

BTW I’ve quickly looked at the commits and don’t have any comments.
Feel free to merge to master when you deem appropriate.

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-25 21:14 ` Ludovic Courtès
@ 2015-08-26 11:05   ` Alex Kost
  2015-08-28  9:37     ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Alex Kost @ 2015-08-26 11:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès (2015-08-26 00:14 +0300) wrote:

> Alex Kost <alezost@gmail.com> skribis:
>
>> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
>> (popup) interface for guix commands.
>
> BTW I’ve quickly looked at the commits and don’t have any comments.
> Feel free to merge to master when you deem appropriate.

Ouch, sounds like a carte-blanche.  OK, I hope these commits will not
ruin the world :-)

IMO this feature is ready, at least I've been successfully using it for
a couple of weeks.  But I think that we should have a new Magit2 package
at first.  So I'm going to add this feature to master after pushing the
following patches if you don't mind:

http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00571.html
http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00383.html
http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00433.html

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-25 21:12     ` Ludovic Courtès
@ 2015-08-26 11:35       ` Alex Kost
  0 siblings, 0 replies; 13+ messages in thread
From: Alex Kost @ 2015-08-26 11:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès (2015-08-26 00:12 +0300) wrote:

> Alex Kost <alezost@gmail.com> skribis:
>
>> Thompson, David (2015-08-14 17:40 +0300) wrote:
[...]
>>> depending on Magit is too heavy a dependency.
>>
>> It does not depend on the whole Magit but only on a single
>> "magit-popup.el" file which may be installed separately (available on
>> Melpa, for example).  So potentially we can make a package just for this
>> library and use it.
>>
>> However, according to its manual¹, it will be superseded by a general
>> library which will not be a part of magit, so eventually it will be a
>> light-weight dependency I think.
>>
>> Anyway, we already have a heavy dependency for Emacs interface (Geiser).
>
> Yes, but Geiser is an “obvious” one that cannot be avoided.
>
> I haven’t tested wip-emacs-popup-ui yet because I have yet to switch to
> Magit 2 (I’m slightly afraid of breaking my workflow, maybe unreasonably
> so!).

Magit2 broke my workflow completely when I switched to it several months
ago, and it took some time to set it up for my needs.

> That said, since the functionality is in a separate file, people who
> don’t have magit-popup.el can just choose to not use M-x guix while
> still being available to use the other features, right?

Yes.  I think I'll mention in the manual that it is an optional
dependency used for “M-x guix”.

>>> I noticed an 'e' for 'environment'.  I imagine that's just a placeholder. ;)
>>
>> Not really, all commands (including 'environment') are ready to use.
>> You just specify the options you want in the magit manner and then you run
>> "Execute" action.  And the specified command is executed in Guix REPL.
>>
>> Specifically for 'environment' it may lead to a very interesting result
>> as it will spawn an external process, unless --dry-run or --search-paths
>> options were specified.  But still it will… let's say… work, but only if
>> a user is brave enough to try it ;)
>
> :-)
>
> It Would Be Nice to have, say, M-x guix-compile-in-environment, which
> would be like M-x compile but just run the thing in ‘guix environment’.
> Just thought I’d mention this in passing.  ;-)

Yes, I remember about emacs+environment wishes, but I don't promise
anything :-(

>> Also along with "execute in REPL" action I'm going to add 2 more default
>> actions for each command:
>>
>> - "execute in shell" — this will be a complete alternative to writing a
>>   full command manually in a shell buffer.
>>
>> - "copy the command line" — i.e., to put the specified command arguments
>>    into kill ring, so later a user could do with it whatever he wants.
>
> (he or she)
>
> Sounds like more exciting stuff ahead!

If you mean those 2 actions, they were implemented a couple of days
later.

> Thanks for your creativity & hack power!

Thank you very much!

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-26 11:05   ` Alex Kost
@ 2015-08-28  9:37     ` Ludovic Courtès
  2015-08-28 20:08       ` Alex Kost
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-08-28  9:37 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> Ludovic Courtès (2015-08-26 00:14 +0300) wrote:
>
>> Alex Kost <alezost@gmail.com> skribis:
>>
>>> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
>>> (popup) interface for guix commands.
>>
>> BTW I’ve quickly looked at the commits and don’t have any comments.
>> Feel free to merge to master when you deem appropriate.
>
> Ouch, sounds like a carte-blanche.

Of course, you’re effectively the maintainer of that part.

> OK, I hope these commits will not ruin the world :-)

I’m confident.  ;-)

> IMO this feature is ready, at least I've been successfully using it for
> a couple of weeks.  But I think that we should have a new Magit2 package
> at first.  So I'm going to add this feature to master after pushing the
> following patches if you don't mind:
>
> http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00571.html
> http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00383.html
> http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00433.html

So I guess you can now go ahead.

I’ll try to switch to Magit 2 later today.  Maybe you won’t see any new
commits from me, who knows?  ;-)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-28  9:37     ` Ludovic Courtès
@ 2015-08-28 20:08       ` Alex Kost
  2015-08-29 16:01         ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Alex Kost @ 2015-08-28 20:08 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

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

> Alex Kost <alezost@gmail.com> skribis:
>
>> Ludovic Courtès (2015-08-26 00:14 +0300) wrote:
>>
>>> Alex Kost <alezost@gmail.com> skribis:
>>>
>>>> Hello, I've pushed 'wip-emacs-popup-ui' branch with emacs magit-like
>>>> (popup) interface for guix commands.
>>>
>>> BTW I’ve quickly looked at the commits and don’t have any comments.
>>> Feel free to merge to master when you deem appropriate.
>>
>> Ouch, sounds like a carte-blanche.
>
> Of course, you’re effectively the maintainer of that part.

OK, but I also made some changes outside "emacs" dir:

- I exported stuff from (guix scripts lint) and (guix scripts graph):
  so that when a user choose "--checkers" option for 'guix lint' or
  "--type" option for 'guix graph', they can be completed while prompted
  in minibuffer.

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

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

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?

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

>> IMO this feature is ready, at least I've been successfully using it for
>> a couple of weeks.  But I think that we should have a new Magit2 package
>> at first.  So I'm going to add this feature to master after pushing the
>> following patches if you don't mind:
>>
>> http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00571.html
>> http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00383.html
>> http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00433.html
>
> So I guess you can now go ahead.

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.

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-28 20:08       ` Alex Kost
@ 2015-08-29 16:01         ` Ludovic Courtès
  2015-08-30  9:35           ` Alex Kost
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-08-29 16:01 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-29 16:01         ` Ludovic Courtès
@ 2015-08-30  9:35           ` Alex Kost
  2015-08-30 11:48             ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Alex Kost @ 2015-08-30  9:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès (2015-08-29 19:01 +0300) wrote:

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

Fixed (both for ‘make-lint-checker’ and ‘make-node-type’).

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

Sure.

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

Done.

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

OK, that was my thought as well.

>> 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 just didn't like it; but OK, I'll leave 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.  ;-)

Thank you for checking!  I have fixed everything you noted locally.
So should I update wip-emacs-popup-ui branch now or push these commits
to master or maybe send the patches to ML?

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-30  9:35           ` Alex Kost
@ 2015-08-30 11:48             ` Ludovic Courtès
  2015-08-30 15:28               ` Alex Kost
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-08-30 11:48 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Alex Kost <alezost@gmail.com> skribis:

> Thank you for checking!  I have fixed everything you noted locally.
> So should I update wip-emacs-popup-ui branch now or push these commits
> to master or maybe send the patches to ML?

It’s OK to push to ‘master’.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: "M-x guix" - magit-like interface for guix commands
  2015-08-30 11:48             ` Ludovic Courtès
@ 2015-08-30 15:28               ` Alex Kost
  0 siblings, 0 replies; 13+ messages in thread
From: Alex Kost @ 2015-08-30 15:28 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès (2015-08-30 14:48 +0300) wrote:

> Alex Kost <alezost@gmail.com> skribis:
>
>> Thank you for checking!  I have fixed everything you noted locally.
>> So should I update wip-emacs-popup-ui branch now or push these commits
>> to master or maybe send the patches to ML?
>
> It’s OK to push to ‘master’.

Done, thanks.

-- 
Alex

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-08-30 15:28 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2015-08-30  9:35           ` Alex Kost
2015-08-30 11:48             ` Ludovic Courtès
2015-08-30 15:28               ` Alex Kost

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.