Hi, The procedure guix-for-channels seems to have introduced a loop. I am currently using guix with commit 43a4215cad8c6da357f895569c0cedf5e854cee0. Here are the steps to reproduce : 1. Take the example file system/examples/vm-image.tmpl 2. Add the guix-science channel as explained in https://guix.gnu.org/manual/devel/en/html_node/Customizing-the-System_002dWide-Guix.html 3. Run the following command : $(guix system vm vm-image.tmpl) -m 1024 -smp 2 -nic user,model=virtio-net-pci
Here is the modified vm-image.tmpl with the guix-science channel added as well as an excerpt of the output of the guix system vm command (where it loops). Thanks, and please let me know if I can provide more details. ----- vm-image.tmpl starts here ----- ;; -*- mode: scheme; -*- ;; This is an operating system configuration for a VM image. ;; Modify it as you see fit and instantiate the changes by running: ;; ;; guix system reconfigure /etc/config.scm ;; (use-modules (gnu) (guix) (guix channels) (srfi srfi-1)) (use-service-modules desktop mcron networking spice ssh xorg sddm) (use-package-modules bootloaders fonts package-management xdisorg xorg) (define vm-image-motd (plain-file "motd" " \x1b[1;37mThis is the GNU system. Welcome!\x1b[0m This instance of Guix is a template for virtualized environments. You can reconfigure the whole system by adjusting /etc/config.scm and running: guix system reconfigure /etc/config.scm Run '\x1b[1;37minfo guix\x1b[0m' to browse documentation. \x1b[1;33mConsider setting a password for the 'root' and 'guest' \ accounts.\x1b[0m ")) (define my-channels ;; Channels that should be available to ;; /run/current-system/profile/bin/guix. (append (list (channel (name 'guix-science) (url "https://github.com/guix-science/guix-science") (branch "master"))) %default-channels)) (operating-system (host-name "gnu") (timezone "Etc/UTC") (locale "en_US.utf8") (keyboard-layout (keyboard-layout "us" "altgr-intl")) ;; Label for the GRUB boot menu. (label (string-append "GNU Guix " (or (getenv "GUIX_DISPLAYED_VERSION") (package-version guix)))) (firmware '()) ;; Below we assume /dev/vda is the VM's hard disk. ;; Adjust as needed. (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets '("/dev/vda")) (terminal-outputs '(console)))) (file-systems (cons (file-system (mount-point "/") (device "/dev/vda1") (type "ext4")) %base-file-systems)) (users (cons (user-account (name "guest") (comment "GNU Guix Live") (password "") ;no password (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) ;; Our /etc/sudoers file. Since 'guest' initially has an empty password, ;; allow for password-less sudo. (sudoers-file (plain-file "sudoers" "\ root ALL=(ALL) ALL %wheel ALL=NOPASSWD: ALL\n")) (packages (append (list font-bitstream-vera ;; Auto-started script providing SPICE dynamic resizing for ;; Xfce (see: ;; https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142 ). x-resize) %base-packages)) (services (append (list (service xfce-desktop-service-type) ;; Choose SLiM, which is lighter than the default GDM. (service slim-service-type (slim-configuration (auto-login? #t) (default-user "guest") (xorg-configuration (xorg-configuration ;; The QXL virtual GPU driver is added to provide ;; a better SPICE experience. (modules (cons xf86-video-qxl %default-xorg-modules)) (keyboard-layout keyboard-layout))))) ;; Uncomment the line below to add an SSH server. ;;(service openssh-service-type) ;; Add support for the SPICE protocol, which enables dynamic ;; resizing of the guest screen resolution, clipboard ;; integration with the host, etc. (service spice-vdagent-service-type) ;; Use the DHCP client service rather than NetworkManager. (service dhcp-client-service-type)) ;; Remove some services that don't make sense in a VM. (remove (lambda (service) (let ((type (service-kind service))) (or (memq type (list gdm-service-type sddm-service-type wpa-supplicant-service-type cups-pk-helper-service-type network-manager-service-type modem-manager-service-type)) (eq? 'network-manager-applet (service-type-name type))))) (modify-services %desktop-services (login-service-type config => (login-configuration (inherit config) (motd vm-image-motd))) ;; Install and run the current Guix rather than an older ;; snapshot. (guix-service-type config => (guix-configuration (inherit config) (channels my-channels) (guix (guix-for-channels my-channels)) ;; (guix (current-guix)) )))))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) ----- vm-image.tmpl ends here ----- ----- output starts here ----- Updating channel 'guix' from Git repository at ' https://git.savannah.gnu.org/git/guix.git'... Updating channel 'guix-science' from Git repository at ' https://github.com/guix-science/guix-science'... /home/nic/dotfiles/guix/.config/guix/system/vm-image.tmpl:35:9: warning: channel 'guix-science' lacks 'introduction' field but '.guix-authorizations' found guix system: warning: pulled channel 'guix-science' from a mirror of https://github.com/guix-science/guix-science.git, which might be stale Computing Guix derivation for 'x86_64-linux'... \ Updating channel 'guix' from Git repository at ' https://git.savannah.gnu.org/git/guix.git'... Updating channel 'guix-science' from Git repository at ' https://github.com/guix-science/guix-science'... /home/nic/dotfiles/guix/.config/guix/system/vm-image.tmpl:35:9: warning: channel 'guix-science' lacks 'introduction' field but '.guix-authorizations' found guix system: warning: pulled channel 'guix-science' from a mirror of https://github.com/guix-science/guix-science.git, which might be stale Computing Guix derivation for 'x86_64-linux'... \ Updating channel 'guix' from Git repository at ' https://git.savannah.gnu.org/git/guix.git'... Updating channel 'guix-science' from Git repository at ' https://github.com/guix-science/guix-science'... /home/nic/dotfiles/guix/.config/guix/system/vm-image.tmpl:35:9: warning: channel 'guix-science' lacks 'introduction' field but '.guix-authorizations' found guix system: warning: pulled channel 'guix-science' from a mirror of https://github.com/guix-science/guix-science.git, which might be stale Computing Guix derivation for 'x86_64-linux'... / Updating channel 'guix' from Git repository at ' https://git.savannah.gnu.org/git/guix.git'... Updating channel 'guix-science' from Git repository at ' https://github.com/guix-science/guix-science'... /home/nic/dotfiles/guix/.config/guix/system/vm-image.tmpl:35:9: warning: channel 'guix-science' lacks 'introduction' field but '.guix-authorizations' found guix system: warning: pulled channel 'guix-science' from a mirror of https://github.com/guix-science/guix-science.git, which might be stale Computing Guix derivation for 'x86_64-linux'... | Updating channel 'guix' from Git repository at ' https://git.savannah.gnu.org/git/guix.git'... Updating channel 'guix-science' from Git repository at ' https://github.com/guix-science/guix-science'... /home/nic/dotfiles/guix/.config/guix/system/vm-image.tmpl:35:9: warning: channel 'guix-science' lacks 'introduction' field but '.guix-authorizations' found guix system: warning: pulled channel 'guix-science' from a mirror of https://github.com/guix-science/guix-science.git, which might be stale Computing Guix derivation for 'x86_64-linux'... | Updating channel 'guix' from Git repository at ' https://git.savannah.gnu.org/git/guix.git'... Updating channel 'guix-science' from Git repository at ' https://github.com/guix-science/guix-science'... /home/nic/dotfiles/guix/.config/guix/system/vm-image.tmpl:35:9: warning: channel 'guix-science' lacks 'introduction' field but '.guix-authorizations' found guix system: warning: pulled channel 'guix-science' from a mirror of https://github.com/guix-science/guix-science.git, which might be stale Computing Guix derivation for 'x86_64-linux'... / C-c C-c ----- output ends here -----