From 02f0c8d453ccab1d669f122fcab1f0640401189f Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Tue, 17 Mar 2026 16:07:13 -0300 Subject: [PATCH] fix: use XDG config directory for default config file location Changes from manual HOME/.config/keep/config.yml construction to dirs::config_dir(), which respects XDG_CONFIG_HOME. --- src/config.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/config.rs b/src/config.rs index 3a6a32a..b3e401a 100644 --- a/src/config.rs +++ b/src/config.rs @@ -232,15 +232,13 @@ impl Settings { } else if let Ok(env_config) = std::env::var("KEEP_CONFIG") { PathBuf::from(env_config) } else { - let default_path = if let Ok(home_dir) = std::env::var("HOME") { - let mut path = PathBuf::from(home_dir); - path.push(".config"); - path.push("keep"); - path.push("config.yml"); - path - } else { - PathBuf::from("~/.config/keep/config.yml") - }; + let default_path = dirs::config_dir() + .map(|mut p| { + p.push("keep"); + p.push("config.yml"); + p + }) + .unwrap_or_else(|| PathBuf::from("~/.config/keep/config.yml")); debug!("CONFIG: Using default config path: {default_path:?}"); default_path };