diff options
Diffstat (limited to 'modules/home-services')
-rw-r--r-- | modules/home-services/virtualization.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/home-services/virtualization.scm b/modules/home-services/virtualization.scm new file mode 100644 index 0000000..abc1335 --- /dev/null +++ b/modules/home-services/virtualization.scm @@ -0,0 +1,38 @@ +(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"))) + |