$HOME synchronization puzzle (no solution yet)

I am entering a new era of computing.

Until recently, I had two primary computers – at home and at work.  Each one was for it’s own tasks.  If I needed to access one or the other – I always could do so directly, from one to another.  But that time is over.

Now I have more computers – NOC workstation at the office, my personal notebook, and a few more are coming.  They are also connected in a more complicated ways – not all of them are accessible directly from all other.  Working remotely passing through intermediate nodes is possible, but is not much fun.

One of the main annoyances is the difference of the command line environment.  Some computers are fine tuned to completely satisfy my needs.  Others have only a subset of settings.  Yet others – are untouched in this regard.

My environment should not be a full copy of the same thing across all machines, but rather a set of settings, which can be combined differently depending on a number of factors, like hostnames, usernames, software versions, etc.

I used to copy relevant parts of my configurations manually from one machine to another.  Then I wrote a simple script to do so.  Then the  script got more complex and messy.  It is time to change it.

After some surfing around I’ve decided to create a Subversion repository to store my home directories, or at least those parts that I need across a few machines. It seems like the most clean solution.

There are a few success stories on the Web that describe solutions for different scenarios.  They are all pretty close, but not exactly what I need.  It seems that I’ll have to work out a solution of my own.  Currently I am considering two possible ways.  Both of them, as usual, have their pros and cons.  None of them is yet perfect though.

If you have any experience with this or have any thoughts on this, please let me know.  URLs are especially appreciated.  I’ll keep you updated on my progress too.

Leave a Comment