From 8c96feb6397d4a5756dbeab1aedb7d2266c9218f Mon Sep 17 00:00:00 2001 From: Artur Manuel Date: Tue, 11 Feb 2025 23:22:35 +0000 Subject: [PATCH] feat(config): add NUSHELL_CONFIG_DIR env var --- crates/nu-path/src/helpers.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/crates/nu-path/src/helpers.rs b/crates/nu-path/src/helpers.rs index 931b3f9d0..cd3c07d95 100644 --- a/crates/nu-path/src/helpers.rs +++ b/crates/nu-path/src/helpers.rs @@ -1,4 +1,5 @@ use std::path::PathBuf; +use std::env; use crate::AbsolutePathBuf; @@ -18,10 +19,15 @@ pub fn cache_dir() -> Option { /// Return the nushell config directory. pub fn nu_config_dir() -> Option { - configurable_dir_path("XDG_CONFIG_HOME", dirs::config_dir).map(|mut p| { - p.push("nushell"); - p - }) + let NUSHELL_CONFIG_DIR: Result = env::var("NUSHELL_CONFIG_DIR"); + + match NUSHELL_CONFIG_DIR { + Ok(val) => Some(AbsolutePathBuf::try_from(val).unwrap()), + Err(_) => configurable_dir_path("XDG_CONFIG_HOME", dirs::config_dir).map(|mut p| { + p.push("nushell"); + p + }) + } } fn configurable_dir_path( -- 2.47.2