diff --git a/src/main/shell-sync.ts b/src/main/shell-sync.ts index 05ded6e2f6..f48d072008 100644 --- a/src/main/shell-sync.ts +++ b/src/main/shell-sync.ts @@ -14,27 +14,30 @@ interface Env { */ export async function shellSync() { const { shell } = os.userInfo(); - + + let envVars = {}; try { - const env: Env = JSON.parse(JSON.stringify(await shellEnv(shell))) - if (!env.LANG) { - // the LANG env var expects an underscore instead of electron's dash - env.LANG = `${app.getLocale().replace('-', '_')}.UTF-8`; - } else if (!env.LANG.endsWith(".UTF-8")) { - env.LANG += ".UTF-8" - } - - // Overwrite PATH on darwin - if (process.env.NODE_ENV === "production" && process.platform === "darwin") { - process.env["PATH"] = env.PATH - } - - // The spread operator allows joining of objects. The precedence is last to first. - process.env = { - ...env, - ...process.env, - }; + envVars = await shellEnv(shell); } catch (error) { logger.error(`shellEnv: ${error}`) } + + const env: Env = JSON.parse(JSON.stringify(envVars)); + if (!env.LANG) { + // the LANG env var expects an underscore instead of electron's dash + env.LANG = `${app.getLocale().replace('-', '_')}.UTF-8`; + } else if (!env.LANG.endsWith(".UTF-8")) { + env.LANG += ".UTF-8" + } + + // Overwrite PATH on darwin + if (process.env.NODE_ENV === "production" && process.platform === "darwin") { + process.env["PATH"] = env.PATH + } + + // The spread operator allows joining of objects. The precedence is last to first. + process.env = { + ...env, + ...process.env, + }; }