ecli_lib/
helper.rs

1use crate::error::{Error, Result};
2
3const EUNOMIA_HOME_ENV: &str = "EUNOMIA_HOME";
4
5/// Get eunomia home directory
6pub fn get_eunomia_home() -> Result<String> {
7    let eunomia_home = std::env::var(EUNOMIA_HOME_ENV);
8    if let Ok(home) = eunomia_home {
9        Ok(home)
10    } else if let Some(home) = home::home_dir() {
11        let home = home.join(".eunomia");
12        if !home.exists() {
13            std::fs::create_dir_all(&home).map_err(Error::IOErr)?;
14        }
15        Ok(home.to_string_lossy().to_string())
16    } else {
17        Err(Error::Other(
18            "home dir not found. Please set EUNOMIA_HOME env.".to_string(),
19        ))
20    }
21}