I have been using this framework for two months and have identified an issue related to the Homebrew plugin's cache mechanism that may confuse users.
The Homebrew shellenv function, when used with caching, appears to reset the configured PATH environment variable. This can cause issues if the PATH is modified by other system-level configurations before the Homebrew plugin is processed. When the cache is present, the PATH seems to revert to the state captured in the cache, ignoring subsequent system-level modifications.
I have encountered this issue twice:
- The first time occurred when I initially switched to this framework and was simultaneously configuring Nix. The Nix installer injects its
PATH into a system-level file (specifically, /etc/zshrc), which is processed before the Homebrew plugin. This follows standard system settings and should ideally work out of the box. However, due to the cache, the Nix PATH was not included in my final PATH. As someone new to both the framework and Nix, this was very confusing, and it took me some time to understand why the Nix tools were not available in my path.
- The second time happened recently while configuring my LaTeX environment. This involved installing a
PATH entry under /etc/paths.d, which is loaded via /usr/libexec/path_helper by /etc/zprofile. Again, this is an automatic system-level configuration that should just work. However, I couldn't quickly access my LaTeX tools and eventually realized it was the same caching issue preventing the system-configured PATH from being included.
This behavior is likely to confuse other users, especially those who rely on installers to automatically configure system-level PATHmodifications. I wanted to report this to highlight the potential user confusion caused by the Homebrew cache interfering with expected system behavior. I am also wondering if there is a recommended or better method for handling such PATH configurations within the framework to avoid this conflict.
I have been using this framework for two months and have identified an issue related to the Homebrew plugin's cache mechanism that may confuse users.
The Homebrew
shellenvfunction, when used with caching, appears to reset the configuredPATHenvironment variable. This can cause issues if thePATHis modified by other system-level configurations before the Homebrew plugin is processed. When the cache is present, thePATHseems to revert to the state captured in the cache, ignoring subsequent system-level modifications.I have encountered this issue twice:
PATHinto a system-level file (specifically,/etc/zshrc), which is processed before the Homebrew plugin. This follows standard system settings and should ideally work out of the box. However, due to the cache, the NixPATHwas not included in my finalPATH. As someone new to both the framework and Nix, this was very confusing, and it took me some time to understand why the Nix tools were not available in my path.PATHentry under/etc/paths.d, which is loaded via/usr/libexec/path_helperby/etc/zprofile. Again, this is an automatic system-level configuration that should just work. However, I couldn't quickly access my LaTeX tools and eventually realized it was the same caching issue preventing the system-configured PATH from being included.This behavior is likely to confuse other users, especially those who rely on installers to automatically configure system-level
PATHmodifications. I wanted to report this to highlight the potential user confusion caused by the Homebrew cache interfering with expected system behavior. I am also wondering if there is a recommended or better method for handling suchPATHconfigurations within the framework to avoid this conflict.