Pre-release Leopard set-up notesEdit
Background
Having to repeatedly install new Leopard seeds I wanted to record some set-up notes here to help guide me through the repetitive steps that I have to go through each time in order to get things configured the way I like.
There is nothing really specific to Leopard in these notes; I would basically have to go through the same steps in order to set up Tiger for basic development use.
These notes replace the shorter, older version in "Quickly setting up a machine for testing with a pre-release seed".
For notes on setting up the final release, see "Leopard set-up notes".
Rationale
Given the potential instability of prerelease OS seeds I don’t want to do any data migration or sharing. I basically want a clean install with just the minimum of configuration and set-up to get it into a workable state.
Pre-install
As the seeds become more reliable and usable I spend more time running them and inevitably invest more time making my working environment comfortable. In the lead-up to the final Leopard release I start making tar archives of my home directory prior to upgrading (and the "upgrades" are always clean installs because I want to keep the seed installs as pristine and reliable as possible). I can then use these archives to take some shortcuts when setting up after installation (for example, extracting my work
folder which already contains a bunch of Git repositories).
I use tar
like this to create the needed archive:
BACKUPDIR="/Volumes/volume_containing_previous_leopard_install/Users/wincent"
TARGETVOL="/Volumes/volume_on_which_to_store_the_backup"
sudo tar -cv -f "${TARGETVOL}/wincent-9a466.tbz2" --bzip2 -C "${BACKUPDIR}" .
# inspect contents of archive
bzcat "${BACKUPDIR}/wincent-9a466.tbz2" | tar -t
First boot
- Run software update immediately
- Install Xcode
- Lower privileges
I don’t like to run as an administrator for day-to-day use, principally to minimize the potential impact of security holes. So I create a new user account with administrator privileges and then drop those privileges from my principal account.
Preferences
There are some preferences which I just have to change to prevent madness:
- Keyboard
- Raise key repeat rate to maximum
- Mouse
- Enable secondary button
- Make scroll ball act as "Button 3"
- Turn off "squeeze" action
- Sound
- Turn off "Play user interface sound effects"
- Turn off "Play feedback when volume is changed"
- Turn off "Play Front Row sound effects"
- Turn down "Alert volume" close to minimum
Useful:
- Appearance
- Increase number of recent items
- Sharing
- Change computer name to something short, for example "leopard"
- Date & Time
- Make menu bar clock show seconds
Necessary in untrusted environments:
- Security:
- Turn on "Disable automatic login"
- Turn on "Require password to wake this computer from sleep or screen saver"
Miscellaneous:
- Desktop and Screen Saver
- Set up hot corners
- Start screen saver after 5 minutes of inactivity
- Exposé and Spaces
- Enable Spaces (four groups)
- Energy Saver:
- Set the computer to never go to sleep
- Safari:
- Set "New windows open with" to "Empty Page"
- Turn off 'Open "safe" files after downloading"
- Turn on AutoFill for "User names and passwords"
- Select "Show Status Bar" and "Show Tab Bar"
Developer tools
Terminal
- Add Terminal to Dock (and while you’re there remove all the crud that doesn’t need to be in there)
- Setup preferences:
- Black on light yellow (FFFFCC) color scheme
- Windows should be 132 columns by 54 rows
- Turn off "Set LANG environment variable on startup" (makes Perl tools complain loudly)
- Bind Option-Left and Option-Right to \033b and \033f respectively (word-based movement); in order to set these up you have to paste in those strings.
- Set up
sudo
:
Must add a line like this:
wincent ALL=(ALL) ALL
To the sudoers
file:
su admin_username
sudo visudo
exit
- Setup work directory and transfer useful files across from previous install:
# or, if you have a tar archive of the previous install
mkdir ~/tmp
cd ~/tmp
cp path_to_archive/archive.tbz2 .
tar xjvf archive.tbz2
mv trabajo ../
# and while we're here...
mv bin .MacOSX .ssh .bash_profile .gitaliases .gitconfig .gitignore .gitk .gnupg .init.ae .inputrc .subversion ../
cd ~/trabajo/vendor/aee/aee-2.2.15b
make clean
make
sudo make install
cd ../../ee/easyedit-1.4.6
make clean
make
sudo make install
cd ../../git/gnupg-1.4.7
make clean
./configure
make
make check
sudo make install
cd ../git-1.5.3.2
make clean
make prefix=/usr/local all
make prefix=/usr/local test
echo $?
sudo make prefix=/usr/local install
cd ..
sudo tar xjv -C /usr/local/man -f git-manpages-1.5.3.2.tar.bz2
cd ../wget/wget-1.10.1
make clean
./configure
make
make check
sudo make install
cd ../../ragel/ragel-5.24
./configure
make
cd test
./runtests
cd ..
sudo make install
cd ../../doxygen
hdiutil attach Doxygen-1.5.3.dmg
sudo ditto /Volumes/Doxygen /Applications/Doxygen
sudo mv /Applications/Doxygen/Doxygen.app /Applications/
sudo rm -r /Applications/Doxygen
hdiutil detach `hdiutil info | grep "/Volumes/Doxygen" | awk '{print $1}'`
- Log out and log in again for environment settings to take effect
Essential software
- Install SSHPassKey.app into
~/bin/
(if you didn’t already do it above)
- Launch while holding down the Option key so as to add in SSH identities to register at launch time
~/.ssh/id_dsa
~/.ssh/id_dsa_subversion
~/.ssh/id_dsa_git
- Set SSHPassKey.app to run at login time
See also
~/bin/
(if you didn’t already do it above)
- Launch while holding down the Option key so as to add in SSH identities to register at launch time
~/.ssh/id_dsa
~/.ssh/id_dsa_subversion
~/.ssh/id_dsa_git
- Set SSHPassKey.app to run at login time