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">

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.

Customizing Xcode

While searching for ways to add scripts to the scripts menu in
I ran across
Following the links led me to Apple’s documentation on scripting Xcode.
Here are links to a
local web page
for people with Mac OS X and the dev tools installed, and the
online version at Apple.

The short shrift is that you can use Perl and shell scripts to do things to the files in your project.
Personally, the first one I am writing is the equivalent of the ‘ww’ shell alias, which strips the ‘uchg’ flag from a file.
‘uchg’ makes a file non-writable, even if its Unix permissions are rw-rw-rw-.
It’s used by
to force you to “edit” files before modifying them
— a completely outmoded way of doing things, of course.