summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-09-06 22:23:01 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-09-06 22:23:01 -0400
commitf1b0bfd81f10e048d6552a8604dc2ba582945147 (patch)
treea35f10e65d8b785eb9a120e9c343ae68638b2f64
parentrefactor (diff)
downloaddotfiles-guix-f1b0bfd81f10e048d6552a8604dc2ba582945147.tar.gz
dotfiles-guix-f1b0bfd81f10e048d6552a8604dc2ba582945147.tar.bz2
dotfiles-guix-f1b0bfd81f10e048d6552a8604dc2ba582945147.zip
fuck libvirt fuck libvirt fuck libvirt fuck libvirt fuck libvirt
-rw-r--r--modules/home-config/base-system.scm5
-rw-r--r--modules/home-packages/firmware.scm25
-rw-r--r--modules/home-packages/virtualization.scm28
-rw-r--r--modules/home-services/virtualization.scm12
4 files changed, 58 insertions, 12 deletions
diff --git a/modules/home-config/base-system.scm b/modules/home-config/base-system.scm
index 7a4b2b2..c96f3f8 100644
--- a/modules/home-config/base-system.scm
+++ b/modules/home-config/base-system.scm
@@ -24,6 +24,7 @@
#:use-module (gnu services authentication)
#:use-module (gnu services virtualization)
#:use-module (home-packages wm)
+ #:use-module (home-packages virtualization)
#:use-module (home-services virtualization))
(define %my-base-packages
@@ -76,7 +77,7 @@
"nss-certs"
"gvfs"
"gnupg"
- "virt-manager"
+ ;; "virt-manager"
"light"
"waybar"
"avahi"
@@ -100,7 +101,7 @@
"wireshark"
"zsh"
"neovim"))
- (list swaylock-effects-new)
+ (list swaylock-effects-new virt-manager-new)
%my-base-packages))
;; Below is the list of system services. TO search for available
diff --git a/modules/home-packages/firmware.scm b/modules/home-packages/firmware.scm
new file mode 100644
index 0000000..6e88992
--- /dev/null
+++ b/modules/home-packages/firmware.scm
@@ -0,0 +1,25 @@
+(define-module (home-packages firmware)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu packages build-tools)
+ #:use-module (gnu packages virtualization)
+ #:use-module (gnu packages firmware)
+ #:use-module (guix gexp))
+
+(define-public ovmf-new
+ (package
+ (inherit ovmf)
+ (name "ovmf-new")
+ (arguments
+ (substitute-keyword-arguments (package-arguments ovmf)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'install
+ (lambda _
+ (let ((fmw (string-append #$output "/share/firmware")))
+ (mkdir-p fmw)
+ (copy-recursively "Build/OvmfX64/RELEASE_GCC49/FV" fmw)
+ )))
+ ))))))
diff --git a/modules/home-packages/virtualization.scm b/modules/home-packages/virtualization.scm
new file mode 100644
index 0000000..d048c0d
--- /dev/null
+++ b/modules/home-packages/virtualization.scm
@@ -0,0 +1,28 @@
+(define-module (home-packages virtualization)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu packages build-tools)
+ #:use-module (gnu packages virtualization)
+ #:use-module (gnu packages firmware)
+ #:use-module (home-packages firmware)
+ #:use-module (guix gexp))
+
+(define-public virt-manager-new
+ (package
+ (inherit virt-manager)
+ (name "virt-manager-new")
+ (arguments
+ (substitute-keyword-arguments (package-arguments virt-manager)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'ovmf
+ (lambda _
+ (let ((fmw (string-append #$output "/usr/share/OVMF")))
+ (mkdir-p fmw)
+ (copy-recursively #$(file-append ovmf-new "/share/firmware") fmw)
+ (mkdir-p fmw)
+ (copy-recursively "Build/OvmfX64/RELEASE_GCC49/FV" fmw)
+ )))
+ ))))))
diff --git a/modules/home-services/virtualization.scm b/modules/home-services/virtualization.scm
index aeb7fe7..0f3084a 100644
--- a/modules/home-services/virtualization.scm
+++ b/modules/home-services/virtualization.scm
@@ -2,11 +2,11 @@
#: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 (home-packages firmware)
#:use-module (guix gexp))
(define libvirt-new
@@ -14,11 +14,7 @@
(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"))))
+ (append ovmf-new)))))
(define-public libvirt-service-type-new
(service-type
@@ -28,12 +24,8 @@
(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")))