]> Untitled Git - lemmy.git/commitdiff
Parameterize config file location
authorKenneth Koski <kenneth.koski@canonical.com>
Sat, 31 Oct 2020 21:25:15 +0000 (16:25 -0500)
committerKenneth Koski <kenneth.koski@canonical.com>
Sat, 31 Oct 2020 21:25:52 +0000 (16:25 -0500)
Allows `config.hjson` to be located on a configurable path.

lemmy_utils/src/settings.rs

index 797c6fba1116c744b10f445f66096d8bb9b80e1f..476b76975ab9630aea4a3b8967276161b98749fe 100644 (file)
@@ -93,7 +93,7 @@ impl Settings {
 
     s.merge(File::with_name(&Self::get_config_defaults_location()))?;
 
-    s.merge(File::with_name(CONFIG_FILE).required(false))?;
+    s.merge(File::with_name(&Self::get_config_location()).required(false))?;
 
     // Add in settings from the environment (with a prefix of LEMMY)
     // Eg.. `LEMMY_DEBUG=1 ./target/app` would set the `debug` key
@@ -122,11 +122,15 @@ impl Settings {
   }
 
   pub fn get_config_defaults_location() -> String {
-    env::var("LEMMY_CONFIG_LOCATION").unwrap_or_else(|_| CONFIG_FILE_DEFAULTS.to_string())
+    env::var("LEMMY_CONFIG_DEFAULTS_LOCATION").unwrap_or_else(|_| CONFIG_FILE_DEFAULTS.to_string())
+  }
+
+  pub fn get_config_location() -> String {
+    env::var("LEMMY_CONFIG_LOCATION").unwrap_or_else(|_| CONFIG_FILE.to_string())
   }
 
   pub fn read_config_file() -> Result<String, Error> {
-    fs::read_to_string(CONFIG_FILE)
+    fs::read_to_string(Self::get_config_location())
   }
 
   pub fn get_allowed_instances(&self) -> Vec<String> {