Metaweb Machine Setup Steps

23:45 Tue 15 May 2007. Updated: 10:10 18 May 2007
[, , , , ]

Starting at Metaweb, I had to set up a new machine, something I haven’t done in a while. One thing that made it a lot easier this time is that I have a lot of my config in my Subversion repository, which saved me quite a lot of time. This also reflects some changes I’ve made since writing Essential Windows Software last year. (Oh, and all the software is Free Software.)

The very first thing I did was to add a password to the Administrator account, which I was logged into by default. At this point I considered creating a new user (tadhg) instead of Administrator, but decided against it. It’s possible I’ll regret this later, in case I have to do any LAN access where some service expects me to have matching local and LAN usernames.

Now that I’ve moved to keeping more or less everything in subversion, there are three directories to set up that matter. The first isn’t in Subversion, it’s just where I keep all my applications: c:\usr. The second is the local sandbox of my personal repositories: c:\lsvn. The third is my work sandbox, c:\wsvn for now (this might require some tweaking, depending on the build system here, etc.).

This setup doesn’t have a space for “random” stuff, such as audio, video, temporary files, or a non-version-controlled workspace. If I need them, I’ll probably create c:\home\tadhg for that purpose.

After that, these are the steps I follow to make a Windows machine into something I can use.

1. Install Firefox

  • Go to http://getfirefox.com/.
  • Download Firefox 2.
  • Close Internet Explorer.
  • Run installer.
    • Do a custom installation.
    • Check DOM Inspector and Feedback Agent.
    • Install in c:\usr\net\browser\firefox2.
    • Create no icons.
  • Run Firefox 2.
    • Do not import anything.
    • Set to default browser, uncheck “always check”.
  • Get Extensions.
  • Restart Firefox 2.
    • Configure Foxmarks.
    • Tell HTMLValidator to use the W3C SGML Parser.
    • Configure Tab Mix Plus.
  • Go to http://getfirefox.com/.
  • Download Firefox 1.5.
  • Run installer.
    • Do a custom installation.
    • Check Developer Tools.
    • Install in c:\usr\net\browser\firefox15.
    • Create no icons.
  • Make modifications necessary to run Firefox 1.5 alongside Firefox 2.
    • Rename firefox.exe to firefox1.5.
    • Create the following batch file:
      set MOZ_NO_REMOTE=1
      start "Firefox" "C:\usr\net\browser\firefox15\firefox1.5.exe" -P "Firefox1.5"
      set MOZ_NO_REMOTE=0
  • Run Firefox 1.5 via that batch file.
    • Do not import anything.
    • Do not set to default browser, uncheck “always check”.
  • Get Extensions—same list as for Firefox 2, above
  • Restart Firefox 1.5.
    • Configure Foxmarks.
    • Tell HTMLValidator to use the Tidy Parser.
    • Configure Tab Mix Plus.
  • (After Subversion setup, to point to my bookmarks, I will add this to prefs.js: user_pref("browser.bookmarks.file", "c:\\lsvn\config\\firefox\\bookmarks.html");.)
  • (Also after Subversion setup, one of my priorities is to make sure my core TiddlyWiki file is available and working.)

2. Adjust Windows/Explorer settings

  • Select the View menu, then Details.
  • Select the Tools menu, then Folder Options.
  • In the General tab, select Use Windows Classic Folders.
  • In the View tab:
    • Check Display the contents of system folders.
    • Check Show hidden files and folders.
    • Uncheck Hide extensions for known file types.
    • Check Show Control Panel in My Computer.
    • Click Apply.
    • Click Apply to All Folders.
  • From the Display item in the Control Panel, select the Appearance tab and change to the Windows Classic theme.
  • From the Regional and Language Settings item in the Control Panel, select the Regional Options tab and click Customize. From there, select the Time tab and change Time format to HH:mm:ss. Select the Date tab and change Short date format to dd/MM/yyyy and Long date format to dddd dd MMMM yyyy.

3. Install PuTTy

  • Go to http://www.chiark.greenend.org.uk/~sgtatham/putty/.
  • Grab all the utils except puttytel.
  • Install to C:\usr\net\terminal\putty.
  • Run puttygen.exe, generate SSH2-DSA key pair.
  • Save private key on desktop (move later).
  • ssh to my subversion server.
  • Put public key in .ssh/authorized_keys on subversion server.
  • Run pageant.exe.
  • Add key from previous step.
  • Test another login to subversion server using PuTTy.
  • Add saved sessions to PuTTy for my servers.

