Skip to content
Todd Thomas edited this page Mar 13, 2022 · 5 revisions

Welcome to the mac-ops wiki!

Why mac-ops?

I'm a consultant. As jobs come and go, some clients insist on using their laptops for work. In these cases, this is a long and tedious task - automation to the rescue. mac-ops takes a few days of error prone, manual install/configuration and boils it down to less than an hour.

Please keep in mind this build designed to support my work. If it meets your work requirements as well, you are welcome to use it. If not, you may want to fork and customize to your own needs.

What Does mac-ops Do?

This automation does a few simple things:

  1. We begin with the assumption of a raw laptop - straight from Apple or your Employer.
  2. The install-prep script sets the stage for bulk of the automation, which later can be done in:
    • Bash/ZSH scripts (like we've done here), or
    • Ansible (if you prefer)
  3. The bootstrap script does most of the heavy lifting.

After it's all over, the machine is now ready to support your DevOps/SRE work. Not only are all packages installed with their configurations but the environment is setup properly with some helper aliases and functions.

The Caveat

Open Source packages are ever-evolving so this is a hell of a thing to keep up on. At any point in time, some external condition can change (sometimes with brew, sometimes with the program) and a bug can be introduced. In these cases, feel free to pitch in or write up an issue; either works.

Features

  • The GNU programs are installed and the environment is configured to favor them.
  • Installs some programming tools and languages; vim, Bash, Ansible, git, etc.
  • Installs common DevOps tools: Terraform, kubectl, helm, IntelliJ, VS-Code, etc.
  • Then configures shell options for each.
  • Additionally, some helper utilities that we just can't live without are installed, like nmap, sipcalc, etc.
  • vimSimple is configured as well. It's for me after all :-). This section can be easily replaced with your config.

Towards the end, it configures the macOS:

  • Disables some annoying features.
  • Enables others for convenience.
  • Covers a little security - very little.

Close to the end it saves all the app/program changes and begins restoring your data - providing you have a proper backup.

At the end messages are printed to the user about what do next. On a Mac there is always some stuff you can't automate or it's just not practical to automate during the first version. This stuff will be manual :-|

Afterwards reboot - and that's it - your Mac is ready to use.

Now we can all get back to work :-)