summaryrefslogtreecommitdiff
path: root/modules/home-services/virtualization.scm
blob: aeb7fe7eb273ae598ed1cccbbe913f3f603be630 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
(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 libvirt-new
  (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 libvirt-service-type-new
  (service-type 
    (name 'libvirt-new)
    (extensions
      (list
        (service-extension libvirt-service-type
                           (lambda (config)
                           (libvirt-configuration
                             (libvirt libvirt-new)
                             (unix-sock-group "libvirt")))
                           )
        (service-extension special-files-service-type
                           ovmf-special-files)
        ))
    (default-value #f)
    (description "Libvirt with OVMF")))