Skip to content

Linux Development Environment

Mattscreative edited this page Dec 5, 2025 · 2 revisions

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

  1. Understanding Development Environments
  2. Programming Languages
  3. IDEs and Editors
  4. Build Tools
  5. Version Control
  6. Development Tools
  7. 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 "your.email@example.com"

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


This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.

Clone this wiki locally