Subject: guix system reconfigure hangs indefinitely after displaying "guix system: bootloader successfully installed on /(dev/sda)"

From: Oleander <[email-masked]>
Date: Mon, 01 Jul 2024 15:08:36 +0000

Hello everyone,
lately, I've been experiencing a weird behavior when reconfiguring my system.

The command hangs indefinitely after displaying "guix system: bootloader successfully installed on /(dev/sda)" and I have to hit C-c to get back to the prompt.

I think there is nothing wrong with my config, which is the following:

```
;; System config

(use-modules
(gnu) (gnu system nss))
(use-service-modules
dbus desktop networking sound ssh)
(use-package-modules
admin certs glib pulseaudio screen ssh)

(define %sway-variables
'(("CLUTTER_BACKEND" . "wayland") ;GTK
("QT_QPA_PLATFORM" . "wayland") ;Qt
("MOZ_ENABLE_WAYLAND" . "1") ;IceCat, et.al.
;; These are normally provided by login managers(?).
("XDG_SESSION_TYPE" . "wayland")
("XDG_SESSION_DESKTOP" . "sway")
("XDG_CURRENT_DESKTOP" . "sway")))

(operating-system
(host-name "laptop")
(timezone "Europe/Rome")
(locale "en_US.utf8")

;; Keyboard layout.
(keyboard-layout (keyboard-layout "us"))

;; Bootloader
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(terminal-outputs '(console))
(targets (list "/dev/sda"))
(keyboard-layout keyboard-layout)))

;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'.
(mapped-devices
(list (mapped-device
(source (uuid "8022876e-e0cc-4ec5-8363-0f07c590cdbc"))
(targets (list "guix"))
(type luks-device-mapping))))

(file-systems
(append
(list (file-system
(device (file-system-label "guix-root"))
(mount-point "/")
(type "ext4")
(dependencies mapped-devices)))
%base-file-systems))

(swap-devices (list
(swap-space (target "/swapfile"))))

;; Define users and groups.
(users
(cons (user-account
(name "oleander")
(comment "")
(group "users")
(home-directory "/home/oleander")
(supplementary-groups '("wheel" "netdev"
"audio" "video" "input")))
%base-user-accounts))

;; System-wide packages.
(packages
(append
(list
dbus openssh-sans-x pulseaudio screen wpa-supplicant)
%base-packages))

;; Services
(services
(cons*
(service alsa-service-type
(alsa-configuration
(pulseaudio? #t)))
(service dbus-root-service-type)
(service elogind-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(port-number 22)
(password-authentication? #f)
(permit-root-login 'prohibit-password)
(authorized-keys
`(("oleander" ,(local-file "/home/oleander/.ssh/authorized_keys"))))))
(service ntp-service-type
(ntp-configuration
(servers (map (lambda (server)
(ntp-server (address server)))
'("0.europe.pool.ntp.org"
"1.europe.pool.ntp.org"
"2.europe.pool.ntp.org"
"3.europe.pool.ntp.org")))))
(service polkit-service-type)
(service screen-locker-service-type
(screen-locker-configuration
(name "swaylock")
(program (file-append swaylock-effects "/bin/swaylock"))
(using-pam? #t)
(using-setuid? #f)))
(service static-networking-service-type
(list (static-networking
(addresses
(list (network-address
(device "wlp1s0")
(value "192.168.1.200/24"))))
(routes
(list (network-route
(destination "default")
(gateway "192.168.1.1"))))
(name-servers '("1.1.1.1" "1.0.0.1")))))
(service wpa-supplicant-service-type
(wpa-supplicant-configuration
(config-file (local-file "/home/oleander/.wpa_supplicant.conf"))
(interface "wlp1s0")))
(simple-service 'sway-environment session-environment-service-type
%sway-variables)
(service wpa-supplicant-service-type
(wpa-supplicant-configuration
(config-file (local-file "/home/oleander/src/guix/wpa_supplicant.conf"))
(interface "wlp1s0")))
(modify-services %base-services
(mingetty-service-type config =>
(mingetty-configuration
(inherit config)
(auto-login "oleander")
(login-pause? #t))))))

;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
```
Could this be a bug or am I missing something?

Thank you