Automated Debian Linux Development Environment Setup
CARS is a comprehensive shell script that automates the installation and configuration of a complete development environment on Debian-based Linux systems. It transforms a fresh Debian installation into a fully-equipped development workstation with a single command.
- Zsh - Built from source with latest features
- Oh-My-Zsh - Pre-configured with essential plugins
- Zsh Plugins:
- zsh-syntax-highlighting - Command syntax highlighting
- zsh-autosuggestions - Intelligent command suggestions
- Alacritty - GPU-accelerated terminal emulator (built from source)
- Neovim - Hyperextensible text editor (built from source)
- Custom Neovim Configuration - Pre-configured with plugins and settings
- Brave Browser - Privacy-focused Chromium-based browser
- Complete ad-blocking and privacy settings
- Rust - Systems programming language with Cargo
- Go 1.23.2 - Latest stable version
- Node.js v22 - Via NVM for version management
- Python 3 - With pip and essential packages
vim,git,curl,gcc,make,cmakeripgrep- Lightning-fast grep alternativebuild-essential- Compilation toolspython3-pip,exuberant-ctags,ack-grepninja-build,gettext,unzip
- i3 Window Manager - Tiling window manager configuration
- X11 Utilities - Display management tools
arandr- GUI for xrandrxdotool- X11 automation tool
- Password Management:
pass,gpg - Clipboard Tools:
xclip,xsel - Media Tools:
ffmpeg - Custom Shell Scripts:
- Fast file search utilities
- Git helpers
- System shortcuts
- Fresh Debian 12 (Bookworm) or compatible distribution
- Root/sudo access
- Internet connection
- At least 10GB free disk space
# Clone the repository
git clone https://github.com/LinuxUser255/CARS.git
cd CARS
# Run the script
sudo bash cars.sh# Clone the repository
git clone https://github.com/LinuxUser255/CARS.git
cd CARS
# Use the interactive safe runner
./safe-run.sh
# Or use make commands
make test-quick # Quick syntax tests
make run-script # Full installation in Docker
make shell # Enter container for debuggingCARS includes a complete Docker testing infrastructure to ensure safe testing before deployment:
# Quick test
make test-quick
# Full installation test
make run-script
# Interactive shell
make shell
# Cleanup
make cleanSee DOCKER_TESTING.md for detailed testing documentation.
| Component | Version | Build Method |
|---|---|---|
| Zsh | Latest | Source |
| Neovim | Stable | Source |
| Alacritty | Latest | Source |
| Rust | Latest | Rustup |
| Go | 1.23.2 | Binary |
| Node.js | v22 | NVM |
.zshrc- Optimized Zsh configuration.config/nvim/- Complete Neovim setup.config/alacritty/- Alacritty configuration.config/i3/- i3 window manager config
- Docker Environment Detection - Warns if running on host system
- Confirmation Prompts - Requires explicit confirmation for host execution
- Error Handling - Comprehensive error checking and recovery
- Backup Creation - Automatically backs up existing configurations
- Non-destructive - Preserves existing installations when possible
CARS/
├── cars.sh # Main installation script
├── Dockerfile # Docker container definition
├── docker-compose.yml # Docker orchestration
├── Makefile # Convenient commands
├── safe-run.sh # Interactive Docker menu
├── test-runner.sh # Automated test suite
├── DOCKER_TESTING.md # Testing documentation
└── README.md # This file
The script is modular and can be customized by commenting out unwanted sections:
# Edit cars.sh to customize packages
vim cars.sh
# Comment out unwanted packages in the pkgs array
# Skip specific installation functions in main()Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Test your changes in Docker
- Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Oh-My-Zsh - Framework for Zsh
- Neovim - Vim-based text editor
- Alacritty - Terminal emulator
- Brave - Privacy-focused browser
Chris - LinuxUser255
Project Link: https://github.com/LinuxUser255/CARS
Made with dedication for the Linux community