4. Set Up Subversion

  • Go to http://tortoisesvn.tigris.org/ to get TortoiseSVN.
  • Install to c:\usr\versioning\tortoisesvn\.
  • Ignore Explorer crashing.
  • Ignore restart request.
  • In c:\lsvn, do SVN checkout with TortoiseSVN (right-click, it’s integrated with Explorer at this point):
    • URL of repository: svn+ssh://username@domain.tld/path/to/subversion.
    • If username is the same as the username with the public key file in the .ssh/authorized_keys file from the PuTTy installation steps, TortoiseSVN will pick this up and work seamlessly (since pageant.exe is already running with this user).
    • Check out config repository.
  • Go to http://subversion.tigris.org/project_packages.html to get command-line svn.
  • Install to c:\usr\versioning\subversion.
  • Create no icons.

5. Install AutoHotkey

  • Go to http://autohotkey.com/.
  • Install to c:\usr\util\autohotkey.
  • Run AutoHotkey. In the startup script, add:;Work Wrapper
    #Include C:\lsvn\config\autohotkey\work\mw1\wrapper.ahk
    ;/Work Wrapper
  • Create c:\lsvn\config\autohotkey\work\mw1\wrapper.ahk directory and file, and work_shortcuts.ahk in the same directory.
  • In that file, put this line:;Work Shortcuts
    #Include C:\lsvn\config\autohotkey\work\mw1\work_shortcuts.ahk
    ;/Work Shortcuts
  • Create that file, using shortcuts from home as starting point.
  • Add shortcut to AutoHotkey to Windows Startup programs (c:\Documents and Settings\username\Start Menu\Programs\Startup).

6. Install jEdit

  • Go to http://java.sun.com/j2se/1.4.2/download.html to get JDK.
  • During install, change c:\j2sdk1.4.2_14\ to c:\usr\lang\java\j2sdk1.4.2_14\.
  • Go to http://jedit.org/ to get jEdit.
  • Download jEdit 4.2.
  • Install to c:\usr\text\jedit.
  • Install everything.
  • Create no icons.
  • Don’t launch jEdit.
  • Launch jEdit using Winkey+J to load settings from version-controlled config dir checked out in step 4. (This runs the following:
    javaw -jar "c:\usr\text\jedit\jedit.jar" "-settings=c:\lsvn\config\jedit\version4.2"

7. Install command-line ssh

8. Install Thunderbird

  • Go to http://www.mozilla.com/en-US/thunderbird/ to get Thunderbird.
  • Install in c:\usr\net\mail\thunderbird\thunderbird.exe.
  • Create no icons
  • Add email address with email server for imap server.
  • Add outgoing server via ssh—see http://tadhg.com/wp/2006/08/16/email-via-ssh-tunnel/.
  • Add work email account.
  • Correct spelling of name with work IT department.
  • Attach personal sig to personal account—c:\lsvn\config\thunderbird\sig.txt.
  • Attach work sig to work account—c:\lsvn\config\thunderbird\worksig.txt.
  • Install thunderbird feeds—c:\lsvn\config\feeds\thunderbird_feeds.opml.

9. Install GAIM/Pidgin (IM client)

10. Install OpenOffice

  • Go to http://www.openoffice.org/ to get OpenOffice.
  • Install to c:\usr\office\openoffice2.
  • Install no icons.
  • Associate with all Microsoft Office file extensions.

10. Install Windows Filesystem Linking

  • Check to see if linkd.exe is already available on the system.
  • If not, get junction.exe and put it in c:\windows\system32.

Filesystem linking is unbelievably useful, especially if you want to store application config in subversion but the applications you’re using have hardcoded application directories.

11. Install WinSCP

12. Install Cygwin

  • Go to http://www.cygwin.com/ to get Cygwin.
  • Install to c:\usr\os\cygwin\.
  • Install everything.
  • Install no icons.
  • Because I installed OpenSSH in step 7, I have to move c:\usr\net\ssh\bin to c:\usr\net\sshbin.
  • For the same reason, I have to use junction.exe or linkd.exe to point c:\usr\net\ssh\bin at c:\usr\os\cygwin\bin.
  • If you hate the standard Cygwin console as I do, you could install puttycyg to c:\usr\net\terminal\puttycyg.

13. Install Songbird

14. Install 7-Zip

  • I haven’t done this yet, but will visit http://www.7-zip.org/ for it.
  • I’ll put it in c:\usr\compression\7zip.

15. Install VLC

  • Go to http://www.videolan.org/vlc/ to get VLC
  • Check the Mozilla plugin, File type associations, Context Menus boxes, and possibly the ActiveX plugin checkbox.
  • Install to c:\usr\mm\vlc.

That’s it. There are more applications and plugins out there, of course, but those are the necessities for me for a work machine. Keeping my configuration (especially for jEdit) in Subversion has made this process far easier, and I hope to increase the amount of configuration information I’m storing that way. Again, junction.exe or linkd.exe make doing so a lot easier (it is possible to get Subversion to version-control files anywhere in the directory tree, but I much prefer having the files in a separate place, as doing otherwise requires another script to cover the disparate locations that will require checking in and updating.)

Leave a Reply