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 every time 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.
BAD CHOICE.
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.
TODO
After a fresh install of Ubuntu I install the DE, I have been using Budgie and I love it.
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.
Install zsh, switch bash to zsh as my shell and install oh-my-zsh
I plop my .zshrc with few shortcut and theme I like in ~.
I am a javascript kind of guy, so I install nvm first.
I install hygen that I use to generate source code, and my templates.
I generate a new set of ssh keys, and add them to Github and on my raspberry pi (so I can ssh into it).
I generate the config for my raspberry pi to connect using identity_key.
I install: Discord, Brave, [Telegram(https://desktop.telegram.org/) and VSCode, which then I sync with my github profile to pull down my settings.
I install go.
I install: build-essential.
I install httpie.
I install docker (this is quite a boring process, to make it sudoers and so I can run without sudo). On Mac instead I use podman.
I install Spotify.
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.
I troubleshoot why Alt+Ctrl+Arrows keybind doesn't work following a question I have also asked in the past.
Create a ~/code folder, to keep all my coding stuff in there.
Install the latest tools I have been using/learning: atm Godot, rust (via rustup).
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.
I keep a little setup installer and info on this repo.
Top comments (4)
Out of curiosity: why do you use Docker on linux and Podman on Mac?
company constraints, if your laptop is a company one (I would never own my own mac, the os is garbage) and you install Docker desktop they have to pay a fortune
Ah. I use Docker on my work mac because we're under the paid threshold. Feel the same about the OS, btw - I used the mac as a docker host, and for its access to the office vpn and connect to it via ssh and a browser from my real computer.
the hardware is brilliant, the design slick and beautiful, the os is just dogshit