CodeEditApp / CodeEdit

CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever.
https://codeedit.app
MIT License
21.02k stars 1.01k forks source link

🐞 Pass LaunchAgents environment variable to shell #1442

Open yochem opened 12 months ago

yochem commented 12 months ago

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

  3. 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 commented 12 months ago

This would also help with finding the git configuration at $XDG_CONFIG_HOME/git/config instead of ~/.gitconfig.