A portable single binary configuration tool for OSX machines.
- Brings Ansible powered Configuration Management to your Mac.
- Mix and match existing Ansible roles such asdf, clamav and homeshick with the huge array of Mac roles on Ansible Galaxy.
- Start with a freshly installed Mac, and apply a
Mac Maker Profile
to add all the customizations and applications you want. - Alternatively, start with an existing Mac you already use, and incrementally build a
Mac Maker Profile
putting all your existing apps and customizations under version control.
If you'd like to try it out, head over to the Mac Maker Releases and download a pre-built binary.
- There are builds available for Catalina, Big Sur and Monterey for Intel Macs.
- There are now builds for Monterey available for Apple Silicon Macs. (Thanks to the folks at bitrise)
If you are unsure, use the tables below to help you find the right binary for your Mac:
Version Number | OS Name |
---|---|
13 | Ventura |
12 | Monterey |
11 | Big Sur |
10 | Catalina |
Architecture | CPU Type |
---|---|
arm64 | Apple Silicon |
x86_64 | Intel |
Please Note:
- They are unsigned, and not notarized by Apple.
- As such, they will trigger a warning about software from an unidentified developer.
Are you on Monterey or Ventura? It may not ship with python anymore! We better check:
- open a terminal and type
python3
, and if prompted to install the x-code cli tools clickinstall
. - this is less than ideal, but it gets you into a compatible state quickly
For Catalina, Big Sur, Monterey and Ventura (once you've confirmed python is present):
- Copy the
mac_maker
binary to the OSX machine you'd like to put under configuration management. - If you have a working internet connection, you can start working with
Mac Maker Profiles
. - To try creating your own
Profile
, check out this repository. - To learn more about
Mac Maker Profiles
, and to try out a simple example, continue reading here.
Mac Maker uses the concept of Profiles
, to bundle together the Ansible configuration required to configure your Mac.
Here's an example profile for you to test out:
- Start Mac Maker:
./mac_maker
- Run the these commands, to check and apply the profile
precheck github https://github.com/osx-provisioner/profile-example
apply github https://github.com/osx-provisioner/profile-example
You can work with Profiles
in one of two ways:
- Create a public GitHub Repository that contains your profile, taking care NOT to included privileged content.
- Create your profile in any private git repository, and clone it to a USB key (or other portable media). Add a
spec.json
file to the USB stick telling Mac Maker how to find it.
To find out more:
- Read about the
Mac Maker Profiles
, and how to build one here. - Use this template to create your own custom profiles.
- Read about the
spec.json
file, and how to build one here.
Please Note:
- We've had some user feedback that the
spec.json
files are a bit complicated to get started with. - Although we'll continue to support them, we'll soon introduce the ability to simply specify the path to a
Mac Maker Profile
folder on the local filesystem.
As this project effectively bundles Ansible, it must comply with the GNU GPL. You are however free to use and modify this source, as long as the license's terms are respected.
(Pull requests are most welcome, as I sincerely hope this project can be of use to others.)
The project's full documentation can be found here:
Complete build instructions are included, so you can build your own binary.