Updated Jun 2024: This Vyos 1.4 config is now broken if you use a recent vyos 1.5 rolling release. I made a new post here that mirrors this one, but with the correct syntax!
Updated Aug 2022: After moving house I have been able to split my install between the basement and the house, so I bought myself an Dell Optiplex 7050 to be the VyOS router (the OTO is in the house), and then run a 10G fibre to the basement for the rest of the stuff. I think I will leave the post as is because the VM method is more interesting, but I will add a block on that below.