diff --git a/ICD.Common.Utils/PathUtils.cs b/ICD.Common.Utils/PathUtils.cs
index 3d473a6..491fbae 100644
--- a/ICD.Common.Utils/PathUtils.cs
+++ b/ICD.Common.Utils/PathUtils.cs
@@ -26,10 +26,23 @@ namespace ICD.Common.Utils
public static string ProgramPath { get { return IcdDirectory.GetApplicationDirectory(); } }
///
- /// Gets the path to the NVRAM directory.
+ /// Gets the path to the root config directory,
+ /// which contains common and program-specific config directories.
///
[PublicAPI]
- public static string NvramPath { get { return Join(RootPath, "NVRAM"); } }
+ public static string RootConfigPath
+ {
+ get
+ {
+#if SIMPLSHARP
+ return Join(RootPath, "USER");
+#elif LINUX
+ return Join(RootPath, "opt", "ICD.Connect");
+#else
+ return Join(RootPath, "ProgramData", "ICD.Connect");
+#endif
+ }
+ }
///
/// Returns the absolute path to the configuration directory.
@@ -41,7 +54,7 @@ namespace ICD.Common.Utils
get
{
string directoryName = string.Format("Program{0:D2}Config", ProgramUtils.ProgramNumber);
- return Join(NvramPath, directoryName);
+ return Join(RootConfigPath, directoryName);
}
}
@@ -49,7 +62,7 @@ namespace ICD.Common.Utils
/// Returns the absolute path to the common configuration directory.
///
[PublicAPI]
- public static string CommonConfigPath { get { return Join(NvramPath, "CommonConfig"); } }
+ public static string CommonConfigPath { get { return Join(RootConfigPath, "CommonConfig"); } }
///
/// Returns the absolute path to the common config library directory.