I don't think you can generally expect all processes to transparently use a SOCKS proxy? You might be able to finagle a custom vpn around it, I suppose. But AFAIK SOCKS isn't 100% transparent at the IP layer allowing all protocols to transparently layer on top?
I guess SOCKS5 handles tcp and udp - so you might get away with redsocks (which explicitly recommends against using with TOR):
https://github.com/darkk/redsocks
See also transocks (SOCKS4 tcp only): https://transocks.sourceforge.net
And transocks (in go) https://github.com/cybozu-go/transocks
Ed: see also https://news.ycombinator.com/item?id=30684574