-
-
Notifications
You must be signed in to change notification settings - Fork 2
Linux Development Environment
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.
- Understanding Development Environments
- Programming Languages
- IDEs and Editors
- Build Tools
- Version Control
- Development Tools
- Container Development
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
Install Python:
# Arch/CachyOS
sudo pacman -S python python-pip
# Debian/Ubuntu
sudo apt install python3 python3-pip
# Fedora
sudo dnf install python3 python3-pipVirtual environments:
# Install virtualenv
sudo pacman -S python-virtualenv
# Create virtual environment
python -m venv myenv
# Activate
source myenv/bin/activateInstall Node.js:
# Arch/CachyOS
sudo pacman -S nodejs npm
# Install yarn
sudo pacman -S yarn
# Or use nvm
yay -S nvmDebian/Ubuntu:
sudo apt install nodejs npmFedora:
sudo dnf install nodejs npmInstall 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-openjdkInstall GCC:
# Arch/CachyOS
sudo pacman -S gcc make cmake
# Install base-devel
sudo pacman -S base-develDebian/Ubuntu:
sudo apt install build-essential gcc g++ make cmakeFedora:
sudo dnf install gcc gcc-c++ make cmakeInstall Go:
# Arch/CachyOS
sudo pacman -S go
# Setup workspace
mkdir -p ~/go/{bin,pkg,src}
export GOPATH=$HOME/goInstall Rust:
# Install rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Or from package
sudo pacman -S rustInstall VS Code:
# Arch/CachyOS
yay -S visual-studio-code-bin
# Debian/Ubuntu
# Download from code.visualstudio.com
# Fedora
sudo dnf install codeInstall IDEs:
# IntelliJ IDEA
yay -S intellij-idea-community-edition
# PyCharm
yay -S pycharm-community-edition
# CLion
yay -S clionInstall editors:
# Vim
sudo pacman -S vim
# Neovim
sudo pacman -S neovimInstall make:
# Usually pre-installed
# Check
which makeInstall CMake:
# Arch/CachyOS
sudo pacman -S cmake
# Debian/Ubuntu
sudo apt install cmake
# Fedora
sudo dnf install cmakeInstall Meson:
# Arch/CachyOS
sudo pacman -S meson
# Debian/Ubuntu
sudo apt install meson
# Fedora
sudo dnf install mesonInstall Git:
# Arch/CachyOS
sudo pacman -S git
# Debian/Ubuntu
sudo apt install git
# Fedora
sudo dnf install gitConfigure Git:
# Set user name
git config --global user.name "Your Name"
# Set email
git config --global user.email "your.email@example.com"Install gh:
# Arch/CachyOS
sudo pacman -S github-cli
# Debian/Ubuntu
sudo apt install gh
# Fedora
sudo dnf install ghInstall debuggers:
# GDB
sudo pacman -S gdb
# Valgrind
sudo pacman -S valgrindInstall linters:
# Python
sudo pacman -S python-pylint
# JavaScript
sudo pacman -S eslintInstall 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 usernameDebian/Ubuntu:
sudo apt install docker.ioFedora:
sudo dnf install dockerInstall Docker Compose:
# Arch/CachyOS
sudo pacman -S docker-compose
# Or use plugin
sudo pacman -S docker-compose-pluginThis guide covered development environment setup for Arch Linux, CachyOS, and other distributions, including programming languages, IDEs, build tools, and version control.
- 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.