Linux Development Environment - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
Linux Development Environment Guide
Complete beginner-friendly guide to setting up development environments on Linux, covering Arch Linux, CachyOS, and other distributions including programming languages, IDEs, build tools, and development workflows.
Table of Contents
- Understanding Development Environments
- Programming Languages
- IDEs and Editors
- Build Tools
- Version Control
- Development Tools
- Container Development
Understanding Development Environments
What is a Development Environment?
Development environment is setup for writing and testing code.
Components:
- Programming languages: Python, C++, JavaScript, etc.
- IDEs/Editors: Code editors and IDEs
- Build tools: Compilers, build systems
- Version control: Git, etc.
- Debugging tools: Debuggers
Why setup matters:
- Productivity: Good setup = faster development
- Efficiency: Right tools = better workflow
- Compatibility: Proper setup = fewer issues
Programming Languages
Python
Install Python:
# Arch/CachyOS
sudo pacman -S python python-pip
# Debian/Ubuntu
sudo apt install python3 python3-pip
# Fedora
sudo dnf install python3 python3-pip
Virtual environments:
# Install virtualenv
sudo pacman -S python-virtualenv
# Create virtual environment
python -m venv myenv
# Activate
source myenv/bin/activate
Node.js
Install Node.js:
# Arch/CachyOS
sudo pacman -S nodejs npm
# Install yarn
sudo pacman -S yarn
# Or use nvm
yay -S nvm
Debian/Ubuntu:
sudo apt install nodejs npm
Fedora:
sudo dnf install nodejs npm
Java
Install Java:
# Arch/CachyOS
sudo pacman -S jdk-openjdk
# Or specific version
sudo pacman -S jdk11-openjdk
# Set JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
C/C++
Install GCC:
# Arch/CachyOS
sudo pacman -S gcc make cmake
# Install base-devel
sudo pacman -S base-devel
Debian/Ubuntu:
sudo apt install build-essential gcc g++ make cmake
Fedora:
sudo dnf install gcc gcc-c++ make cmake
Go
Install Go:
# Arch/CachyOS
sudo pacman -S go
# Setup workspace
mkdir -p ~/go/{bin,pkg,src}
export GOPATH=$HOME/go
Rust
Install Rust:
# Install rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Or from package
sudo pacman -S rust
IDEs and Editors
Visual Studio Code
Install VS Code:
# Arch/CachyOS
yay -S visual-studio-code-bin
# Debian/Ubuntu
# Download from code.visualstudio.com
# Fedora
sudo dnf install code
JetBrains IDEs
Install IDEs:
# IntelliJ IDEA
yay -S intellij-idea-community-edition
# PyCharm
yay -S pycharm-community-edition
# CLion
yay -S clion
Vim/Neovim
Install editors:
# Vim
sudo pacman -S vim
# Neovim
sudo pacman -S neovim
Build Tools
Make
Install make:
# Usually pre-installed
# Check
which make
CMake
Install CMake:
# Arch/CachyOS
sudo pacman -S cmake
# Debian/Ubuntu
sudo apt install cmake
# Fedora
sudo dnf install cmake
Meson
Install Meson:
# Arch/CachyOS
sudo pacman -S meson
# Debian/Ubuntu
sudo apt install meson
# Fedora
sudo dnf install meson
Version Control
Git
Install Git:
# Arch/CachyOS
sudo pacman -S git
# Debian/Ubuntu
sudo apt install git
# Fedora
sudo dnf install git
Configure Git:
# Set user name
git config --global user.name "Your Name"
# Set email
git config --global user.email "[email protected]"
GitHub CLI
Install gh:
# Arch/CachyOS
sudo pacman -S github-cli
# Debian/Ubuntu
sudo apt install gh
# Fedora
sudo dnf install gh
Development Tools
Debuggers
Install debuggers:
# GDB
sudo pacman -S gdb
# Valgrind
sudo pacman -S valgrind
Linters
Install linters:
# Python
sudo pacman -S python-pylint
# JavaScript
sudo pacman -S eslint
Container Development
Docker
Install Docker:
# Arch/CachyOS
sudo pacman -S docker
# Enable service
sudo systemctl enable docker
sudo systemctl start docker
# Add user to group
sudo usermod -aG docker username
Debian/Ubuntu:
sudo apt install docker.io
Fedora:
sudo dnf install docker
Docker Compose
Install Docker Compose:
# Arch/CachyOS
sudo pacman -S docker-compose
# Or use plugin
sudo pacman -S docker-compose-plugin
Summary
This guide covered development environment setup for Arch Linux, CachyOS, and other distributions, including programming languages, IDEs, build tools, and version control.
Next Steps
- Text Editors - Text editors
- Terminal Emulators - Terminals
- Virtualization - Virtual machines
- ArchWiki Development: https://wiki.archlinux.org/title/Development
This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.