feat: Add qemu hook for splitting cores to win11 virtual machine
This commit is contained in:
parent
788f606319
commit
6b966e5160
1 changed files with 23 additions and 0 deletions
|
|
@ -4,6 +4,29 @@
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
virtualisation.libvirtd.hooks.qemu = {
|
||||||
|
"dynamic-cpu-isolation" =
|
||||||
|
pkgs.writeShellScript "dynamic-cpu-isolation.sh"
|
||||||
|
#bash
|
||||||
|
''
|
||||||
|
VM_NAME="$1"
|
||||||
|
ACTION="$2"
|
||||||
|
|
||||||
|
if [ "$VM_NAME" != "win11" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$ACTION" == "prepare" ]; then
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- system.slice AllowedCPUs=0-1,12-19
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- user.slice AllowedCPUs=0-1,12-19
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- init.scope AllowedCPUs=0-1,12-19
|
||||||
|
elif [ "$ACTION" == "release" ]; then
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- system.slice AllowedCPUs=0-19
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- user.slice AllowedCPUs=0-19
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- init.scope AllowedCPUs=0-19
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
nixpkgs.config.cudaSupport = true;
|
nixpkgs.config.cudaSupport = true;
|
||||||
services = {
|
services = {
|
||||||
hardware.bolt.enable = true;
|
hardware.bolt.enable = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue