diff --git a/src/cli/main.rs b/src/cli/main.rs index 7b017e3..7e9e9e0 100644 --- a/src/cli/main.rs +++ b/src/cli/main.rs @@ -428,17 +428,19 @@ fn get_config() -> Result<(Config, ClientConfig)> { let path = home_dir.join(".cull-gmail/cull-gmail.toml"); log::info!("Loading config from {}", path.display()); - let config_file = config::File::with_name(path.to_path_buf().to_str().unwrap()); - // let config_file = config_file.required(false); - log::info!("Optional Config file {config_file:?}"); - - let configurations = config::Config::builder() + let mut config_builder = config::Config::builder() .set_default("credential_file", "credential.json")? .set_default("config_root", "h:.cull-gmail")? .set_default("rules", "rules.toml")? .set_default("execute", true)? - .set_default("token_cache_env", "CULL_GMAIL_TOKEN_CACHE")? - .add_source(config_file) + .set_default("token_cache_env", "CULL_GMAIL_TOKEN_CACHE")?; + + if path.exists() { + let config_file = config::File::with_name(path.to_path_buf().to_str().unwrap()); + log::info!("Config file {config_file:?}"); + config_builder = config_builder.add_source(config_file); + } + let configurations = config_builder .add_source(config::Environment::with_prefix("APP")) .build()?;