razzi.abuissa.net

Razzi's guide to ubuntu

Ubuntu is a good desktop operating system. Perhaps someday I’ll use Debian everywhere, but as of now, it’s still providing some value in terms of the install base troubleshooting issues with aging hardware like the 2015 Macbook Pro I’m writing this from.

So here’s my guide to ubuntu.

preparing to install ubuntu

Once you’ve picked a version of ubuntu, you download the operating system image (ISO) from ubuntu.com.

For this machine, I picked the last LTS, 24.04: https://ubuntu.com/download/desktop

Once it downloaded, I installed Balena Etcher and plugged in an 8GB USB stick.

I selected the .iso and the usb stick, and Balena wrote the image to the USB stick.

installing ubuntu

I plugged the USB stick in the target computer, and for this 2015 Macbook Pro, I held the option key to get to the boot menu. Then I selected the usb stick and it booted to Try Ubuntu desktop.

From there, I told the install to wipe the hard drive and install ubuntu. I plugged in my phone for internet, as the wifi didn’t work until I told it to use proprietary drivers.

After the install finished, it directed me to remove the USB stuck and reboot, which I did, leaving me with a functioning ubuntu system!

setting up ubuntu

Once I boot into normal ubuntu, I start up the terminal with ctrl+alt+t and start configuring.

First I enable passwordless sudo to save myself some typing:

$ sudo visudo
%sudo   ALL=(ALL:ALL) NOPASSWD: ALL

Then I install some essential packages. Perhaps someday I’ll have a script for this part.

$ sudo apt install git fish

setting up fish

Once fish is installed, I make it my default shell like so:

$ sudo chsh -s `which fish` `whoami`

Unfortunately you have to log out for this change to do anything for some reason.

$ gnome-session-quit

Now it’s time to get my dotfiles:

$ git clone https://git.sr.ht:~razzi/.dotfiles ~/.dotfiles

You’re of course welcome to use my dotfiles, however rather than copying everything, I recommend just taking the parts you need. Everything’s in the public domain so you can use the code however you’d like.

But as this guide’s primarily for myself, I’ll continue using my dotfiles wholesale.

$ rm -r ~/.config/fish
$ git clone https://git.sr.ht/~razzi/fish-functions ~/.config/fish
$ symlink ~/.dotfiles/fish_conf.d ~/.config/fish/conf.d

At this point, my fish shell is configured, and I apply the config like so:

$ exec fish

bootstrapping authentication

For a new computer I need an ssh key:

$ ssh-keygen

I use pass for password management. Here is my guide to that: /guides/pass

However in order to clone my password repository, I have to log in to a site which itself requires a password.

To solve this chicken-and-egg problem I download Signal, authenticate from my phone, and send myself my sourcehut password. A bit clunky but it works.

sudo snap install signal-desktop

To finish setting up hut, take a look at my guide.

Once hut is all set, I can set up pass.

fin

There’s more, but I’ll leave the guide here for now. Most of it is linked from my dotfiles, like keyd and tmux.

Vim lives on its own here: https://git.sr.ht/~razzi/.vim

see also