I try not to go to far in customising my environment, simply because it leaves me with a more portable set of skills. If I have everything I usually do aliased, and I switch to a different machine, how do I remember which commands are aliases and which are native? This applies to Zscoundrel's comments too, if I tell someone the steps to do something, I can be reasonably sure they'll work as specified on a Mandrake or RedHat installation (which I will usually specify). The friend who owns the OS-X box mentioned is of this mindset too - there was a fantastic environment file going around the UMKC VMS a few years ago, but when one of the less user-friendly admins started making changes to everybody's account it went away, and we had to learn how to do things in "real VMS" all over again.