CodeEdit icon indicating copy to clipboard operation
CodeEdit copied to clipboard

🐞 Pass LaunchAgents environment variable to shell

Open yochem opened this issue 9 months ago • 1 comments

Description

I have set an environment variable using LaunchAgent (launchctl setenv XDG_CONFIG_HOME /Users/yochem/Library/Config) on startup.

It sets XDG_CONFIG_HOME to a location so my shell (fish in my case) knows its config location.

When I start iTerm2 or vscode, fish loads its config from the correct location (and XDG_CONFIG_HOME has a value). This is not the case with CodeEdit.

To Reproduce

  1. Create the following file:
~/Library/LaunchAgents/environment.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.startup</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>
    launchctl setenv XDG_CONFIG_HOME /tmp
    </string>

  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>
  1. $ launchctl load ~/Library/LaunchAgents/environment.plist
  2. Open vscode, its terminal and run $ echo $XDG_CONFIG_HOME

should show an empty line

  1. Open CodeEdit, its terminal and run $ echo $XDG_CONFIG_HOME

should print /tmp

Expected Behavior

I expect that CodeEdit behaves the same as other applications, and is aware of environment variables set via the LaunchAgent. It should pass this environment to the shell.

Version Information

CodeEdit: 0.0.3-alpha.36,5650b45 macOS: 14.0 Xcode: Not installed

Additional Context

No response

Screenshots

VSCode: image

CodeEdit: image

yochem avatar Oct 09 '23 13:10 yochem