diff --git a/doc/guix.texi b/doc/guix.texi index a83560b53f9..9109ce4a388 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -39643,6 +39643,9 @@ The QEMU package to use. @item @code{dmidecode} (default: @code{dmidecode}) (type: file-like) The Dmidecode package to use. +@item @code{requirement} (default: @code{'()}) (type: list-of-symbols) +Shepherd services dependencies to the provisioned Shepherd service. + @item @code{firmwares} (default: @code{(ovmf-x86-64)}) (type: list-of-file-likes) List of UEFI/BIOS firmware packages to make available. Each firmware package should contain a @file{share/qemu/firmware/@var{NAME}.json} QEMU diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index f369c29c76d..06524f7851d 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -135,6 +135,7 @@ libvirt-configuration-ovs-timeout libvirt-configuration-prio-workers libvirt-configuration-qemu + libvirt-configuration-requirement libvirt-configuration-sasl-allowed-usernames libvirt-configuration-tcp-port libvirt-configuration-tls-allowed-dn-list @@ -214,6 +215,12 @@ (define list-of-file-likes? (list-of file-like?)) +(define list-of-symbols? + (list-of symbol?)) + +(define (serialize-list-of-symbols field-name val) + val) + (define-configuration libvirt-configuration (libvirt (file-like libvirt) @@ -224,6 +231,9 @@ (dmidecode (file-like dmidecode) "The Dmidecode package to use.") + (requirement + (list-of-symbols '(dbus-system)) + "Shepherd services dependencies to the provisioned Shepherd service.") (firmwares (list-of-file-likes (list ovmf-x86-64)) "List of UEFI/BIOS firmware packages to make available. Each firmware @@ -495,7 +505,7 @@ avoid potential infinite waits blocking libvirt.")) (list (shepherd-service (documentation "Run the libvirt daemon.") (provision '(libvirtd)) - (requirement '(dbus-system)) + (requirement (libvirt-configuration-requirement config)) (start #~(make-forkexec-constructor (list (string-append #$libvirt "/sbin/libvirtd") "-f" #$config-file