* Configure all client laptops with passwordless ssh logins to the server (i.e. using certificates) and install git on them.
* Create a bare git repo on the server. I have a repo for each user.
* Have a ~/backup.sh script (better call it backup.command on macs) each of your client laptops that looks something like this (this one is for OSX):
Then create a cron job that runs this file as often as you want. It's actually pretty efficient, in my case runs in about 3 seconds if there are no significant changes.
My laptops run it every 20 minutes and my home directory (and music, photos and other stuff) is 100% identical on all computers I work on.
The server, in turn, can be configured to encrypt and push your stuff at night over to your slicehost account or something, when you're not using your connection and this the speed isn't much of an issue.
Or I'll take it as a challenge, and as soon as I've got some time I'll try to do something kind-of like your setup ;)