xdissent / iectrl

Command line interface and Node module for managing ievms virtual machines
http://xdissent.github.io/iectrl
MIT License
198 stars 14 forks source link

Implement default state for VMs #10

Open niksy opened 10 years ago

niksy commented 10 years ago

VirtualBox allows changing properties for VMs via CLI using modifyvm: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm

This allows user to set some defaults for particular VM without fiddling with GUI.

I was wondering if this could be implemented as automated process in iectrl.

Idea: You have one JSON config file in root of your user folder (e.g. .ievmsrc) with key/value corresponding to various properties exposed for modifyvm command, e.g.

{
  "audio": "none",
  "clipboard": "bidirectional",
  "acpi": false
}

This would translate to following commands:

VBoxManage modifyvm "IE8 - WinXP" --audio none
VBoxManage modifyvm "IE8 - WinXP" --clipboard bidirectional
VBoxManage modifyvm "IE8 - WinXP" --acpi off

This would be run on install, rearm and any other process which would create new VM, and could be also run via new command which would modify existing VMs, e.g iectrl update [vm]

Also, config file could be expanded to have one more level which will allow to have specific properties for specific VMs.

What do you think about this?

romanostolosh-devpronet commented 9 years ago

+1 Also I would suggest having a scenario of running custom script as post-install option, so it is possible to perform additional configuration of guest system such as installing additional programs

niksy commented 8 years ago

Any status on this?