~ruther/guix-local

f29c25ad7861a4c390c17708ffda6debeeb489de — Rutherther 1 year, 2 months ago efcf1a2
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>
1 files changed, 2 insertions(+), 3 deletions(-)

M gnu/services/virtualization.scm
M gnu/services/virtualization.scm => gnu/services/virtualization.scm +2 -3
@@ 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))))))))))