This is breaking change. And easy to screw up.
Notably because it's possible to run any of the bash, zsh, and PS on any of Mac, Windows, Linux. So the OS needs to be checked from both the sh and powershell sections rather than simply assuming powershell == Windows, bash == Linux and zsh == Mac.
[path]
TOOL1=$HOME/tool1
TOOL2=$HOME/tool2
[path.windows]
# TOOL1 will not be overwritten on windows systems but TOOL2 will be.
TOOL2=C:/tool2
This is breaking change. And easy to screw up.
Notably because it's possible to run any of the bash, zsh, and PS on any of Mac, Windows, Linux. So the OS needs to be checked from both the sh and powershell sections rather than simply assuming powershell == Windows, bash == Linux and zsh == Mac.