In a few hours I will get my new Thinkpad X201t and the first thing that I will do is install Ubuntu on it. In the last two months I switched machines quite a lot because I needed to work despite my previous machine which crashed (a Macbook Pro 4,1). I even did set up a work environment on a cloud-hosted VM to be able to connect to it from everywhere.

Now - trying to remove the manual set up of each box - I am looking for ways to configure a system in a scripted way which allows me to change the configuration and replicate it on another box when I need to. This includes tasks such as installing and configuring packages.

  • I already worked a little bit with chef but it's just too complex for single machines.
  • My dot files already live in a git repository

Hope there are some of you who already have a solution :)

  • 1
    Not programming...
    – leppie
    Jan 20 '11 at 12:29

I haven't used cfengine in a very long time, but you could take a quick look at cfengine3. I would say that the original cfengine is almost certainly too complex for your task, but the latest version claims it is simplified. Another possibility, again likely more than you need, is puppet.

For etc configuration files, for a start you could take a look at etckeeper.

You'll also need to keep any packages and ppa's in sync -- I know there are some options for this, but I'll leave it to other users to help with that one.

etckeeper , cfengine3 , and puppet are in the repos.

Of course*, you'll probably want to tie in some cloud storage to keep copies sync'd and tidy. Ubuntu One, Dropbox, Spideroak come to mind as free (for limited storage) solutions.

*(or perhaps not)

By the way, what are you using to manage your dot-files?

Update: I'd forgotten that stipple and/or OneConf would be the ideal way to do (much of) this. When they are complete.

  • Oh man, thanks for the hint to stipple and OneConf. Nice to see that some people are working on this. I would have thought that I have to go the puppet/chef/cfengine way. It's a plus that Stipple uses CouchDB as I am working more and more with that. My dotfiles are currently checked into a git repository which is fine. There is a setup script which links some files to the home directory (.bash_profile, .vimrc, ...) to get everything started.
    – balu
    Jan 23 '11 at 22:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.