Skip to content

πŸš€A cross-platform development environment setup script. Transform any Linux distro into a modern web development powerhouse with Node.js, Docker, IDEs, and more. Supports Arch, Ubuntu, Fedora, openSUSE, Manjaro & EndeavourOS.

Notifications You must be signed in to change notification settings

xi-Rick/devsetup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Comprehensive Web Development Setup Script

DevSetup Version License

Cross-Platform Development Environment Setup

Transform your fresh Linux installation into a powerhouse development machine in minutes!


🌟 What Makes DevSetup Special?

This DevSetup isn't just another setup script – it's your personal DevOps engineer that knows exactly how to configure your system for modern web development. Whether you're spinning up a new Arch installation, setting up Ubuntu for the first time, or switching to Fedora, this script has got you covered.

✨ Key Features

  • 🎯 Universal Compatibility: Supports 6+ major Linux distributions
  • 🎨 Beautiful CLI Interface: Color-coded output with distribution-specific ASCII art
  • 🧩 Modular Installation: Install only what you need, when you need it
  • πŸ”§ Smart Detection: Automatically detects your distro and configures accordingly
  • πŸ“¦ Modern Stack: Latest tools for React, Vue, Node.js, Docker, and more
  • πŸ›‘οΈ Safe & Reliable: Comprehensive error handling and status tracking

🎯 Supported Distributions


Arch Linux

Ubuntu/Debian

Fedora

openSUSE

Manjaro

EndeavourOS

πŸš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/xi-Rick/devsetup.git
cd devsetup

# Make it executable
chmod +x devsetup.sh

# Run the setup
./devsetup.sh

πŸŽ›οΈ Installation Menu

When you run the script, you'll be greeted with a beautiful, interactive menu:

πŸš€ DevSetup
Distribution: arch
Package Manager: pacman

========== Installation Menu ==========
Select the component(s) to install (separate choices with spaces):
 1) Base Development Tools
 2) Node.js & NVM Setup
 3) Python Development Tools
 4) Docker & Containerization
 5) Code Editors/IDEs
 6) Web Browsers
 7) Database Tools
 8) Shell Improvements
 9) VS Code Extensions
10) Configuration Files
11) All Components (Full Setup)

Enter your choice(s):

Example Usage Scenarios

Frontend Developer Setup:

Enter your choice(s): 1 2 5 9 10

Installs base tools, Node.js/NVM, your choice of IDE, VS Code extensions, and config files

Full-Stack Developer Setup:

Enter your choice(s): 11

Complete installation with everything you need for modern web development

Backend-Focused Setup:

Enter your choice(s): 1 3 4 7 8

Base tools, Python, Docker, databases, and shell improvements


πŸ“¦ What Gets Installed

πŸ› οΈ Base Development Tools

# Core development essentials
git curl wget build-essential
base-devel  # Arch/Manjaro

🟒 Node.js Ecosystem

# Modern JavaScript runtime management
nvm install --lts
npm install -g pnpm yarn typescript vite webpack parcel
npm install -g eslint prettier jest cypress nodemon
npm install -g live-server serve http-server vercel

🐍 Python Development

# Python development stack
python3 python3-pip python3-venv pipx
pip install pylint black flake8 autopep8

πŸ‹ Containerization

# Docker ecosystem
docker docker-compose
# Automatic user group configuration
# Service enablement and startup

πŸ’» IDE/Editor Options

