Is [{<<"enabled">>, <<"true">>}] supposed to be a proplist or a JSON object? I ask only because the macro below converts the DEFAULT_SERVICES list into a JSON object, which would make these sub-proplists invalid JSON terms (you couldn't encode DEFAULT_SERVICES_AS_JSON).

Also, unless you really need booleans to be binaries, using 'true' is acceptable in JSON objects (will be encoded properly).