Personal TODO list on how I set up my dev machine

Personal TODO list on how I set up my dev machine

(every time I fuck it up and need to format and reinstall everything)

I am a Linux fanboy, I have been using Linux (and especially Debian-based distros) since 2007 more or less. In 2007, I started using Ubuntu Gutsy Gibbon and when I wanted to upgrade to Ubuntu Intrepid Ibex I did it from the package manager, and disaster occurred.

My machine wouldn't boot up.

Since then everytime there is a need of upgrading the system I have always installed it anew (keeping the /home partition from the old system) using the USB/cd live cd.

Fast-forward to a few days ago. I've been using Ubuntu 20.04 since 2020, and my package manager went "Yo biatch Ubuntu 22.04 is out, get on it" and even though I had that bad experience in 2008, I thought it was maybe time now to give it a try and upgrade distro while on a distro.


It all seemed like it was working but the day after, the PC was stuck on a boot loop, so I knew I had to reinstall stuff.

Luckily I am not that much of a paranoid freak, so I do not encrypt my hard disk, I managed to salvage the only 100kb of config files I needed by mounting the had on a live USB stick and put moving those files to a pen drive.

Yet I had to install stuff back to get them all as I wanted them to be, so I decided to write a small post on how I get my machine set up.


  1. After a fresh install of Ubuntu I install the DE, I have been using Budgie and I love it.

  2. Install Terminator as a terminal emulator, and I set up the keybinds to be the same as iTerm on mac so it is easier to remember when I use my work MacBook.

  3. Install zsh, switch bash to zsh as my shell and install oh-my-zsh

  4. I plop my .zshrc with few shortcut and theme I like in ~.

  5. I am a javascript kind of guy, so I install nvm first.

  6. I install hygen that I use to generate source code, and my templates.

  7. I generate a new set of ssh keys, and add them to Github and on my raspberry pi (so I can ssh into it).

  8. I generate the config for my raspberry pi to connect using identity_key.

  9. I install: Discord, Chrome, Telegram and VSCode.

  10. I install: build-essential and rust.

  11. I install httpie.

  12. I install docker (this is quite a boring process, to make it sudoers and so I can run without sudo).

  13. I install Spotify.

  14. I set up my keybinds on Budgie: I use Super+Shift+Q to close windows, Super+Enter to Open a terminal, and a few other ones that I've been stuck with me since my early fluxbox days.

  15. I troubleshoot why Alt+Ctrl+Arrows keybind doesn't work following a question I have also asked in the past.

  16. Create a ~/code folder, to keep all my crap in there.

  17. Install the latest tools I have been using/learning: atm Godot and dotnet6.

  18. I lose interest and never want to touch this PC ever again.

And that is it. I hope this list would be helpful to someone, it will definitely be helpful to me if in a few years I forgot again NOT to upgrade the distro.