diff --git a/compiler/nimconf.nim b/compiler/nimconf.nim index a470179bd..73cfa1a23 100644 --- a/compiler/nimconf.nim +++ b/compiler/nimconf.nim @@ -225,10 +225,15 @@ proc getUserConfigPath*(filename: RelativeFile): AbsoluteFile = proc getSystemConfigPath*(conf: ConfigRef; filename: RelativeFile): AbsoluteFile = # try standard configuration file (installation did not distribute files # the UNIX way) - let p = getPrefixDir(conf) - result = p / RelativeDir"config" / filename + let + prefix = getPrefixDir(conf) + env = getEnv("NIM_CONFIG_PATH") + if env != "": + result = env.toAbsoluteDir / filename + else: + result = prefix / RelativeDir"config" / filename when defined(unix): - if not fileExists(result): result = p / RelativeDir"etc/nim" / filename + if not fileExists(result): result = prefix / RelativeDir"etc/nim" / filename if not fileExists(result): result = AbsoluteDir"/etc/nim" / filename proc loadConfigs*(cfg: RelativeFile; cache: IdentCache; conf: ConfigRef) =