summaryrefslogtreecommitdiffstats
path: root/src/config/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/mod.rs')
-rw-r--r--src/config/mod.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index a5ced25..4aa0873 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -247,13 +247,13 @@ impl Config {
}
pub fn config_dir() -> Result<PathBuf> {
- let env_name = get_env_name("config_dir");
- let path = if let Some(v) = env::var_os(env_name) {
+ let path = if let Ok(v) = env::var(get_env_name("config_dir")) {
PathBuf::from(v)
+ } else if let Ok(v) = env::var("XDG_CONFIG_HOME") {
+ PathBuf::from(v).join(env!("CARGO_CRATE_NAME"))
} else {
- let mut dir = dirs::config_dir().ok_or_else(|| anyhow!("Not found config dir"))?;
- dir.push(env!("CARGO_CRATE_NAME"));
- dir
+ let dir = dirs::config_dir().ok_or_else(|| anyhow!("Not available config dir"))?;
+ dir.join(env!("CARGO_CRATE_NAME"))
};
Ok(path)
}