Provisioning a Fresh Ubuntu Installation with Bash

Ubuntu desktop

Last year I started keeping track of the packages I was installing, anticipating a time where I would need to start afresh with a clean Ubuntu installation. I have a running list of installation commands in a bash file which I can run all at once, without having to think about it. This worked marvelously during my OpenCV fiasco last week, allowing me to get everything back the way I liked it with minimal effort on my part.

Here’s the repository, in case you’re interested. I target Ubuntu 20.04 LTS, since that’s what I’m using for the forseeable future, but you can adapt to suit your distro. MATLAB still requires manual installation, and I have to manually enable my GNOME extensions to make the desktop more space-efficient (I use Dash to Panel, and have my settings backed up in a config file on the repo). In the future I also want to be able to automatically set my custom keyboard shortcuts and configure my IDEs and code editors. But all in all, I’ve found it to be a pretty good solution for me. I can get a new system looking and behaving just the way I want it to, with all my desired programs ready to go, with just a few clicks and some waiting around.