From 81cf17bd5d883f581b5958ae70995a8acdd6e9d2 Mon Sep 17 00:00:00 2001 From: Alexandre Pasmantier <47638216+alexpasmantier@users.noreply.github.com> Date: Mon, 11 Nov 2024 12:06:46 +0100 Subject: [PATCH] fix(config): more consistent configuration file location for linux and macos (#9) --- crates/television/config.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/television/config.rs b/crates/television/config.rs index f0188df..9247544 100644 --- a/crates/television/config.rs +++ b/crates/television/config.rs @@ -92,20 +92,20 @@ pub struct Config { } lazy_static! { - pub static ref PROJECT_NAME: String = - env!("CARGO_CRATE_NAME").to_uppercase().to_string(); + pub static ref PROJECT_NAME: String = String::from("television"); + pub static ref PROJECT_NAME_UPPER: String = PROJECT_NAME.to_uppercase().to_string(); pub static ref DATA_FOLDER: Option = // if `TELEVISION_DATA` is set, use that as the data directory - env::var_os(format!("{}_DATA", PROJECT_NAME.clone())).or_else(|| { + env::var_os(format!("{}_DATA", PROJECT_NAME_UPPER.clone())).or_else(|| { // otherwise, use the XDG data directory env::var_os("XDG_DATA_HOME") - }).map(PathBuf::from).filter(|p| p.is_absolute()); + }).map(PathBuf::from).map(|p| p.join(PROJECT_NAME.as_str())).filter(|p| p.is_absolute()); pub static ref CONFIG_FOLDER: Option = // if `TELEVISION_CONFIG` is set, use that as the config directory - env::var_os(format!("{}_CONFIG", PROJECT_NAME.clone())).or_else(|| { + env::var_os(format!("{}_CONFIG", PROJECT_NAME_UPPER.clone())).or_else(|| { // otherwise, use the XDG config directory env::var_os("XDG_CONFIG_HOME") - }).map(PathBuf::from).filter(|p| p.is_absolute()); + }).map(PathBuf::from).map(|p| p.join(PROJECT_NAME.as_str())).filter(|p| p.is_absolute()); } const CONFIG_FILE_NAME: &str = "config.toml";