mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 00:43:56 -05:00
funny tmpfiles
This commit is contained in:
parent
7eb0c12fd1
commit
b66e783d26
1 changed files with 33 additions and 32 deletions
|
|
@ -145,9 +145,11 @@ in
|
|||
|
||||
'';
|
||||
|
||||
systemd.tmpfiles.rules =
|
||||
let
|
||||
qemuHook = pkgs.writeShellApplication {
|
||||
systemd.tmpfiles.settings."vfio" = {
|
||||
"/etc/Xorg/active.conf"."L".argument = "/etc/Xorg/2_mon.conf";
|
||||
"/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";
|
||||
|
||||
runtimeInputs = [
|
||||
|
|
@ -160,6 +162,9 @@ in
|
|||
OPERATION="$2"
|
||||
|
||||
if [ "$GUEST_NAME" == "Windows" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" == "prepare" ]; then
|
||||
systemctl stop display-manager.service
|
||||
modprobe -r -a nvidia_uvm nvidia_drm nvidia nvidia_modeset
|
||||
|
|
@ -172,6 +177,7 @@ in
|
|||
touch /etc/Xorg/ONE_MONITOR
|
||||
systemctl start display-manager.service
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" == "release" ]; then
|
||||
systemctl stop display-manager.service
|
||||
systemctl set-property --runtime -- user.slice AllowedCPUs=0-31
|
||||
|
|
@ -184,14 +190,9 @@ in
|
|||
rm /etc/Xorg/ONE_MONITOR
|
||||
systemctl start display-manager.service
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue