Is it possible with puphpet configs to have the code directory change according to the host OS?
I get that this can be done with the actual vagrant file, but I can't see how to do it from the yaml.
I've attempted to add a qualifying field to the yaml:
synced_folder:
E6zs5ESFmosx:
owner: ''
group: ''
source: '/Users/user/Development/www'
target: /var/www
sync_type: osx
rsync:
auto: 'false'
E6zs5ESFmwin:
owner: ''
group: ''
source: 'I:\Development\www'
target: /var/www
sync_type: win
rsync:
auto: 'false'
And then alter the vagrant file to switch accordingly:
elsif folder['sync_type'] == 'osx'
config.vm.synced_folder '#{folder['source']}', "#{folder['target']}", id: "#{i}", type: 'nfs'
But this still gives an error about I:\Development\www not being available when attempting to vagrant up within osx.
What is the best way to fix this? Simply remove the folders from the yaml and manually define them in the vagrant file? This means that there is a little bit of work every time I generate a new config using puphpet. Not that bad, but it seems to me that there should be an easier way.
You can override settings inside your
config.yaml
from aconfig-custom.yaml
file. Just create a new file and change the blocks you'd like.deep_merge
is used, so you only need to change the blocks you want, and not include what you want to keep as default.Aside from that, you can also edit the
Vagrantfile
to include more config files depending on host OS.