Tower

Tower is the most powerful Git client for Mac (and Windows). It’s indispensible for using Git without the command line, which I do almost every day.

Configure command line environment

Git repositories may be configured with pre-commit or pre-push hooks. If hooks call command line utilities, then Tower’s shell needs to know where those binaries are located.

Create this file: ~/Library/Application Support/com.fournova.Tower3/environment.plist

Sample environment file

<?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>PATH</key>
        <string>/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin</string>
    </dict>
</plist>

My custom environment file

This isn’t required anymore. Yarn fixed its issue with `brew` installtion, so Homebrew-installed Yarn is found in the normal `/usr/local/bin` path.

I added yarn binaries to Tower’s shell PATH variable because Magento PWA Studio runs Yarn in a pre-push hook.

<?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>PATH</key>
        <string>/Users/brendan/.yarn/bin:/Users/brendan/.config/yarn/global/node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin</string>
    </dict>
</plist>

You can’t use $HOME in a path. Only use absolute paths. Equivalent for me: /Users/brendan.

Reference