summaryrefslogtreecommitdiff
path: root/modules/home-services/virtualization.scm
blob: abc1335e2bf54f2ef6c6e886eca5b3d915d67d87 (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
(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")))