24 lines
1,020 B
Diff
24 lines
1,020 B
Diff
|
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) =
|