Re: hydra.gnu.org off-line for maintenance
On Fri, 26 Oct 2018 00:23:57 -0400 George Clemmer wrote: > Leo Famulari writes: > > > On Thu, Oct 25, 2018 at 06:41:26PM -0400, Luther Thompson wrote: > >> How do we do that? I followed the link, but I can't find the info > >> to pass to `guix archive --authorize` anywhere. > > > > The signing keys can be found in the Guix package itself, at > > 'share/guix/berlin.guixsd.org.pub'. For example: > > > > $ guix build guix > > /gnu/store/zz3b7j4iv6v143v7cqyr77k83zc5n3zw-guix-0.15.0-6.f9a8fce > > $ guix archive --authorize > > < /gnu/store/guix-0.15.0-6.f9a8fce/share/guix/berlin.guixsd.org.pub > > > > It is described in the manual section Substitute Server > > Authorization, although the use of 'prefix' in this context is a > > little obscure: > > > > https://www.gnu.org/software/guix/manual/en/html_node/Substitute-Server-Authorization.html > > > > The keys can also be found in the Guix source code, which may be > > more convenient: > > > > https://git.savannah.gnu.org/cgit/guix.git/tree/berlin.guixsd.org.pub > > Hi Luther, > > In addition to what Leo said, I believe you also need to add this > option ... > > --substitute-urls=https://berlin.guixsd.org > > ... to each guix command -or- add it to GUIX_BUILD_OPTIONS -or- add > something like this to your system config ... > > (define %my-services > (modify-services %base-services > (guix-service-type config => > (guix-configuration > (inherit config) > (substitute-urls (list > "https://mirror.hydra.gnu.org; "https://hydra.gnu.org; > "https://berlin.guixsd.org; > )) > ... > (services (cons* > ... >%my-services)) > > HTH - George Ok, I've followed Leo's and George's instructions, and it seems to be working now. I see it downloading substitutes from both berlin.guixsd.org and mirror.hydra.gnu.org. Thank you. Luther
Re: Guix and Emacs Integration for Polyglot Development
Hi Alex, Oops, please disregard the problem reported earlier (cc below). I had the emacs-guix package installed at the same time the load path included the source build. When I remove the package .. everything works fine. George Clemmer writes: > Alex Kost writes: > >> Hint: since you are on this commit, you may check the new "M-x guix" - >> you will be the first person who will try it (maybe you will like it >> this time) ;-) I am sorry if I gave the impression that I disliked it. I do like the new one better. It makes it easier to find and use Emacs-guix features. I have another question. Is there a shortcut to guix-installed-system-packages in the popup that I am missing? > Yes, I saw that you moved the old guix to guix-command which sounds > great and works here. Sadly, 'M-x guix' gives me a backtrace ... > > Debugger entered--Lisp error: (error "Autoloading file > /home/glc/gom/.gpm/gfg/emacs-guix/emacs-guix/elisp/guix-command.elc failed to > define function guix") > autoload-do-load((autoload "guix-command" "Popup window for 'guix'." t nil) > guix) > command-execute(guix record) > execute-extended-command(nil "guix" "guix") > funcall-interactively(execute-extended-command nil "guix" "guix") > call-interactively(execute-extended-command nil nil) > command-execute(execute-extended-command)
Evaluations on berlin.guixsd.org
Hello, Clément Lassieur skribis: > But I noticed today that https://berlin.guixsd.org doesn't evaluate > anything anymore[2], so you will only get old evaluations from it. I believe this is fixed by fdf02484289e155de56e7320f7e1dd1e57431f4b. Everyone: please make sure to run ‘guix lint’ before pushing, especially when pushing patch series where it’s easy to overlook something. The issue wasn’t easy to find in the middle of the Cuirass build log, and it’s also problematic that Cuirass doesn’t distinguish between failed evaluations and evaluations in progress. We should look into that sometime. :-) Thanks for the heads-up, Clément! Ludo’.
Re: Guix and Emacs Integration for Polyglot Development
Alex Kost writes: > George Clemmer (2018-10-26 00:59 -0400) wrote: > >> Hi Alex, > > Hello George! > >> I have been using code like ... >> >> (with-eval-after-load (quote guix-ui-profile) >> (setq guix-profiles >> (append (quote("/home/glc/gom/.guix-profile")) guix-profiles))) >> (setq guix-current-profile "/home/glc/gom/.guix-profile") >> >> ... to add a "project" profile to *Guix Profile* and make it >> current. This has my desired effect: "making" emacs-guix package-related >> commands operate on a "project" profile instead of the "default user >> profile". Using your commit ... >> >> 4ce2b6a * master origin/master Add new 'guix' command and rename the old >> one to 'guix-command' > > Hint: since you are on this commit, you may check the new "M-x guix" - > you will be the first person who will try it (maybe you will like it > this time) ;-) Yes, I saw that you moved the old guix to guix-command which sounds great and works here. Sadly, 'M-x guix' gives me a backtrace ... Debugger entered--Lisp error: (error "Autoloading file /home/glc/gom/.gpm/gfg/emacs-guix/emacs-guix/elisp/guix-command.elc failed to define function guix") autoload-do-load((autoload "guix-command" "Popup window for 'guix'." t nil) guix) command-execute(guix record) execute-extended-command(nil "guix" "guix") funcall-interactively(execute-extended-command nil "guix" "guix") call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command) ... with this emacs-guix config ... ;;; >>> /home/glc/gom//home/glc/gom/.gpm/gfg/emacs-guix/init.el ;; run emacs-guix from git checkout (add-to-list 'load-path (substitute-in-file-name "$GPM_ROOT/.gpm/gfg/emacs-guix/emacs-guix/elisp")) (require 'guix-autoloads nil t) ;; use guix from the Git working tree (setq guix-load-path (substitute-in-file-name "$GPM_ROOT/.gpm/gfg/guix/guix")) ;; enable development mode 'C-c . _' functions in .scm buffers (add-hook 'scheme-mode-hook 'guix-devel-mode) ;; don't use results, if any, of a guix pull (setq guix-repl-use-latest nil) ;;; >>> /home/glc/gom//home/glc/gom/.gpm/gfg/geiser/init.el ;; run bleading-edge geiser (load (substitute-in-file-name "$GPM_ROOT/.gpm/gfg/geiser/geiser/elisp/geiser-load") t) ;; enable development mode 'C-c . _' functions in .scm buffers (add-hook 'scheme-mode-hook 'guix-devel-mode) >> ... I tried "guix-set-emacs-environment" expecting it to be another way >> to do the same thing. I was surprised when it didn't add the "new" >> profile to *Guix Profiles*. Shouldn't it do this, or am I missing >> something? In fact, it doesn't seem to be doing anything :-( > > "M-x guix-set-emacs-environment" sets environment variables for Emacs > itself! For example, you may check "M-x getenv PATH" or other > variables. They should be augmented for the profile you selected. Oh, DUH! Thanks! - George
Re: Guix and Emacs Integration for Polyglot Development
George Clemmer (2018-10-26 00:59 -0400) wrote: > Hi Alex, Hello George! > I have been using code like ... > > (with-eval-after-load (quote guix-ui-profile) > (setq guix-profiles > (append (quote("/home/glc/gom/.guix-profile")) guix-profiles))) > (setq guix-current-profile "/home/glc/gom/.guix-profile") > > ... to add a "project" profile to *Guix Profile* and make it > current. This has my desired effect: "making" emacs-guix package-related > commands operate on a "project" profile instead of the "default user > profile". Using your commit ... > > 4ce2b6a * master origin/master Add new 'guix' command and rename the old > one to 'guix-command' Hint: since you are on this commit, you may check the new "M-x guix" - you will be the first person who will try it (maybe you will like it this time) ;-) > ... I tried "guix-set-emacs-environment" expecting it to be another way > to do the same thing. I was surprised when it didn't add the "new" > profile to *Guix Profiles*. Shouldn't it do this, or am I missing > something? In fact, it doesn't seem to be doing anything :-( "M-x guix-set-emacs-environment" sets environment variables for Emacs itself! For example, you may check "M-x getenv PATH" or other variables. They should be augmented for the profile you selected. -- Alex
Re: hydra.gnu.org off-line for maintenance
Hello, For myself, I use the following option: --substitute-urls='https://berlin.guixsd.org https://mirror.guixsd.org https://mirror.hydra.gnu.org https://hydra.gnu.org' I choose 'berlin.guixsd.org' to be the default because it seems to build substitutes faster than 'hydra.gnu.org'. Cheers, Alex Clément Lassieur writes: > Hi, > > Thomas Danckaert writes: > >> Also, you may want to add this setting globally and permanently, so you don't >> have to specify it every time you run guix. You can do this by passing the >> option to the guix daemon >> >> - when using guix on another distribution with systemd, you can modify the >> the ExecStart line in /etc/systemd/system/guix-daemon.service as follows: >> >> ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon >> --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org >> https://berlin.guixsd.org; > > Note that https://mirror.hydra.gnu.org doesn't work well either[1]. You > might be better off with just https://berlin.guixsd.org. > > But I noticed today that https://berlin.guixsd.org doesn't evaluate > anything anymore[2], so you will only get old evaluations from it. > > At the moment I can't find any working solution. > > [1]: https://bugs.gnu.org/33151 > [2]: https://berlin.guixsd.org/jobset/guix-master > > Cheers, > Clément signature.asc Description: PGP signature
Re: hydra.gnu.org off-line for maintenance
Thorsten, Thorsten Wilms wrote: On 26/10/2018 11.28, Thomas Danckaert wrote: ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org https://berlin.guixsd.org; Shouldn't that be: --- ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild --substitute-urls="https://mirror.hydra.gnu.org https://hydra.gnu.org https://berlin.guixsd.org; --- ? Slow ol' hydra.gnu.org shouldn't be used directly like this, even though there's currently nothing stopping you from doing so and I suspect many do. The mirror should suffice. Kind regards, T G-R
Re: hydra.gnu.org off-line for maintenance
Hi, Thomas Danckaert writes: > Also, you may want to add this setting globally and permanently, so you don't > have to specify it every time you run guix. You can do this by passing the > option to the guix daemon > > - when using guix on another distribution with systemd, you can modify the > the ExecStart line in /etc/systemd/system/guix-daemon.service as follows: > > ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon > --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org > https://berlin.guixsd.org; Note that https://mirror.hydra.gnu.org doesn't work well either[1]. You might be better off with just https://berlin.guixsd.org. But I noticed today that https://berlin.guixsd.org doesn't evaluate anything anymore[2], so you will only get old evaluations from it. At the moment I can't find any working solution. [1]: https://bugs.gnu.org/33151 [2]: https://berlin.guixsd.org/jobset/guix-master Cheers, Clément
Re: hydra.gnu.org off-line for maintenance
On 26/10/2018 11.28, Thomas Danckaert wrote: Also, you may want to add this setting globally and permanently, so you don't have to specify it every time you run guix. You can do this by passing the option to the guix daemon - when using guix on another distribution with systemd, you can modify the the ExecStart line in /etc/systemd/system/guix-daemon.service as follows: ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org https://berlin.guixsd.org; Shouldn't that be: --- ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild --substitute-urls="https://mirror.hydra.gnu.org https://hydra.gnu.org https://berlin.guixsd.org; --- ? By the way: when revisiting this issue, I found the manual a bit confusing. You'll find all the information you need when you read the entire section on substitutes from front to back, but when you just try to find specific information using the headlines, it's a bit confusing. For example, to learn about --substitute-urls and the daemon settings for other substitute servers, you'll need to read "Official Substitute Server", which you might not do when looking to add another server. The subtitle for "Substitute Server Authorization" says "How to enable or disable substitutes", but doesn't give all the information you need to enable another substitute server. If people here agree, I'd be happy to send a documentation patch. For whatever it may be worth, when I first read about https://berlin.guixsd.org, I wondered if it could/should be used additionally, looked at the documentation, found it confusing and then forgot about the issue. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
Re: hydra.gnu.org off-line for maintenance
From: Jonathan Brielmaier Subject: Re: hydra.gnu.org off-line for maintenance Date: Fri, 26 Oct 2018 08:01:11 +0200 It's described here: https://www.gnu.org/software/guix/manual/en/guix.html#Substitute-Server-Authorization So basically `guix archive --authorize < berlin.guixsd.org.pub` and then run your commands with: `--substitute-urls="https://berlin.guixsd.org` Also, you may want to add this setting globally and permanently, so you don't have to specify it every time you run guix. You can do this by passing the option to the guix daemon - when using guix on another distribution with systemd, you can modify the the ExecStart line in /etc/systemd/system/guix-daemon.service as follows: ExecStart=/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild "--substitute-urls=https://mirror.hydra.gnu.org https://berlin.guixsd.org; - when using GuixSD, modify guix-service in your system configuration, by specifying the substitute-urls in the configuration. (see guix-configuration in https://www.gnu.org/software/guix/manual/en/html_node/Base-Services.html ) By the way: when revisiting this issue, I found the manual a bit confusing. You'll find all the information you need when you read the entire section on substitutes from front to back, but when you just try to find specific information using the headlines, it's a bit confusing. For example, to learn about --substitute-urls and the daemon settings for other substitute servers, you'll need to read "Official Substitute Server", which you might not do when looking to add another server. The subtitle for "Substitute Server Authorization" says "How to enable or disable substitutes", but doesn't give all the information you need to enable another substitute server. If people here agree, I'd be happy to send a documentation patch. Sincerely, Thomas