I would like the option of passing Nexus bootstrap variables via Tomcat context XML element "Environment name" rather than operating system environment variables or embedded WEB-INF/plexus.properties file. Why? My organization has created a stable Tomcat platform running multiple web apps per container. One way we've achieved this is by moving app-specific configurations out of the app home or WAR file into individual app context XML files. These files are then controlled by our central configuration management system. This allows the apps to be deployed or moved to any server while keeping the Tomcat containers uniform. Also a setting change doesn't require building a new WAR file.
Here's an example of what I'm thinking (/opt/tomcat/conf/Catalina/localhost/nexus.xml):
<Context path="/nexus" docBase="/srv/webapps/nexus-2.1.2" reloadable="true">
<Environment name="PLEXUS_NEXUS_WORK" value="/srv/appdata/nexus" type="java.lang.String" override="true" />
<Environment name="PLEXUS_RUNTIME" value="/srv/webapps/nexus" type="java.lang.String" override="true" />