This little guide is my reference when I am setting up a new machine with GNU/Linux.
- install linux
- update everything
- bootstrap-linux
- settings setup
- little fixes
- web browser logins
- ssh and gpg setup
- terminal setup
- extra packages
- dotfiles
Download and install the latest Ubuntu LTS. Set your username, hostname, password and so on.
Update the OS to the latest patch available.
Launch the bootstrap-linux script, it will automatically install lots of useful packages.
Otherwise, manually select which one you'd like to install (just delete or comment the unwanted lines).
./local/bin/bootstrap-linux- Set system settings.
- Set file manager settings.
- Restore data from backup (optional).
- Setup dock (minimal).
- Install language support.
- Set hostname.
Install the needed Gnome Extensions from the website or using gnome-extensions-app (Caffeine at least always).
- Caffeine
- TopHat
- Tactile
- Tiling Shell
- Just Perfection
- Space Bar
- Tray Icons: Reloaded
- Alphabetical App Grid
- Simple Timer
- Lilypad
mkdir -p ~/.local/bin
# set the following keyboard shortcuts from Settings:
# play/pause: ctrl + alt + p
# switch to workspace on the left: shift + alt + h
# switch to workspace on the right: shift + alt + l
# set the following keyboard shortcuts from Ubuntu Tiling Assistant:
# move window to center: shift + alt + c
# corner tiling top right: shift + alt + up
# corner tiling bottom right: shift + alt + right
# corner tiling bottom left: shift + alt + down
# corner tiling top left: shift + alt + leftOpen up your browser and start logging inside your main websites.
Set up your ssh and gpg keys correctly and test them.
Install Ghostty.
Install Kitty.
Install Alacritty.
# create a symbolic link (it will only work for the current user though)
# for ghostty it's automatically done by the installation script
sudo ln -s ~/.local/kitty.app/bin/kitty /usr/local/bin/kitty
sudo ln -s ~/.cargo/bin/alacritty /usr/local/bin/alacrittyFrom now on, from Gnome, with alt + f2 you can run ghostty, kitty or alacritty, butt Ghostty is also automatically binded to ctrl + alt + t as terminal emulator.
These extra packages must be installed manually.
- 1password
- bat
- chrome
- delta
- docker
- dua-cli
- eza
- herdr
- jetbrains-mono (nerd font version)
- lazydocker
- lazygit
- lazyvim
- nvm
- openspec
- opencode
- posting
- yt-dlp
- zellij
Add the dotfiles to your system (beware that there are a few ones only for macOS). This includes mainly includes .config/* and .local/bin/*, plus a few other files.