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 <guix-devel@gnu.org>
Subject: Re: "M-x guix" - magit-like interface for guix commands
Date: Tue, 25 Aug 2015 23:12:13 +0200	[thread overview]
Message-ID: <87mvxfgjiq.fsf@gnu.org> (raw)
In-Reply-To: <87wpww8t9h.fsf@gmail.com> (Alex Kost's message of "Sat, 15 Aug 2015 18:29:30 +0300")

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

  reply	other threads:[~2015-08-25 21:12 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 [this message]
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

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=87mvxfgjiq.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).