Setting up Elementary OS for Full-Stack Development
Elementary OS provides a sleek and Mac-like interface, perfect for developers looking for a polished Linux experience. Follow this guide to configure your system for full-stack development.
Prerequisites
A system running Elementary OS.
Basic understanding of Linux commands.
A reliable internet connection.
Update Your System
Before starting, update your system to ensure all existing packages are up to date.
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt install software-properties-common apt-transport-https curl
sudo apt autoremove
Change Computer Name
If you skipped naming your computer during installation, you can do so now:
sudo gedit /etc/hosts
# Update the line: 127.0.1.1 <computerName>
sudo gedit /etc/hostname
# Replace <computerName> with your preferred name
Install Development Tools
1. APT-FAST (Faster Package Manager)
sudo add-apt-repository -y ppa:apt-fast/stable
sudo apt -y install apt-fast
echo $'\nalias apt="apt-fast"' >> ~/.bashrc
source ~/.bashrc
2. Brave Browser
sudo apt install apt-transport-https curl gnupg
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key add -
echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser
3. Firefox Developer Edition
umake web firefox-dev
System Tweaks
Install Elementary Tweaks
sudo apt install software-properties-common
sudo add-apt-repository ppa:philip.scott/elementary-tweaks
sudo apt update
sudo apt install elementary-tweaks
Install Performance Enhancements
- Improve Battery Life:
sudo add-apt-repository ppa:linrunner/tlp
sudo apt update
sudo apt install tlp tlp-rdw
sudo tlp start
- Reduce Running Programs:
sudo mv /etc/xdg/autostart/at-spi-dbus-bus.desktop /etc/xdg/autostart/at-spi-dbus-bus.disabled
Essential Tools for Development
Install Git and SSH
sudo apt install git openssh-server
ssh-keygen -t rsa -b 4096
cat ~/.ssh/id_rsa.pub
Copy the SSH key output and add it to your GitHub SSH settings.
Install Docker and Docker Compose
# Uninstall old versions
sudo apt remove docker docker-engine docker.io containerd runc
# Install dependencies
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Add the Docker repository
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
# Install Docker
sudo apt update
sudo apt install docker-ce
# Enable Docker without sudo
sudo usermod -aG docker ${USER}
Install Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Test the installation:
docker --version
docker-compose --version
For a GUI-based Docker experience, install Kitematic.
Programming Languages and Frameworks
Install Node.js with NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
node -v
npm -v
Install Python
Follow the tutorial on How To Install Python on Ubuntu for a detailed explanation of the commands below
sudo apt update
sudo apt upgrade
python3 --version
IDEs and Tools
Install popular IDEs using Ubuntu Make:
Visual Studio Code:
umake ide visual-studio-code
PyCharm:
umake ide pycharm
Android Studio:
umake ide android-studio
Database Management
Install MySQL
Follow the tutorial on How To Install MySQL on Ubuntu 20.04 for a detailed explanation of the commands below
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
sudo systemctl status mysql
Additional Resources
For more detailed guides, explore This Development Guide resources that help me.