help-guix
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]