This little guide is my reference when I am setting up a new machine with GNU/Linux.
- install linux
- update everything
- bootstrap-linux.sh
- settings setup
- gnome-extensions
- little fixes
- web browser logins
- ssh and gpg setup
- terminal setup
- neovim
- 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.sh 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.sh- 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
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 top down: shift + alt + right
# corner tiling top left: shift + alt + down
# corner tiling top up: 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.
# install rust and cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# install bob-nvim
cargo install bob-nvim
bob install stable
bob use stable
# install lazygit
# install fzf
# install ripgrep
# install fd
# install lazyvim
# quick lazyvim setup without changing your current Neovim config
export NVIM_APPNAME=lazyvim
git clone https://github.com/LazyVim/starter ~/.config/lazyvim
rm -rf ~/.config/lazyvim/.git
nvim
# an alias is available for launching it quickly with `lvim`
# check that the installation is fine
:LazyHealth
# update lazyvim
# to update lazyvim, you simply need to update all the plugins installed
# to check the current lazyvim version:
# :Lazy
# L # go to logs
# /LazyVim<Enter> # search for LazyVim
# check the version number and the commit details of the main pluginThese extra packages must be installed manually.
- 1password
- chrome
- docker
- dua-cli
- eza
- jetbrains-mono (nerd font version)
- lazydocker
- lazygit
- nvm
- 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.