Meu entendimento da seqüência de inicialização do Vagrant é que o Vagrant monta /vagrant
(e quaisquer outros sistemas de arquivos compartilhados que você definiu) usando o SSH, após a conclusão da sequência de inicialização.
Assim, você provavelmente desejará executar systemctl start my.service
em um provisionador, com run: always
especificado, de modo que o provedor é executado em cada inicialização, não apenas quando a VM é criada inicialmente.
Isso não seria necessário se o systemd tivesse a capacidade de detectar quando um sistema de arquivos foi montado, mas, para minha surpresa, não consigo encontrar nenhuma indicação de que o systemd suporte tal funcionalidade.