How to stay safe on public wifi may be a conplex question as there is not one awnser because there are a lot of exploits, but my main question is how to minimize risk of the main exploits like arp spoofing,man in the middle etc. I havent set sys-net as disposable could that be a door and what else would you recommend to keep the base system and qubes intact.
Make sys-net disposable, this is quite important. I think there is a guide on the forum explaining how to make the wifi networks persitent while having sys-net disposable.
Routing your qubes traffic through a VPN or Tor will make it more secure with regards to the public wifi network, although you may need to think about the implication (you delegate your traffic to a third party).
Is a disposable sys-net really needed though?
Even if you join a malicious public wifi endpoint, it is contained to sys-net only and would have to VM escape to do any real damage.
I’d say a disposable sys-net is advisable, yes, because it may increase the time an attacker has to attack your sys-net. In case of a disposable sys-net, a successful implant will be gone after you reboot sys-net, while it’s permanently there in the non-disposable case. Furthermore, sys-net is critical in another aspect that all your network traffic runs through it. So even if an attacker doesn’t manage to escape the VM, they would be able to see all your network traffic - either permanently or just until sys-net is rebooted.
I assume you’re reffering to the one that makes use of bind-dirs. It should also be very easy to achieve this using custom-persist: Add common use cases for minimal state app qubes to documentation · Issue #10151 · QubesOS/qubes-issues · GitHub, easy enough that maybe this could be considered to be included by default or as a checkbox in the installer.