setup = async function (opts) {
  // open database
  var dbPath = path.join(opts.userDataPath, 'Settings')
  db = new sqlite3.Database(dbPath)
  setupPromise = setupSqliteDB(db, {migrations}, '[SETTINGS]')

  defaultSettings = {
    auto_update_enabled: 1,
    auto_redirect_to_dat: 1,
    custom_start_page: 'blank',
    new_tab: 'beaker://desktop/',
    new_tabs_in_foreground: 0,
    run_background: 1,
    default_zoom: 0,
    browser_theme: 'system',
    analytics_enabled: 1,
    extended_network_index: 'default',
    extended_network_index_url: '',
    search_engines: [
      {name: 'DuckDuckGo', url: 'https://www.duckduckgo.com/', selected: true},
      {name: 'Beaker', url: 'beaker://desktop/'},
      {name: 'Google', url: 'https://www.google.com/search'}
    ],
    adblock_lists: [
      {name: 'EasyList', url: 'https://easylist.to/easylist/easylist.txt', selected: true},
      {name: 'EasyPrivacy', url: 'https://easylist.to/easylist/easyprivacy.txt'},
      {name: 'EasyList Cookie List', url: 'https://easylist-downloads.adblockplus.org/easylist-cookie.txt'},
      {name: 'Fanboy\'s Social Blocking List', url: 'https://easylist.to/easylist/fanboy-social.txt'},
      {name: 'Fanboy\'s Annoyance List', url: 'https://easylist.to/easylist/fanboy-annoyance.txt'},
      {name: 'Adblock Warning Removal List', url: 'https://easylist-downloads.adblockplus.org/antiadblockfilters.txt'},
    ]
  }

  for (let k of CACHED_VALUES) {
    cachedValues[k] = await get(k)
  }
}
@param {Object} opts
@param {string} opts.userDataPath
@param {string} opts.homePath