[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ANN] Emacs-Guix 0.4
From: |
Alex Kost |
Subject: |
[ANN] Emacs-Guix 0.4 |
Date: |
Sat, 19 May 2018 15:58:23 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello, Emacs-Guix (Emacs interface for GNU Guix) version 0.4 has been
released. If you are not familiar with it yet, you may start with:
‘guix package -i emacs-guix’ and "M-x guix-about".
Summary of the new features:
* Interface to display services
It is very similar to the interface for packages: the following
commands will show you a list of services, where you can press RET to
get more info about the current (or marked) service(s). The new
commands are:
- M-x guix-all-services
- M-x guix-default-services
- M-x guix-services-by-name
- M-x guix-services-by-regexp
- M-x guix-services-by-location
"M-x guix-default-services" allows you to look at %base-services and
%desktop-services.
You may look at the screenshot for this new interface here:
https://alezost.github.io/guix.el/images/screenshots/services.png
Also, similarly to "M-x guix-package-locations" (renamed from "M-x
guix-locations"), now there is:
- M-x guix-service-locations
(Now there are so many commands that even "M-x guix-help" may look
terrifying :-))
* Additions for 'guix-devel-mode'
- [C-c . '] key binding (‘guix-devel-code-block-edit’ command) allows
you to edit synopsis or description of the current package in the
texinfo-mode. This feature is very similarly to the org-mode
[C-c '] facility.
- If you add the following code to your .emacs, you'll be able to find
package patches with "M-x ffap":
(add-to-list 'ffap-alist '("\\.patch" . guix-devel-ffap-patch))
* guix-env-var-mode
When you build a package with ‘guix build --keep-failed’, you can find
"/tmp/guix-build-*-*.drv-*/environment-variables" file which is now
prettified with ‘guix-env-var-mode’: it is the same as ‘sh-mode’ but
it also reformats the buffer to make the long guix file names more
readable.
* M-x guix-dependent-packages
It displays packages that depend on the specified package(s); this is
analogous to ‘guix refresh --list-dependent’ shell command.
* M-x guix-number-of-packages
It just displays the total number of Guix packages (including the
packages placed in your GUIX_PACKAGE_PATH) in the minibuffer.
* M-x guix-report-bug
Similarly, to "M-x report-emacs-bug", it prompts for a bug subject and
opens a mail buffer with <address@hidden> address, and that's all.
* Performance improvements
You probably noticed that "M-x guix-all-available-packages" was very
slow (it could even fail on not-so-powerful machines). This slowness
happened when big chunks of data were passed from the "Guile side" to
"Emacs side" through Geiser (the problem may not be Geiser itself, but
some underlying Emacs code). Anyway, now the big portions of guile
data are passed through a temporary file instead, and it is much
faster!
Many thanks to Pierre Neidhardt for the idea of ‘guix-report-bug’ and
‘guix-dependent-packages’ commands, and all credits to Oleg Pykhalov for
inventing and implementing ‘guix-env-var-mode’ and the new features for
‘guix-devel-mode’ (synopsis/description editing and finding a patch with
ffap).
--
Alex
- [ANN] Emacs-Guix 0.4,
Alex Kost <=
- Re: [ANN] Emacs-Guix 0.4, Maxim Cournoyer, 2018/05/20
- Re: [ANN] Emacs-Guix 0.4, Ludovic Courtès, 2018/05/23
- Re: [ANN] Emacs-Guix 0.4, Alex Kost, 2018/05/23
- Re: [ANN] Emacs-Guix 0.4, Ludovic Courtès, 2018/05/24
- Re: [ANN] Emacs-Guix 0.4, Alex Kost, 2018/05/24
- Re: [ANN] Emacs-Guix 0.4, myglc2, 2018/05/24
- Re: [ANN] Emacs-Guix 0.4, Alex Kost, 2018/05/25