In short, you don't do anything in the vagrant vm except artisan commands if you don't have it setup to run artisan locally. Everything is done in the project directory on your system, including gulp, yarn, composer, phpunit, etc. Homestead will sync the project files with those in the vm (Homestead.yaml defines the sync folders).
This goes for all project path references as well, including elixir.
Subscriptions is the only reason to use Spark. To remove free trials, just comment out
// Spark::useStripe()->noCardUpFront()->trialDays(10);
//
// Spark::freePlan()
// ->features([
// 'First', 'Second', 'Third'
// ]);
in the SparkServiceProvider...in the booted() method (where you put your new plans).
Spark is built on top of Cashier, I would look mostly at the Cashier docs and then Spark docs. Other than that, Jeffrey has a few videos and poking around the code. Spark was not at all designed for an online store, just subscriptions. It is highly integrated with Bootstrap and very, very opinionated.