Skip to content
Tarek edited this page Jun 8, 2015 · 2 revisions

inception can fetch and sync configs from remote sources. You can edit the sources it uses by changing the file "~/.inception/sources.json" which by default looks like this:

{
    "__sources__": [
        "inception-android"
    ]
}

__sources__

A source is github username. It gets resolved into the full URL of this username on github. inception-android gets resolved to https://github.com/inception-android

You can add more sources for all configs by editing the root-level sources array. Sources are checked in order until target config code is found:

{
    "__sources__": [
        "inception-android", "fallback-source1", "fallback-source2"
    ]
}

You can add sources for each chunk of config codes:

{
    "__sources__": [ "inception-android", "fallback-source1" ],
    "samsung": {
        "__sources__": ["samsung_central"],
        "matissewifi": {
            "__sources__": ["samsung_universe"]
       }
    }
}

If you now for example bootstrap samsung.matissewifi.new_config, it will look for samsung.matissewifi in the following URLs in this order:

If you look for samsung.espressowifi.new_config, it will look in those sources:

Resolving config code

Base config code A.B

A base config code in the format A.B will be resolved into the repository name: inception_base_A_B

Variant config code A.B.C

A variant config code in the format A.B.C will be resolved into the repository name: inception_variant_A_B_C

Sync configs

It's a good idea to keep your previously fetched base configs in sync with their sources. Use:

incept sync --variant A.B.C

to update all base configs of variant A.B.C