gnu: /etc/qemu/firmware: Produce only /etc/qemu/firmware instead of /etc/qemu

The service unnecessarily populates /etc/qemu with a symlink, so it's not
possible to write files like /etc/qemu/bridge.conf or /etc/qemu/host.conf
anymore. Since etc-service-type uses file-union, it's possible to put files in
subdirectories. This restores the behavior suggested by manual where user can
extend etc-service-type with qemu/host.conf etc.

* gnu/services/virtualization.scm (/etc/qemu/firmware): Extend with
qemu/firmware instead of qemu

Change-Id: I7c1ea790e5abf7ad05dce56b7901ac6eb90208fd
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
Rutherther 2025-04-30 18:54:00 +02:00 committed by Maxim Cournoyer
parent efcf1a2334
commit f29c25ad78
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -508,14 +508,13 @@ avoid potential infinite waits blocking libvirt."))
(define (/etc/qemu/firmware config)
(let ((firmwares (libvirt-configuration-firmwares config)))
`(("qemu"
`(("qemu/firmware"
,(computed-file
"etc-qemu-firmware"
(with-imported-modules '((guix build union))
#~(begin
(use-modules (guix build union) (srfi srfi-26))
(mkdir #$output)
(union-build (string-append #$output "/firmware")
(union-build #$output
(map (cut string-append <> "/share/qemu/firmware")
(list #$@firmwares))))))))))