Hi Pierre, Pierre Neidhardt <ambre...@gmail.com> writes:
> Maxim Cournoyer <maxim.courno...@gmail.com> writes: > >>> - Perform transactions (install/remove) over multiple packages. >> >> To be fair, I think you can already accomplish this using emacs-guix by >> separating with commas multiple package names :). > > Can you explain? I don't know how to do that. Sure! It's briefly covered in the Emacs-Guix info manual, in the 'Popup Interface' section: --8<---------------cut here---------------start------------->8--- So ‘M-x guix’ command provides a top-level popup interface for all available guix commands. When you select an option, you’ll be prompted for a value in the minibuffer. Many values have completions, so don’t hesitate to press ‘<TAB>’ key. Multiple values (for example, packages or lint checkers) should be separated by commas. --8<---------------cut here---------------end--------------->8--- A concrete example would look like: 1. Start Emacs 2. M-x guix 3. p 4. =i 5. emacs-helm,emacs-ivy ENT You can tab-complete any package names entered at step 5. above. > The point of the Helm interface is that it allows to "batch select" > multiple packages. I don't think that emacs-guix can do that. You are right, it doesn't scale like this; one would have to resort using 'guix package -A=some-regexp', calling `guix package -i' on each element. > For instance, if I want to install all Emacs packages except, say, > emacs-guix (haha! :p) then I would > > - M-x helm-system-packages > - "emacs" > - M-a > - "emacs-guix" > - C-space > - <f2> > > In other words, it scales well with big loads of packages. Neat! Thanks for sharing. Maxim