Dropwizard Quartz properties ignored when moved into dropwizard config file

I'm noticing a weird issue. I've configured quartz fine, but when I moved the quartz.properties file into my dropwizard configuration file, the datastore seems to be getting ignored. Previously, when the app was started, I would see my job be run & see a record for it in *_job_details table

I'm using https://github.com/spinscale/dropwizard-jobs to integrate quartz 2.2.3 into dropwizard. I'm using dropwizard 1.0.5, dropwizard-guicey 4.0.1 (https://github.com/xvik/dropwizard-guicey), spinscale quartz implementation 3.0.0.

Here's my quartz.properties file. If I use this alone, then everything works

  org.quartz.scheduler.instanceName: scheduler
  org.quartz.scheduler.instanceId: AUTO
  org.quartz.scheduler.skipUpdateCheck: true
  org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
  org.quartz.threadPool.threadCount: 10
  org.quartz.threadPool.threadPriority: 5
  org.quartz.jobStore.misfireThreshold: 60000
  org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
  org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
  org.quartz.jobStore.useProperties: false
  org.quartz.jobStore.dataSource: myDS
  org.quartz.jobStore.tablePrefix: QRTZ_
  org.quartz.jobStore.isClustered: true
  org.quartz.dataSource.myDS.driver: org.postgresql.Driver
  org.quartz.dataSource.myDS.URL: jdbc:postgresql://localhost:5432/db
  org.quartz.dataSource.myDS.user:  user
  org.quartz.dataSource.myDS.password: pass
  org.quartz.dataSource.myDS.maxConnections: 5
  org.quartz.dataSource.myDS.validationQuery: select 1

Now when I move this into my configuration.yml to pass in some environment variables, then it doesn't work. As a workaround, how can I use environment variables in my quartz.properties file? It seems to not like this notation org.quartz.dataSource.myDS.user: ${APP_JDBC_USER:-user} configuration.yml

quartz:
  org.quartz.scheduler.instanceName: scheduler
  org.quartz.scheduler.instanceId: AUTO
  org.quartz.scheduler.skipUpdateCheck: true
  org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
  org.quartz.threadPool.threadCount: 10
  org.quartz.threadPool.threadPriority: 5
  org.quartz.jobStore.misfireThreshold: 60000
  org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
  org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
  org.quartz.jobStore.useProperties: false
  org.quartz.jobStore.dataSource: myDS
  org.quartz.jobStore.tablePrefix: QRTZ_
  org.quartz.jobStore.isClustered: true
  org.quartz.dataSource.myDS.driver: org.postgresql.Driver
  org.quartz.dataSource.myDS.URL: ${APP_JDBC_URL:-jdbc:postgresql://localhost:5432/db}
  org.quartz.dataSource.myDS.user:  ${APP_JDBC_USER:-user}
  org.quartz.dataSource.myDS.password: ${APP_JDBC_PASSWORD:-pass}
  org.quartz.dataSource.myDS.maxConnections: 5
  org.quartz.dataSource.myDS.validationQuery: select 1

MyConfiguration.java

public class MyConfiguration extends Configuration implements JobConfiguration {

  @Valid
  private Map<String, String> quartz;

  @JsonProperty("quartz")
  public void setQuartzConfiguration(Map<String, String> quartz) {
    this.quartz = quartz;
  }

  @JsonProperty("quartz")
  public Map<String, String> getQuartzConfiguration() {
    return this.quartz;
  }
}

Job

@DisallowConcurrentExecution
@Every("30min")
public class HelloWorldTestJob extends Job {
  private static final Logger logger = LoggerFactory.getLogger(HelloWorldTestJob.class);

  @Override
  public void doJob(JobExecutionContext jobExecutionContext) throws JobExecutionException {
    logger.info("Hello world at {}", new DateTime().toString());
  }

}