I have a small virtual linux server (500 megs ram). I may eventually get one or two more servers, not more.
I'm a dev, not a sys admin so I don't know the best practices involving linux administration. I do know that I don't want to setup a machine, issue a bunch of commands to set up users, install packages, change environment variables, only to lose all of it if my machine crashes.
I'd rather keep all this information in a source repository, along with my code.
Obvious solutions are puppet or chef, but I don't run a cluster of machines. I want a declarative way of setting up users, installing packages, etc. but don't want to setup ssl certificates, master servers, etc. (frankly, I can't, my machines are very cheap and have very little memory).
Is there a better solution for stand-along machines? I want to be able to use this solution quickly to re-create my machine (on amazon, linode, rackspace or my down desktop).