4 ms·
I thought several times about having an automated environment setup for my personal laptop, but I usually come to the conclusion that the time it would take me
by nmat 10y ago
I thought several times about having an automated environment setup for my personal laptop, but I usually come to the conclusion that the time it would take me to maintain these scripts would probably exceed the time I spend doing the setup every 3-4 years (xkcd https://xkcd.com/1319/ https://xkcd.com/1319/).
I usually now just install things as I need them and I feel that it is a smooth process. Installing software and managing packages has become much easier in recent years.
- matt_wulfeck 10y agoMe too. I've settled on just storing my dotfiles in dropbox as good enough. Just upgraded to a MBP and it was no issue.
- astrosi 10y agoIf you can have a good estimate of the time it would take to do it then this xkcd is better source! https://xkcd.com/1205/ https://xkcd.com/1205/
- stinos 10y agoI thought the exact same thing and recently put it to the test, and my estimate now is that in my case in about 15 years the time spent on creating the automation will likely have been payed off: 2 machines every 5 years, let's say 2 days to get them manually installed/configured completely vs about 6 days spent on the automation now. At least, if my stack or aplication preferences etc doesn't change too much. As a bonus: I learned some new stuff while doing it. So in the end for me it was worth it because of that learning and because I really dislike repeatedly installing stuff, waiting for installers to complete, customizing, ... But let's see again after a couple of iterations if I still think that way (e.g. if it turns out the automation scripts require too much caretaking, as per xkcd).
- bartvk 10y agoIt's not just about whether the initial investment in time is worth it. It's also that your time-to-reinstall is predictable and short. Once you've got a script, then it'll just be a minor annoyance if you have to reinstall at an inconvenient time. Personally, I've got a combination of a script, plus a set of notes. I haven't automated everything, just the easy parts. But then again for a REAL quick installation, I've restored from Time Machine as well.
- StavrosK 10y agoBy far the biggest benefit is the easy synchronization between machines. The fact that I can wipe my machine and reinstall in half an hour is just a nice side effect. https://www.stavros.io/posts/provisioning-your-computer-one-command-awesome/ https://www.stavros.io/posts/provisioning-your-computer-one-...
- jlgaddis 10y agoI've got a new workstation that's currently running Ubuntu 16.04 LTS but will soon be replaced with Arch Linux. This is my primary "work" machine so I want it to be back "fully-operational" as quickly as possible. I performed an installation of Arch Linux on a ThinkPad W530, carefully documenting every little thing I did (lots of minor "tweaks" to get ZFS just the way I want it, my Yubikeys working with LUKS at boot, etc.). Once that was up and running, I started writing Ansible roles to configure the system exactly to my liking. It was very time consuming at first, as I made sure to do every little thing "the right way" and so on. Eventually I started taking shortcuts in the interest of time, as I can always go back later and clean things up. Once I get everything I need taken care of by Ansible, I'll reinstall the laptop and let Ansible loose as one last "verification", then I'll do the same thing for my workstation. I should end up with two almost identical machines that are configured exactly how I want them. Changes I make later can be "replicated" to the other host simply by updating my repo and re-running my playbooks. I'm going to try my best to avoid any ad-hoc changes but we'll see how that goes... I work from home 95% of the time and the laptop is mostly for when SHTF and I have to grab it and go (network engineer for an ISP, so that usually means "something bad has happened"). I'm confident that I won't end up out in the field somewhere without access to certain files I need or documentation or whatever and the environments being almost identical means I won't have to deal with those annoying little inconsistencies between machines at the worst possible time. It's time-consuming, for sure, but I think the end result will be worth it.