set-me-up
Automate your macOS and Debian development environment setup with dotfiles and modular installation scripts.
Why set-me-up?
Simplify your development environment setup and maintenance with powerful automation features
Modular Architecture
Install only what you need using independent modules like base, app_store, casks, and language-specific setups (php, ruby, node).
Dotfile Management
Uses thoughtbot's rcm for intelligent dotfile symlinking. Organize configurations by tags and override defaults easily.
Homebrew Integration
Seamlessly integrates with Homebrew and Mac App Store via brewfile bundles for streamlined application installation.
Customizable Hooks
Add before.sh and after.sh hooks to any module for custom pre and post-installation scripts tailored to your needs.
Blueprint Template
Fork the blueprint repository to create your own personalized setup with all your configurations and customizations.
Quick Deployment
One command installation gets you up and running quickly. Perfect for setting up new machines or rebuilding existing ones.
What's Included?
set-me-up provides everything you need to automate your development environment
Core Tools
Automated Homebrew installation, dotfile symlinking via rcm, and shell configuration management
Development Environments
PHP, Ruby, Node.js, Python modules with version managers and common packages
Applications
Mac App Store apps and Homebrew casks for all your GUI applications
Customization
rcm tags, module hooks, and full control over what gets installed
Quick Start
Get your development environment set up in minutes
# Install set-me-up
bash <(curl -s -L https://raw.githubusercontent.com/dotbrains/set-me-up-installer/main/install.sh)
# Provision base module (dotfiles + Homebrew)
smu --provision --module base
# Add more modules as needed
smu --provision --module app_store --module casks --module php --no-base
# List symlinked dotfiles
smu --lsrc
# Update dotfiles
smu --rcup
Built for Flexibility
Designed with customization and extensibility in mind
Tag-Based Organization
Use rcm tags to organize dotfiles by environment, machine, or purpose. Override default configs without touching the originals.
Module System
Each module is an independent bash script. Mix and match only what you need, or create your own custom modules.
Open Source
Fully open source and documented. Fork the blueprint repo, customize to your heart's content, and share with your team.