Skip to content

🐞 Pass LaunchAgents environment variable to shell #1442

@yochem

Description

@yochem

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds refinementThis issue is not complete and has to be refined by the maintainersotherterminal

    Type

    No type

    Projects

    Status

    πŸ†• New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions