Baseline is a custom onboarding app built as an MDM-agnostic zero-touch or light-touch solution for macOS. It combines several widely used open-source macOS utilities into a simple, flexible setup you can deploy with a .pkg installer and a custom profile — speeding up the gap between a new device's first touch and when it's actually ready for production use.
Quick software deployments and a polished end-user experience both matter for onboarding: they shorten that gap and help confirm the deployment's value to the end user as their device is being set up.
A huge Addigy thanks to the folks at Second Son Consulting, Inc. for building and documenting this tool for the MacAdmins community. Find them, and a community of users, in the #baseline channel of the MacAdmins Slack community.
Note: The Baseline team is constantly adding new utilities and features. Follow along on their releases page.
If you run into issues deploying Baseline to your devices, reach out in the #baseline Slack channel of the MacAdmins community.
Baseline Resources
Deploying Baseline
Deploying Baseline with Addigy is straightforward using a Custom Profile and Smart Software.
Prerequisites
- macOS 12+
- iMazing Profile Editor
- Baseline pkg
Manual Enrollment Workflow
Create your Smart Software that installs Baseline on the device:
- Recommended: set the install priority to
1.91so it pushes before the rest of the policy items. - Get and upload the Baseline PKG from the releases page — make sure it's not the NoDaemon version.
- Include any other PKGs or files you want installed as part of the onboarding experience.
Create and upload your Baseline mobileconfig file using iMazing Profile Editor:
- Payload name:
Baseline by Second Son Consulting - Recommended: set the install priority to
1.9so it pushes before the rest of the policy items and the Baseline pkg. - Apply both to the policy and manually enroll a new device.
Pre-Stage Enrollment Workflow
Create your Smart Software that installs Baseline on the device:
- Recommended: set the install priority to
0.2so it pushes during Automated Device Enrollment. - Get and upload the Baseline PKG from the releases page — make sure it's not the NoDaemon version.
- Include any other PKGs or files you want installed as part of the onboarding experience.
Create and upload your Baseline mobileconfig file using iMazing Profile Editor:
- Payload name:
Baseline by Second Son Consulting - Recommended: set the install priority to
0.1so it pushes during Automated Device Enrollment and before the Baseline pkg. - Apply both to the policy and enroll a new device via Automated Device Enrollment.
For more workflow scenarios, see the Addigy Baseline wiki page (thanks to Chris Bobbitt for writing it up).
Example Manual Deployment
This example creates a Baseline deployment that will:
- Set all custom icons to reference an image from a URL
- Automatically grab the most recent Baseline PKG from their releases page (no need to upload your own)
- Install Google Chrome using Baseline's built-in Installomator function
- Install Zoom from a pkg file uploaded to the Smart Software
- Run a script that waits for the Addigy policy to finish deploying before exiting Baseline
Note: This example references an Install script, a Condition script, and a "Wait for Addigy Policy.sh" script as attached files. To get the Zoom installer, visit Zoom's download center.
Step 1: Smart Software Creation
- Create a Smart Software in Addigy and add the Install and Condition script templates to their respective fields.
- Add the Download folder path to the variable on line 4.
- Upload the Zoom installer and the Wait for Addigy Policy.sh file to the file upload section.
- Set the Priority Order to
1.91.
Note: The Installation Script automatically collects the most recent Baseline PKG from the releases page, so there's no need to upload it separately into the Smart Software.
Step 2: Baseline MDM Configuration Creation
- Create a new configuration in iMazing Profile Editor and add the Baseline by Second Son Consulting payload.
- Add the Google Chrome Installomator Label info:
- Display Name:
Google Chrome - Label:
googlechrome
- Display Name:
- Add the Zoom package info:
- Display Name:
Zoom - Package Path:
zoomusInstallerFull.pkg
- Display Name:
- Add the script info:
- Display Name:
Addigy Policy - Script Path:
Wait for Addigy Policy.sh
- Display Name:
- Add this command string to all three Dialog options:
--title "New Device Onboarding" --icon "https://addigy.com/wp-content/uploads/2022/12/addigy-logomark-teal.svg" - Save the file to your device.
Step 3: Upload the Custom Profile
- Navigate to Catalog > Device Settings > New > Custom Profile to create and upload the profile. See How To Configure and Deploy a Custom Profile for the general steps.
- Upload the Baseline configuration you just created.
- Set the Installation Priority to
1.9. - Confirm the profile creation.
Step 4: Add to Policy and Enroll a Device
- Add the profile and the Smart Software to your selected policy of enrollment.
- Enroll a device.
- Enjoy the onboarding experience.
Additional Notes
The install script provided will:
- Make a fresh Baseline configuration directory
- Move all recognized file types into their respective spot in the Baseline configuration directory
- Download and install the latest version of the Baseline pkg from the Baseline releases page
Note: The
downloadFoldervariable on line 4 must be edited to reference your specific Smart Software folder.
The condition script provided will:
- Check whether the onboarding workflow has already run on the device
- Check whether the Addigy enrollment is younger than
cutOffTime(preset to 168 hours, or 1 week)
A separate script prints the logs from the Baseline log files, and a script named Wait for Addigy Policy.sh was built to use as a deployed script during the Baseline workflow.