I use linux on the PC that drives my shapeoko3, under LinuxCNC. I also looked at options for design on it but in the end just had a separate PC running windows that I use Solidworks, Aspire and Fusion360 on. I currently transfer Gcode with a USB stick but will set up a shared folder on the Linux machine to store Gcode.
The idea of having it all running on one PC is nice but in reality it has been far simpler running two separate machines