This directory contains comprehensive documentation for the dev-machine-setup project.
- Design Principles - The core principles that guide the design of this repository
- Architecture Overview - High-level architecture and component relationships
- Customization Guide - How to customize the setup for your needs
- Package Management - Understanding the package management strategy
- Configuration Reference - Complete reference for all configuration options
- Troubleshooting Guide - Common issues and solutions
- Contributing Guide - How to contribute to this project
- Examples - Real-world examples and use cases
If you're new to this project, start with:
- Design Principles - Understand the "why" behind the architecture
- Architecture Overview - Get a high-level view of how everything fits together
- Customization Guide - Learn how to tailor the setup to your needs
This project aims to:
- Reduce setup time: Get a fully configured development environment in minutes
- Ensure consistency: Same tools and configurations across different machines
- Stay current: Easy to update and maintain package lists
- Be flexible: Support different workflows and preferences through customization
- Remain simple: Clear, readable configuration files that anyone can understand
- ✅ Cross-platform support: macOS, Windows, Ubuntu, Debian, and Fedora
- ✅ Package manager integration: Uses the best package manager for each platform
- ✅ Declarative configuration: Simple YAML/PowerShell configuration files
- ✅ Idempotent execution: Safe to run multiple times
- ✅ Extensible: Easy to add custom packages, commands, and scripts
- ✅ Well-documented: Comprehensive documentation and examples