Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There are a lot of tools (chef, puppet, juju) out there to automate server deployments and set ups.

How can these be used for automating my laptop set up? I want to be able to do nothing but run a command and sit back while everything is installed and configured.

Also if there are any tools specific to laptops then please mention them too.

Please mention GUI or text based software.


-- EDIT -- An explanation to "I want to be able to do nothing but run a command and sit back while everything is installed and configured."

What I want is to be able to script out the Installation of all software on my PC with a minimum manual effort.

This script should also be compatible across installations (like 13.04 or 12.04).

If I want to run both versions of Ubuntu, then I should be able to install something(including adding additional PPAs) in one version(say 13.04), modify the auto installer and when I switch to the other version(say 12.04), I just run this auto installer and the software is installed, relevant PPAs added and the configuration files get picked up from my previous saved state. (The config files will depend on whether supported by the software, but it would be a great bonus)

Another use case would be an OS re install. Getting everything up and running with all the software that I regularly use would be a breeze.

share|improve this question
The question is not clear. Do you want tools to set up many laptops that have identical hardware, same user ID, same password, etc.? Or do you want to a tool that will read your mind and setup your laptop with your user ID, password etc.? What exactly do you want to be installed and configured by this tool you seek? – user68186 Jul 22 '13 at 19:38
Can you not just add the ubuntu-desktop package to one of those tools? – Tom Brossman Jul 23 '13 at 17:12
@user68186 - I want to be able to have all my software configured. If you have used chef or puppet, then the passwords need to be coded into the files that you will make for your set-up. Essentially my aim is that I switch out ubuntu 13.04 and install 12.04, all my software should get seamlessly installed post installation. – kapad Jul 23 '13 at 19:45
@TomBrossman - I don't want a way to install ubuntu-itself, but rather a way to install all my desktop software after the installation completes. – kapad Jul 23 '13 at 19:47
@kapad Thanks for the explanation. It will be great if you could edit your question with the additional explanation. That way, anyone trying to answer your question will understand it better and moderators will not close the question as unclear. Best of luck. – user68186 Jul 23 '13 at 20:20

You might want to look at the Juju 'local provider', which lets you create a mini-cloud in-memory and deploy things into it with Juju. It's useful for developers who want to mock up a cloud environment on the go, with many services connected to each other, so they can test their code inside a complex system of many moving parts.

share|improve this answer
Hey. Firstly, never thought you would get enough time to answer questions. Nice :). Currently I use a combination of vagrant and chef_solo. Looks like the juju local provider combines both of these. Thanks for the info. – kapad Jul 24 '13 at 21:11

Take a look at Ubuntu Customization Kit.

Ubuntu Customization Kit is a tool that helps you customizing official Ubuntu Live CDs (including Kubuntu/Xubuntu and Edubuntu) to your needs. You can add any package to the live system, for example language packs, or applications.


share|improve this answer
Customization kit looks great. Something like what I wanted. – kapad Jul 23 '13 at 19:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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