A macOS application for automated deployment of AV Production engineering workstations. This is the macOS port of the PC Deployment Toolkit, providing a unified interface for installing specialized audio/video professional software, system standardization, and test content deployment.
- Homebrew Integration: Automated installation via Homebrew casks and formulas
- Direct Downloads: Support for DMG, PKG, and ZIP installers
- Application Catalog: Pre-configured list of professional AV software
- Audio: Dante Controller, Reaper, Wireless Workbench, etc.
- Video: NDI Tools, Blackmagic software, VLC, etc.
- Lighting: sACN View, QLC+
- Networking: Wireshark, Angry IP Scanner, Packet Sender
- Control: Q-SYS Designer, Q-SYS UCI Viewer
- System: Google Chrome, Spotify, VS Code, Rectangle
- Custom Wallpaper: Generate wallpaper with computer name overlay and company branding
- Dock Configuration: Standard dock layout with essential applications
- Dark Theme: System-wide dark mode
- Power Settings: Prevent sleep when on AC power
- Finder Preferences: Show extensions, path bar, status bar
- Desktop Organization: Create standard folder structure
- Network Status: Continuous connectivity monitoring
- Deployment Progress: Visual task list with status indicators
- Detailed Logging: Color-coded deployment log
- macOS 12.0 (Monterey) or later
- Xcode 14.0 or later (for building)
- Administrator privileges (for installation and system configuration)
-
Clone the repository:
git clone https://github.com/randomrileywat/MACDeploymentToolkit.git cd MACDeploymentToolkit -
Open the Xcode project:
cd MacDeploymentToolkit open MacDeploymentToolkit.xcodeproj -
Build and run in Xcode (⌘+R)
The application can be distributed as:
.appbundle (direct copy to /Applications).dmgdisk image (recommended for distribution)
- Launch the Application: Open MacDeploymentToolkit.app
- Select Applications: Check the applications you want to install from the categorized list
- Enable Standardization (Optional): Check "Mac Standardization" to configure system settings
- Deploy: Click the Deploy button to start installation
| Category | Applications |
|---|---|
| Audio | Dante Controller, Dante Virtual Soundcard, Reaper, Shure Update Utility, Wireless Workbench, Waves Central |
| Video | Blackmagic ATEM Switchers, Blackmagic Desktop Video, NDI Tools, OBS Studio, VLC |
| Lighting | sACN View, QLC+ |
| Networking | Angry IP Scanner, Wireshark, Packet Sender, PTP Track Hound |
| Control | Q-SYS Designer, Q-SYS UCI Viewer |
| System | Google Chrome, Spotify, Visual Studio Code, Rectangle |
| Test Content | Audio Test Content, Video Test Content |
MacDeploymentToolkit/
├── MacDeploymentToolkitApp.swift # Application entry point
├── Models/
│ ├── ApplicationDefinition.swift # Data models for apps and tasks
│ └── ApplicationCatalog.swift # Complete application catalog
├── Views/
│ └── ContentView.swift # Main UI view
└── Services/
├── DeploymentManager.swift # Deployment orchestration
├── NetworkMonitor.swift # Network connectivity
├── HomebrewInstaller.swift # Homebrew integration
├── DirectDownloadInstaller.swift # DMG/PKG/ZIP handling
└── SystemStandardizer.swift # System configuration
- Framework: SwiftUI
- Language: Swift 5.7+
- Package Management: Homebrew, mas-cli (planned)
- System Integration: AppleScript, defaults, launchctl
- Administrator Access: For installing applications and changing system settings
- Accessibility: For UI automation (if implemented)
- Full Disk Access: For modifying certain system files (optional)
| Feature | Windows | macOS |
|---|---|---|
| Package Manager | Winget | Homebrew |
| Installer Formats | EXE, MSI, ZIP | DMG, PKG, ZIP |
| System Settings | Registry, PowerShell | defaults, AppleScript |
| Taskbar/Dock | syspin.exe | defaults write |
| UI Automation | UI Automation API | AppleScript (System Events) |
- Some Windows-only AV applications don't have macOS equivalents
- Mac App Store apps require Apple ID sign-in (mas-cli not yet implemented)
- System Integrity Protection (SIP) may restrict certain operations
- Gatekeeper requires signed apps for distribution
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - 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 MIT License - see the LICENSE file for details.
- Original PC Deployment Toolkit by Diversified Engineering
- Homebrew project for macOS package management
- All the AV software vendors whose products we support
Diversified Mac Deployment Toolkit - Simplifying workstation deployment for AV professionals.