The script offers an interactive IDE selection with these options:

  1. Code - OSS (Official Arch Linux open-source release)
  2. Visual Studio Code (Microsoft's official release)
  3. VSCodium (Community build without telemetry)
  4. Cursor (AI-powered code editor)
  5. Multiple IDEs (Install several at once)

🌐 Web Development Browsers

# Testing and development browsers
chromium brave-browser

πŸ—„οΈ Database Tools

# Popular databases for development
postgresql mysql redis mongodb
# GUI tools: MongoDB Compass, DBeaver

🎨 Beautiful Terminal Experience

DevSetup transforms your terminal with:

Useful Aliases

# Git shortcuts
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'

# Modern development
alias ni='npm install'
alias nr='npm run'
alias dc='docker-compose'
alias serve='python3 -m http.server 8000'

# Navigation helpers
alias ..='cd ..'
alias ll='ls -alF'
alias proj='cd ~/Projects'

Directory Structure

~/
β”œβ”€β”€ Projects/
β”‚   β”œβ”€β”€ web/
β”‚   β”‚   β”œβ”€β”€ frontend/
β”‚   β”‚   β”œβ”€β”€ backend/
β”‚   β”‚   └── fullstack/
β”‚   β”œβ”€β”€ mobile/
β”‚   β”œβ”€β”€ desktop/
β”‚   └── scripts/
β”œβ”€β”€ Repositories/
└── Scripts/

βš™οΈ Configuration Files

Global .gitignore

# OS generated files
.DS_Store
Thumbs.db

# IDE files
.vscode/
.idea/

# Node.js
node_modules/
.env*
npm-debug.log*

# Build outputs
dist/
build/
.next/
.nuxt/

ESLint Configuration

{
  "env": {
    "browser": true,
    "es2021": true,
    "node": true
  },
  "extends": ["eslint:recommended"],
  "parserOptions": {
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "rules": {
    "indent": ["error", 2],
    "quotes": ["error", "single"],
    "semi": ["error", "always"]
  }
}

Prettier Configuration

{
  "semi": true,
  "trailingComma": "es5",
  "singleQuote": true,
  "printWidth": 80,
  "tabWidth": 2
}

πŸ”§ VS Code Extensions

When you install VS Code, the script automatically installs these essential extensions:

Language Support:

  • TypeScript & JavaScript
  • Python
  • HTML/CSS
  • Tailwind CSS

Web Development:

  • Auto Rename Tag
  • Live Server
  • Thunder Client (API testing)
  • ESLint & Prettier

Productivity:

  • GitLens
  • Material Theme
  • Bracket Pair Colorizer
  • Todo Highlight

React/Vue:

  • React snippets
  • Vue Language Features (Volar)

🎭 Distribution-Specific Features

Arch Linux & Derivatives

# Automatic AUR helper installation (yay)
# Optimal package selections from official repos
# AUR packages for specialized tools

Ubuntu/Debian

# Official Microsoft repositories for VS Code
# Docker CE from official Docker repository
# Snap package alternatives when appropriate

Fedora

# DNF package management optimization
# Fedora-specific package names
# RPM Fusion when needed

πŸ“Š Installation Summary

After installation, you'll see a comprehensive summary:

πŸŽ‰ System setup completed successfully!

Component Status:
  Base development tools: βœ… installed
  Node.js & NVM: βœ… installed
  Python development tools: βœ… installed
  Docker & Docker Compose: βœ… installed
  Development tools (IDEs): βœ… installed
  Web development browsers: βœ… installed
  Database tools: βœ… installed
  Shell improvements: βœ… installed
  VS Code extensions: βœ… installed
  Configuration files: βœ… installed

πŸ“Œ Important notes:
  β€’ Log out and back in for Docker group changes to take effect
  β€’ Run 'source ~/.bashrc' to reload shell configuration
  β€’ Check ~/Projects for your organized development workspace

πŸš€ You're all set for modern web development!

πŸ›‘οΈ Safety & Error Handling

DevSetup is built with safety in mind:

  • 🚫 No Root Execution: Script refuses to run as root for security
  • πŸ” Smart Detection: Checks existing installations to avoid conflicts
  • πŸ“Š Status Tracking: Monitors each component's installation status
  • πŸ›‘ Error Handling: Comprehensive error trapping and recovery
  • 🧹 Cleanup: Automatic package cache cleanup after installation

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸ”„ Open a Pull Request

Development Setup

git clone https://github.com/xi-Rick/devsetup.git
cd devsetup

# Test in a virtual machine or container
# Make changes and test across different distributions

πŸ™ Acknowledgments

  • Linux Community - For creating amazing distributions
  • Open Source Maintainers - For the tools that make development awesome
  • Contributors - For making this script better every day

⭐ If DevSetup saved you time, please consider giving it a star! ⭐

Made with ❀️ by developers, for developers

About

πŸš€A cross-platform development environment setup script. Transform any Linux distro into a modern web development powerhouse with Node.js, Docker, IDEs, and more. Supports Arch, Ubuntu, Fedora, openSUSE, Manjaro & EndeavourOS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages