🛠️ Essential Developer Setup Guide for a Fresh Ubuntu Installation #
After installing Ubuntu, you can follow this guide to set up your software development environment. This setup is geared toward general-purpose developers.
1. System Updates #
Start by making sure your system is up to date:
sudo apt update && sudo apt upgrade -y
Clean up unnecessary packages:
sudo apt autoremove -y && sudo apt clean
2. Install Development Tools #
Build Essentials #
Install essential tools for compiling C/C++ code:
sudo apt install build-essential -y
Git #
Install Git for version control:
sudo apt install git -y
Configure Git:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
Python #
Check if Python 3.x and pip are installed; if not:
sudo apt install python3 python3-pip -y
Node.js and NPM #
Install Node.js and npm for JavaScript development:
sudo apt install nodejs npm -y
Or install via NVM (Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc
nvm install --lts
Java #
If you need Java, install OpenJDK:
sudo apt install openjdk-17-jdk -y
Check version:
java -version
3. Common Developer Tools #
Visual Studio Code #
Install the popular code editor:
sudo apt install wget -y
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code -y
Docker #
Install Docker for container management:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo add-apt-repository "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
sudo usermod -aG docker $USER
PostgreSQL #
Install PostgreSQL if you need a database:
sudo apt install postgresql postgresql-contrib -y
4. Helper Tools & Configurations #
Zsh and Oh-My-Zsh #
For a better terminal experience:
sudo apt install zsh -y
chsh -s $(which zsh)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Curl and Wget #
Install these handy tools:
sudo apt install curl wget -y
GDebi #
Install .deb
files easily:
sudo apt install gdebi -y
Snap Packages #
Snap is preinstalled on Ubuntu. For example, install IntelliJ IDEA:
sudo snap install intellij-idea-community --classic
5. Additional Software #
-
Slack/Trello: For team collaboration
sudo snap install slack --classic
-
Insomnia/Postman: For API testing
sudo snap install insomnia
6. Performance Tuning #
Configure Swap File #
To add extra swap memory:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo bash -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
GNOME Extensions #
Install GNOME extensions to enhance the desktop experience.
By completing these steps, your Ubuntu system will be ready for software development. Feel free to install additional tools as per your specific needs!