funny tmpfiles

This commit is contained in:
Gerg-L 2023-11-03 19:49:43 -04:00
parent 7eb0c12fd1
commit b66e783d26
Signed by: gerg-l
SSH key fingerprint: SHA256:FPYDHIkvMocr4wdmZXpgpJjsb2Tw6rASs2ISPbOb0KI

View file

@ -145,9 +145,11 @@ in
''; '';
systemd.tmpfiles.rules = systemd.tmpfiles.settings."vfio" = {
let "/etc/Xorg/active.conf"."L".argument = "/etc/Xorg/2_mon.conf";
qemuHook = pkgs.writeShellApplication { "/var/lib/libvirt/qemu/Windows.xml"."L+".argument = toString ./Windows.xml;
"/var/lib/libvirt/hooks/qemu"."L+".argument = lib.getExe (
pkgs.writeShellApplication {
name = "qemu-hook"; name = "qemu-hook";
runtimeInputs = [ runtimeInputs = [
@ -160,6 +162,9 @@ in
OPERATION="$2" OPERATION="$2"
if [ "$GUEST_NAME" == "Windows" ]; then if [ "$GUEST_NAME" == "Windows" ]; then
exit 0
fi
if [ "$OPERATION" == "prepare" ]; then if [ "$OPERATION" == "prepare" ]; then
systemctl stop display-manager.service systemctl stop display-manager.service
modprobe -r -a nvidia_uvm nvidia_drm nvidia nvidia_modeset modprobe -r -a nvidia_uvm nvidia_drm nvidia nvidia_modeset
@ -172,6 +177,7 @@ in
touch /etc/Xorg/ONE_MONITOR touch /etc/Xorg/ONE_MONITOR
systemctl start display-manager.service systemctl start display-manager.service
fi fi
if [ "$OPERATION" == "release" ]; then if [ "$OPERATION" == "release" ]; then
systemctl stop display-manager.service systemctl stop display-manager.service
systemctl set-property --runtime -- user.slice AllowedCPUs=0-31 systemctl set-property --runtime -- user.slice AllowedCPUs=0-31
@ -184,14 +190,9 @@ in
rm /etc/Xorg/ONE_MONITOR rm /etc/Xorg/ONE_MONITOR
systemctl start display-manager.service systemctl start display-manager.service
fi fi
fi
''; '';
}
);
}; };
in
[
"L /etc/Xorg/active.conf - - - - /etc/Xorg/2_mon.conf"
"C /var/lib/libvirt/hooks/qemu - - - - ${lib.getExe qemuHook}"
"C /var/lib/libvirt/qemu/Windows.xml - - - - ${./Windows.xml}"
];
_file = ./vfio.nix; _file = ./vfio.nix;
} }