Environment Variables in MacOS X

Want to set CVS_RSH to ssh when you log in to Mac OS X? Want it available for GUI apps that may not care about .cshrc, .profile or the rest?


mkdir ~/.MacOSX
defaults write ~/.MacOSX/environment CVS_RSH ssh

This will create the file ~/.MacOSX/environment.plist, which will (now) contain this:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CVS_RSH</key>
    <string>ssh</string>
</dict>
</plist>

I have to admit i am posting this mostly because I keep forgetting the name of the file in ~/.MacOSX and the fact that it’s a plist. The defaults command makes it really easy to modify this file, too.