Alex Kost <alez...@gmail.com> skribis: > Thompson, David (2015-08-14 17:40 +0300) wrote: > >> On Fri, Aug 14, 2015 at 4:19 AM, Alex Kost <alez...@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’.