aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index 7c23616d..a5564cd2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -92,19 +92,21 @@ fn main() {
fn load_config(options: &cli::Options) -> Config {
let config_path = options.config_path()
.or_else(Config::installed_config)
- .unwrap_or_else(|| {
- Config::write_defaults()
- .unwrap_or_else(|err| die!("Write defaults config failure: {}", err))
- });
-
- Config::load_from(&*config_path).unwrap_or_else(|err| {
- match err {
- ConfigError::Empty => info!("Config file {:?} is empty; loading default", config_path),
- _ => error!("Error: {}; loading default config", err),
- }
-
+ .or_else(|| Config::write_defaults().ok());
+
+ if let Some(config_path) = config_path {
+ Config::load_from(&*config_path).unwrap_or_else(|err| {
+ match err {
+ ConfigError::Empty => info!("Config file {:?} is empty; loading default", config_path),
+ _ => error!("Unable to load default config: {}", err),
+ }
+
+ Config::default()
+ })
+ } else {
+ error!("Unable to write the default config");
Config::default()
- })
+ }
}
/// Run Alacritty