For MDM deployments, use the new entry-point script: nonpkg-enroll.sh
.
This script is designed to be triggered via SimpleMDM's nopkg feature after the first user account is created.
It automates initial setup tasks such as Homebrew installation, Rosetta 2 setup, and other configuration steps.
Recommended Usage:
- Trigger
nonpkg-enroll.sh
via SimpleMDM nopkg or manually via Software Update after user creation.
To automate enrollment with SimpleMDM, you can use the makepkginfo
tool to create a nopkg installer package info file.
This should be done in the new nopkg_installer
directory.
Example:
makepkginfo --nopkg \
--name="nopkg-enroll" \
--displayname="Auto-Enroll via SimpleMDM" \
--pkgvers="1.0" \
--installcheck_script=installcheck.sh \
--postinstall_script=postinstall.sh \
--unattended_install \
> nopkg-enroll.pkginfo
- Place your
installcheck.sh
andpostinstall.sh
scripts in thenopkg_installer/
directory. - The
postinstall.sh
script should triggernonpkg-enroll.sh
to run the full enrollment workflow. - Upload
nopkg-enroll.pkginfo
to SimpleMDM and configure it to run after the first user account is created.
Directory Structure Example:
macOS-quick-build/
nonpkg-enroll.sh
autobrew.sh
rosetta-2-install.sh
macOSMachineSetup.sh
configfiles/
nopkg_installer/
installcheck.sh
postinstall.sh
nopkg-enroll.pkginfo
-
nonpkg-enroll.sh
Entry-point for MDM automation. Runs all required setup scripts in order. -
autobrew.sh
Installs Homebrew and essential packages. -
rosetta-2-install.sh
Installs Rosetta 2 for Apple Silicon compatibility. -
macOSMachineSetup.sh
Performs additional macOS configuration and setup tasks.
If not using MDM, you can run each script manually in the order listed above.
nonpkg-enroll.sh
— MDM-ready entry-point script manually or...
autobrew.sh
— Homebrew installationrosetta-2-install.sh
— Rosetta 2 installationmacOSMachineSetup.sh
— Additional macOS setupconfigfiles/
— Configuration files used by setup scriptsnopkg_installer/
— Scripts and pkginfo for SimpleMDM nopkg integration
For more details, see comments in each script.