Linux Onboarding Guide
This document provides step-by-step instructions for setting up a Linux workstation with essential developer tools and customizations, tailored for both Debian-based and Fedora-based systems.
System Update
Always start with a full system update.
sudo apt update && sudo apt upgrade -y
sudo dnf update -y
Prerequisites
sudo apt install vim
sudo dnf install vim
Install Homebrew (Linuxbrew)
Homebrew is a popular package manager. It's optional but very useful.
Install dependencies:
build-essential– Installs compilers and tools for building software (likegcc,make).procps– Provides system utilities likeps,top,kill, etc.curl– Transfers data from or to a server using URL syntax (HTTP,FTP, etc).file– Detects file types based on content, not extension.git– Distributed version control system for tracking code changes.
sudo apt install build-essential procps curl file git -y
This currently does not work, looking into it.
sudo dnf groupinstall "Development Tools" -y && sudo dnf install procps-ng curl file git -y
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
brew doctor
Install Zsh
Zsh is a more powerful alternative to bash.
sudo apt install zsh -y
sudo dnf install zsh -y
Then change your default shell:
chsh -s $(which zsh)
Log out and back in to use Zsh.
Install Oh My Zsh
A framework for managing your Zsh configuration.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Plugins
- zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting - zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions - zsh-completions
git clone https://github.com/zsh-users/zsh-completions.git ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions - Add the following to you `~/.zshrc
plugins=( zsh-autosuggestions zsh-syntax-highlighting ) fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src autoload -U compinit && compinit
Install Powerlevel10k Theme
Powerlevel10k is a fast, stylish Zsh theme.
- Clone the theme:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k - Set the theme in your
~/.zshrc:ZSH_THEME="powerlevel10k/powerlevel10k" - Then reload Zsh:
source ~/.zshrc - When prompted, go through the Powerlevel10k configuration wizard.
Optional Nice-to-Haves
Here are some other useful tools and utilities you might want:
bat– Acatclone with syntax highlighting and Git integration.exa– A modern replacement forlswith more features and colors.fzf– A fast fuzzy finder for searching files, history, etc.ripgrep– A super-fast recursive search tool, likegrepbut better.neovim– A modern, extensible version of the Vim text editor.
sudo apt install bat exa fzf ripgrep neovim -y
sudo dnf install bat exa fzf ripgrep neovim -y
- works the same on both distros
brew install bat exa fzf ripgrep neovim
Reboot (optional)
Some changes (like default shell) take effect cleanly after a reboot:
sudo reboot
You're now set up with a modern, powerful Linux terminal environment!