>> I realized I only need two types of systems in my life. One hosted >> server and bunch of identical laptops. My laptop, my wife's laptop, >> our HTPC, routers, and office workstations could all be on identical >> hardware, and what better choice than a laptop? Extremely >> space-efficient, portable, built-in UPS (battery), and no need to buy >> a separate monitor, keyboard, mouse, speakers, camera, etc. Some >> systems will use all of that stuff and some will use none, but it's >> OK, laptops are getting cheap, and keyboard/mouse/video comes in handy >> once in a while on any system. > > Laptops are a good choice, desktops are almost dead out there, and thin > clients nettops are just dead in the water for anything other than > appliances and media servers > >> What if my laptop is the master system and I install any application >> that any of the other laptops need on my laptop and push its entire >> install to all of the other laptops via rsync whenever it changes? >> The only things that would vary by laptop would be users and >> configuration. > > Could work, but don't push *your* laptop's config to all the other > laptops. they end up with your stuff which might not be what them to > have. Rather have a completely separate area where you store portage > configs, tree, packages and distfiles for laptops/clients and push from > there.
I actually do want them all to have my stuff and I want to have all their stuff. That way everything is in sync and I can manage all of them by just managing mine and pushing. How about pushing only portage configs and then letting each of them emerge unattended? I know unattended emerges are the kiss of death but if all of the identical laptops have the same portage config and I emerge everything successfully on my own laptop first, the unattended emerges should be fine. > I'd recommend if you have a decent-ish desktop lying around, you press > that into service as your master build host. yeah, it takes 10% longer > to build stuff, but so what? Do it overnight. Well, my goal is to minimize the number of different systems I maintain. Hopefully just one type of laptop and a server. >> Maybe puppet could help with that? It would almost be >> like my own distro. Some laptops would have stuff installed that they >> don't need but at least they aren't running Fedora! :) > > DO NOT PROVISION GENTOO SYSTEMS FROM PUPPET. OK, I'm thinking over how much variation there would be from laptop to laptop: 1. /etc/runlevels/default/* would vary of course. 2. /etc/conf.d/net would vary for the routers and my laptop which I sometimes use as a router. 3. /etc/hostapd/hostapd.conf under the same conditions as #2. 4. Users and /home would vary but the office workstations could all be identical in this regard. Am I missing anything? I can imagine everything else being totally identical. What could I use to manage these differences? > Rather keep your laptop as your laptop with it's own setup, and > everything else as that own setup. You only need one small difference > between what you want your laptop to have, and everything else to have, > to crash that entire model. I think it will work if I can find a way to manage the few differences above. Am I overlooking any potential issues? - Grant