summaryrefslogtreecommitdiff
path: root/modules/ryan-packages/virtualization.scm
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2023-09-07 14:45:05 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2023-09-07 14:45:05 -0400
commit43ea80ea908a4c7070e09f70d4fc63acd34cdace (patch)
treeab6ef8194730eac8872a6e2833410fc9e80ae630 /modules/ryan-packages/virtualization.scm
parent438237dbff8b535bfcf4cac7625c9b085e4b6c53 (diff)
libvirt pain
Diffstat (limited to 'modules/ryan-packages/virtualization.scm')
-rw-r--r--modules/ryan-packages/virtualization.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/ryan-packages/virtualization.scm b/modules/ryan-packages/virtualization.scm
new file mode 100644
index 0000000..d43a337
--- /dev/null
+++ b/modules/ryan-packages/virtualization.scm
@@ -0,0 +1,49 @@
1;;; Stolen from https://g.tylerm.dev/tylerm/dotfiles/raw/branch/main/modules/home-packages/virtualization.scm
2
3(define-module (ryan-packages virtualization)
4 #:use-module (guix packages)
5 #:use-module (guix utils)
6 #:use-module (gnu packages)
7 #:use-module (gnu packages package-management)
8 #:use-module (gnu packages build-tools)
9 #:use-module (gnu packages virtualization)
10 #:use-module (gnu packages firmware)
11 #:use-module (guix gexp))
12
13(define ovmf-new
14 (package
15 (inherit ovmf)
16 (name "ovmf-new")
17 (arguments
18 (substitute-keyword-arguments (package-arguments ovmf)
19 ((#:phases phases)
20 #~(modify-phases #$phases
21 (replace 'install
22 (lambda _
23 (let ((fmw (string-append #$output "/share/firmware")))
24 (mkdir-p fmw)
25 (copy-recursively "Build/OvmfX64/RELEASE_GCC49/FV" fmw))))))))))
26
27(define-public libvirt-new
28 (package
29 (inherit libvirt)
30 (name "libvirt-new")
31 (inputs
32 (modify-inputs (package-inputs libvirt)
33 (append ovmf-new)))))
34
35(define-public virt-manager-ovmf
36 (package
37 (inherit virt-manager)
38 (name "virt-manager-ovmf")
39 (arguments
40 (substitute-keyword-arguments (package-arguments virt-manager)
41 ((#:phases phases)
42 #~(modify-phases #$phases
43 (add-after 'install 'ovmf
44 (lambda _
45 (let ((fmw (string-append #$output "/usr/share/OVMF")))
46 (mkdir-p fmw)
47 (copy-recursively #$(file-append ovmf-new "/share/firmware") fmw)
48 ;(mkdir-p fmw)
49 (copy-recursively "Build/OvmfX64/RELEASE_GCC49/FV" fmw))))))))))