(define-module (home-services virtualization) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages virtualization) #:use-module (gnu packages firmware) #:use-module (gnu services) #:use-module (gnu services configuration) #:use-module (gnu services virtualization) #:use-module (gnu home services) #:use-module (guix gexp)) (define my-libvirt (package (inherit libvirt) (inputs (modify-inputs (package-inputs libvirt) (append ovmf))))) (define (ovmf-special-files config) `(("/usr/share/OVMF/OVMF_CODE.fd", (file-append ovmf "/share/firmware/ovmf_x64.bin")))) (define-public my-libvirt-service-type (service-type (name 'my-libvirt) (extensions (list (service-extension libvirt-service-type (lambda (config) (libvirt-configuration (libvirt my-libvirt) (unix-sock-group "libvirt"))) ) (service-extension special-files-service-type ovmf-special-files) )) (default-value #f) (description "Libvirt with OVMF")))