Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/focal64"
config.vm.synced_folder ".", "/home/vagrant/env_inspector"
config.vm.provision "shell", inline: <<-SHELL
set -eux
# Install system build tools and dependencies
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
build-essential curl ca-certificates
# Install Rust via rustup under vagrant user
su - vagrant -c "curl https://sh.rustup.rs -sSf | sh -s -- -y"
# Make sure cargo is on PATH for this session
su - vagrant -c "echo 'source ~/.cargo/env' >> ~/.bashrc"
# Build the inspect binary inside the synced folder
su - vagrant -c "source /home/vagrant/.cargo/env && \
cd /home/vagrant/env_inspector && \
cargo build --release --bin inspect"
# Finally, run it
echo "==== Running inspect inside VM ===="
/home/vagrant/env_inspector/target/release/inspect
SHELL
end