[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs interface for Guix
From: |
Alex Kost |
Subject: |
Re: Emacs interface for Guix |
Date: |
Fri, 22 Aug 2014 16:44:01 +0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Ludovic Courtès (2014-08-22 12:56 +0400) wrote:
> Alex Kost <address@hidden> skribis:
>
>> Thanks, now (with the latest “guix pull”), installing/upgrading/removing
>> should work in "guix.el". If you (or someone else) wish to try it, you
>> may use:
>>
>> (setq guix-dry-run t)
>>
>> (It has the same meaning as “--dry-run” option).
>
> I gave it a try, but AFAICS, when the REPL is started as “internal”,
> guix-main.scm isn’t loaded, and thus “Install” fails:
>
> scheme@(guile-user)> (process-package-actions #:install '((58935712 "out"))
> #:upgrade '() #:remove '() #:use-substitutes? #t #:dry-run? #f)
> ;;; <stdin>:11:0: warning: possibly unbound variable `process-package-actions'
> <unnamed port>:11:0: In procedure #<procedure 42ba0c0 at <current input>:11:0
> ()>:
> <unnamed port>:11:0: In procedure module-lookup: Unbound variable:
> process-package-actions
>
> Did I miss something?
I don't understand why you get this, it works for me and I can't
reproduce it with "emacs -Q". Does the following recipe works for you?:
1. emacs -Q
2. Evaluate the following code (for example, paste it into *scratch*
buffer and "M-x eval-buffer"):
test.el
Description: application/emacs-lisp
3. M-x guix-all-available-packages
4. RET on any package that is not installed and press "Install" button
in “*Guix Package Info*” buffer. For me “*Guix REPL*” is shown and
the following output is printed:
scheme@(guile-user)> (process-package-actions #:install '((151687520 "out"))
#:upgrade '() #:remove '() #:use-substitutes? #t #:dry-run? #t)
The process begins ...
The following package would be installed:
a2ps-4.14 out /gnu/store/1akh02xh4z7i2idfnxbd28zzm87ghav1-a2ps-4.14
substitute-binary: ;;; note: source file
/usr/share/guile/site/2.0/guix/config.scm
substitute-binary: ;;; newer than compiled
/usr/share/guile/site/2.0/guix/config.go
The following derivation would be built:
/gnu/store/868vmg9s02jf4pxm3nvfmk168qbx44ld-profile.drv
The following files would be downloaded:
/gnu/store/1akh02xh4z7i2idfnxbd28zzm87ghav1-a2ps-4.14
/gnu/store/43bg01fshdm6hnacb9b8mha681cll0nw-coreutils-8.22
/gnu/store/sv8ijfgc0d4ll8wzlxa6s2rkcvcjgrwx-perl-5.16.1
scheme@(guile-user)>
I tried with emacs 24.3.1 and the latest Geiser (from
<https://github.com/jaor/geiser>).
> Besides, I like M-x guix-generations, pretty cool. :-)
>
>> Also I would like to add support for deleting generations (to
>> "guix.el"), so I think it would be good to export ‘delete-generation’
>> from "scripts/package.scm". WDYT?
>
> Yes, that makes sense, one could use it from the *Guix Generation List*
> buffer.
Yes, that's what I had in mind: mark generations with "d" and execute a
deletion operation with "x".
> Regarding package installation/removal/upgrade, I think it would be
> great UI-wise to support transactions that perform multiple operations.
>
> I was initially thinking of something similar to what package.el does:
> marks packages from installation/removal, and then hit ‘x’ to execute
> the transaction. So the current “Install” and “Delete” buttons could be
> changed to just mark things for installation/removal.
It is already available in a “*Guix Package List*” buffer: you can mark
packages with "d"/"i"/"^" ("u" is for unmarking) and execute an
operation with "x". As for me, I prefer to keep buttons in a “*Guix
Package Info*” buffer as they are now. It's just an alternative way to
install/delete a package: if you want to make a transaction of several
actions – use a "list" buffer, if you just want to install some package,
you can do it by pressing a button in "info" buffer.
--
Alex Kost
- Re: [PATCH] profiles: Report about upgrades., (continued)
- Re: [PATCH] profiles: Report about upgrades., Ludovic Courtès, 2014/08/23
- Re: [PATCH] profiles: Report about upgrades., Ludovic Courtès, 2014/08/30
- Re: [PATCH] profiles: Report about upgrades., Alex Kost, 2014/08/31
- Re: [PATCH] profiles: Report about upgrades., Ludovic Courtès, 2014/08/31
- Re: [PATCH] profiles: Report about upgrades., Jason Self, 2014/08/31
- Re: [PATCH] Emacs interface for Guix, Ludovic Courtès, 2014/08/16
- Re: [PATCH] Emacs interface for Guix, Alex Kost, 2014/08/16
- Re: [PATCH] Emacs interface for Guix, Ludovic Courtès, 2014/08/20
- Re: Emacs interface for Guix, Alex Kost, 2014/08/20
- Re: Emacs interface for Guix, Ludovic Courtès, 2014/08/22
- Re: Emacs interface for Guix,
Alex Kost <=
- Re: Emacs interface for Guix, Ludovic Courtès, 2014/08/27