The Difficulty of Setting Up a New Installation

Being a developer, one thing that I need to do more than the average user (I hope) is to re-install the operating system. As a new major operating system version gets close to release (e.g Tiger, which is supposedly due any time between two weeks and three months from now), I find myself installing the new builds every week or two. And let me tell you: it's really tedious.

Over the years, I've built up a document that I refer to (and modify as needed) every time I do an installation. It takes about a half an hour after I get the operating system installed to where I can actually get back to work!

The main reason that this is so tedious is that there are so many applications and extensions that I use that are (by default at least) installed on top of the operating system, as opposed to in my account. And that a lot of tweaks require editing the system files, which of course get rewritten when I do a fresh installation.

Another thing which makes this tedious is that so many items need to be installed from the user interface, as opposed to from the command line. And even if they could be installed from the command line, it would take a lot of work to figure out how to "convert" those operations — which are easy to do with the mouse — to a script.

Here is my current "to do each installation" list, edited a bit for brevity and clarity, plus lots of commentary.

Well, there are a few more steps that I need to go through once I'm logged into my main account, but you get the idea. The point is that I'm sure a lot of this could be avoided by allowing many packages and configurations to be installed in a location that isn't clobbered when you install a new operating system. Having an easy way to collect up all the changes that were applied so that they can be re-applied later using a script would be nice, too. Of course, I don't want to spend days and days working on techniques to save me half an hour every few weeks. But if Apple could come up with a way to streamline system setup process, I'm sure we'd all benefit!

If any readers have their own techniques for making a new installation a streamlined process, I'd love to hear about them in the comments.