public static IConfigurationBuilder AddCubesConfiguration(
            this IConfigurationBuilder config,
            ICubesEnvironment cubesEnvironment)
        {
            config.AddCubesConfigurationProvider(cubesEnvironment);
            config.AddYamlFile(
                cubesEnvironment.GetFileOnPath(CubesFolderKind.Config, CubesConstants.Files_DataAccess),
                optional: true,
                reloadOnChange: true);
            config.AddYamlFile(
                cubesEnvironment.GetFileOnPath(CubesFolderKind.Config, CubesConstants.Files_StaticContent),
                optional: true,
                reloadOnChange: true);
            config.AddYamlFile(
                cubesEnvironment.GetFileOnPath(CubesFolderKind.Config, CubesConstants.Files_SmtpSettings),
                optional: true,
                reloadOnChange: true);

            // Installation specific application settings
            config.AddJsonFile(
                cubesEnvironment.GetFileOnPath(CubesFolderKind.Config, CubesConstants.Files_AppSettings),
                optional: true,
                reloadOnChange: true);

            return(config);
        }