Hasty Briefsbeta

双语

Handling environment variables in Emacs on OS X and Linux

5 hours ago
  • 本文讨论了如何在 OSX 和 Linux 上的 Emacs 中处理环境变量,特别是当 Emacs 从 Finder 或 Dock 启动而非从 shell 启动时。
  • 作者避免使用 `exec-path-from-shell` 包,因为启动速度慢且倾向于避免子进程调用,而是采用了类似 Doom Emacs 的方法。
  • 在 `early-init.el` 中添加代码,从用户 Emacs 目录下的生成文件 (`env`) 中加载环境变量,解析每一行以设置环境变量。
  • 创建了一个名为 `emacs-refresh-env` 的脚本,通过运行 `zsh -ic env` 生成 `env` 文件,过滤掉不需要的变量(例如 shell 记账、Tmux/Alacritty 噪音),并对输出进行排序。
  • 权衡之处在于,环境变量发生任何更改后都必须重新生成 `env` 文件,因此该脚本被集成到 `update-all` 脚本中,定期运行。