Fedora – Same customized installation on multiple computers

configurationfedoragnomesystem-installation

I want to run a distro of my choice on my desktop, my laptop, and my work desktop. I'm about to switch from Ubuntu to Fedora, and I'm posting this thread is because I would like some advice on how to make this kind of labor a bit easier.

Installing all the stuff I need / customizing GNOME (or possibly Cinnamon) the way I like it gets tedious when I have to do it on three separate machines. I'm looking for ways to make this simpler; a way to set it up once, and replicate across all machines. What's the best approach?

I also want to avoid having to implement a change (eg. new hotkey) across three different computers. I read a neat trick somewhere about using Git on ~/, instructing it to ignore all files except the ones I want to easily update by fetching and resetting from github. does anyone have an alternative strategy that might be better?

Best Answer

So there are actually a couple of things you need to worry about:

1) Installing same software on all machines. This is fairly easy to do either by cloning via clonezilla or just getting a list of installed packages and having the package manager install a matching set on the other machines. Package names that are architecture dependent may cause issues if you are using different CPU architectures.

2) Any system level configurations that you've changed, created, etc. Apache host configuration, etc. For me, I use the joe editor and it creates an auto backup file named filename~ when I edit filename. So I simply find all files ending in ~, remove the tilde, and make an archive, then extract on the other machine. Works fine, as long as you've got step 1 squared away.

3) Your home directory and whatever customization you make there. Desktop wall paper, auto launch apps, menu items, desktop icons, etc.

The good news is that there are multiple ways of dealing with this. There are configuration management tools, and creative ways of using other tools like git to check in/check out your configuration files, etc. Or you could do it yourself with a script or two.

Related Question