materusPC: Window VM changes

This commit is contained in:
Mateusz Słodkowicz 2024-04-22 11:33:57 +02:00
parent fd3599f7f3
commit c6cdd9d8af
Signed by: materus
GPG Key ID: 28D140BCA60B4FD1
2 changed files with 37 additions and 16 deletions

View File

@ -87,7 +87,7 @@
"libvirtd" "libvirtd"
"podman" "podman"
"lxd" "lxd"
]; ];
shell = pkgs.zsh; shell = pkgs.zsh;
description = "Mateusz Słodkowicz"; description = "Mateusz Słodkowicz";
}; };
@ -120,14 +120,38 @@
services.pcscd.enable = true; services.pcscd.enable = true;
services.samba-wsdd.enable = true; services.samba-wsdd.enable = true;
services.samba-wsdd.openFirewall = true;
services.samba = { services.samba = {
enable = true; enable = true;
package = pkgs.sambaFull; package = pkgs.sambaFull;
securityType = "user";
openFirewall = true;
extraConfig = ''
workgroup = WORKGROUP
server string = smbmaterus
netbios name = smbmaterus
security = user
hosts allow = 192.168.122. 127.0.0.1 localhost
hosts deny = 0.0.0.0/0
guest account = nobody
map to guest = bad user
'';
shares = {
windows = {
path = "/materus/data/VM/windows_shared";
browseable = "yes";
"read only" = "no";
"guest ok" = "no";
"create mask" = "0644";
"directory mask" = "0755";
"force user" = "materus";
"force group" = "users";
};
};
}; };
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
enableSSHSupport = false; enableSSHSupport = false;
@ -155,4 +179,5 @@
services.davfs2.enable = true; services.davfs2.enable = true;
} }

View File

@ -21,7 +21,7 @@ let
# Seems to fix reset bug for 7900 XTX # Seems to fix reset bug for 7900 XTX
echo "0" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/d3cold_allowed" echo "0" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/d3cold_allowed"
systemctl stop mountWin10Share.service systemctl stop windows-share-mount.service
echo ''$VIRSH_GPU_VIDEO > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/driver/unbind" echo ''$VIRSH_GPU_VIDEO > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/driver/unbind"
@ -29,12 +29,11 @@ let
sleep 1s sleep 1s
echo "10" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/resource0_resize" echo "15" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/resource0_resize"
echo "8" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/resource2_resize" echo "8" > "/sys/bus/pci/devices/''${VIRSH_GPU_VIDEO}/resource2_resize"
echo "3" > /proc/sys/vm/drop_caches echo "3" > /proc/sys/vm/drop_caches
echo "1" > /proc/sys/vm/compact_memory echo "1" > /proc/sys/vm/compact_memory
#echo "8192" > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
@ -72,9 +71,8 @@ let
echo ''$VIRSH_GPU_VIDEO > /sys/bus/pci/drivers/amdgpu/bind echo ''$VIRSH_GPU_VIDEO > /sys/bus/pci/drivers/amdgpu/bind
echo ''$VIRSH_GPU_AUDIO > /sys/bus/pci/drivers/snd_hda_intel/bind echo ''$VIRSH_GPU_AUDIO > /sys/bus/pci/drivers/snd_hda_intel/bind
#echo "0" > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
systemctl start mountWin10Share.service systemctl start windows-share-mount.service
systemctl set-property --runtime -- user.slice AllowedCPUs=0-31 systemctl set-property --runtime -- user.slice AllowedCPUs=0-31
systemctl set-property --runtime -- system.slice AllowedCPUs=0-31 systemctl set-property --runtime -- system.slice AllowedCPUs=0-31
@ -114,21 +112,19 @@ in
''; '';
}; };
systemd.services.mountWin10Share = { systemd.services.windows-share-mount = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ config.virtualisation.libvirtd.qemu.package pkgs.util-linux pkgs.kmod pkgs.coreutils ]; path = [ config.virtualisation.libvirtd.qemu.package pkgs.util-linux pkgs.kmod pkgs.coreutils ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
script = '' script = ''
modprobe nbd max_part=16
sleep 1 losetup -P /dev/loop6 /materus/data/VM/data.raw
qemu-nbd -c /dev/nbd0 /materus/data/VM/data.qcow2 --cache=unsafe --discard=unmap mount /dev/loop6p1 /materus/data/Windows -o uid=1000,gid=100
sleep 1
mount /dev/nbd0p1 /materus/data/Windows -o uid=1000,gid=100
''; '';
preStop = '' preStop = ''
umount /materus/data/Windows umount -lf /materus/data/Windows
qemu-nbd -d /dev/nbd0 losetup -d /dev/loop6
''; '';
}; };
} }