summaryrefslogtreecommitdiff
path: root/modules/home-services/virtualization.scm
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-09-06 12:02:40 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-09-06 12:02:40 -0400
commitdbbd9fa1debe637e46b215e34c645ad59b099b7c (patch)
tree0ff67d33fae3aefb00dfe2d1fd9b4769d59973d6 /modules/home-services/virtualization.scm
parentj o e b i d e n (diff)
downloaddotfiles-guix-dbbd9fa1debe637e46b215e34c645ad59b099b7c.tar.gz
dotfiles-guix-dbbd9fa1debe637e46b215e34c645ad59b099b7c.tar.bz2
dotfiles-guix-dbbd9fa1debe637e46b215e34c645ad59b099b7c.zip
OVMFFFFFFFF
Diffstat (limited to 'modules/home-services/virtualization.scm')
-rw-r--r--modules/home-services/virtualization.scm38
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")))
+