summaryrefslogtreecommitdiff
path: root/modules/virtualization.nix
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-01-16 16:31:42 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-01-16 16:31:42 +0530
commit6ba0196a5cc237a263ce0210b920bbd5d38fac0c (patch)
treecd13eefef1e11614e4db54a6f5afcdc4bd87d472 /modules/virtualization.nix
parent722467fc40bfb44ee0aee1c6aab804dc36d16851 (diff)
update
Diffstat (limited to 'modules/virtualization.nix')
-rw-r--r--modules/virtualization.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/virtualization.nix b/modules/virtualization.nix
index a92ffb9..02d5d93 100644
--- a/modules/virtualization.nix
+++ b/modules/virtualization.nix
@@ -51,6 +51,36 @@ in
systemctl set-property --runtime -- system.slice AllowedCPUs=""
systemctl set-property --runtime -- init.scope AllowedCPUs=""
'')
+
+ (pkgs.writeShellScriptBin "vfio-bind" ''
+ sudo modprobe -r nvidia_drm nvidia_modeset nvidia_uvm i2c_nvidia_gpu nvidia
+
+ sudo modprobe vfio
+ sudo modprobe vfio_iommu_type1
+ sudo modprobe vfio_pci
+
+ systemctl --user -M compromyse@ stop pipewire.service pipewire.socket
+
+ sudo virsh nodedev-detach pci_0000_01_00_0
+ sudo virsh nodedev-detach pci_0000_01_00_1
+
+ systemctl --user -M compromyse@ restart pipewire.service pipewire.socket
+ '')
+
+ (pkgs.writeShellScriptBin "vfio-unbind" ''
+ systemctl --user -M compromyse@ stop pipewire.service pipewire.socket
+
+ sudo virsh nodedev-reattach pci_0000_01_00_0
+ sudo virsh nodedev-reattach pci_0000_01_00_1
+
+ systemctl --user -M compromyse@ restart pipewire.service pipewire.socket
+
+ sudo modprobe -r vfio_pci
+ sudo modprobe -r vfio_iommu_type1
+ sudo modprobe -r vfio
+
+ sudo modprobe nvidia_drm nvidia_modeset nvidia_uvm i2c_nvidia_gpu nvidia
+ '')
];
boot = {