about summary refs log tree commit diff
path: root/nixos/modules/virtualisation
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2020-03-13 07:00:17 +0000
committerJörg Thalheim <joerg@thalheim.io>2020-03-13 07:04:26 +0000
commit505d241ee3905166206d9a8a2f13a01b60659ed2 (patch)
tree68dd86755c8db8875af34353ea8ba00f722a8fab /nixos/modules/virtualisation
parent85aae79ca1dbdd592f631ce2d6719f648c35f0e3 (diff)
downloadnixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.tar
nixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.tar.gz
nixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.tar.bz2
nixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.tar.lz
nixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.tar.xz
nixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.tar.zst
nixlib-505d241ee3905166206d9a8a2f13a01b60659ed2.zip
nixos/kvmgt: add udev rules for unprivileged access
Diffstat (limited to 'nixos/modules/virtualisation')
-rw-r--r--nixos/modules/virtualisation/kvmgt.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix
index 355f4770c502..0902d2dc2cb0 100644
--- a/nixos/modules/virtualisation/kvmgt.nix
+++ b/nixos/modules/virtualisation/kvmgt.nix
@@ -19,7 +19,8 @@ in {
     virtualisation.kvmgt = {
       enable = mkEnableOption ''
         KVMGT (iGVT-g) VGPU support. Allows Qemu/KVM guests to share host's Intel integrated graphics card.
-        Currently only one graphical device can be shared
+        Currently only one graphical device can be shared. To allow users to access the device without root add them
+        to the kvm group: <literal>users.extraUsers.&lt;yourusername&gt;.extraGroups = [ "kvm" ];</literal>
       '';
       # multi GPU support is under the question
       device = mkOption {
@@ -35,9 +36,7 @@ in {
           and find info about device via <command>cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description</command>
         '';
         example = {
-          i915-GVTg_V5_8 = {
-            uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525";
-          };
+          i915-GVTg_V5_8.uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525";
         };
       };
     };
@@ -62,6 +61,10 @@ in {
       }
     ) cfg.vgpus;
 
+    services.udev.extraRules = ''
+      SUBSYSTEM=="vfio", OWNER="root", GROUP="kvm"
+    '';
+
     systemd.services = mapAttrs' (name: value:
       nameValuePair "kvmgt-${name}" {
         description = "KVMGT VGPU ${name}";