todd-dsm / mac-ops

QnD Automation to build a MacBook Pro for DevOps
MIT License
11 stars 7 forks source link
customizable devops devops-tools macbook-configuration macbook-setup macos sre

mac-ops - Big Sur

Before you can build anything, you first need the tools. Herein lies automation to build a great (opinionated) MBP with a base configuration to support Systems Engineering (SRE/DevOps) work.

This always needs refactoring but it's still better than starting from scratch. If you find value in it, please feel free to fork/use it.


Attention! This may not be for you.

Documentation

Before jumping in, you should probably check the docs in the wiki first.

If this is your personal laptop that also serves as your work machine, a backup procedure is strongly recommended; check the rsync-backups page. The restore process in the bootstrap.sh script relies on a consistent backup. If this is a new macOS laptop/install for work, you can safely skip the rsync step.


Pre-Game

Make sure the ssh keys associated with your GitHub account work as expected:

% ssh -T git@github.com
Hi yourUserName! You've successfully authenticated, but GitHub does not provide shell access.

Clone the repo down to your laptop:

git clone git@github.com:todd-dsm/mac-ops.git && cd mac-ops/

CONFIGURE YOUR VARIABLES

vi my-vars.env


Assuming this is a fresh macOS, run the install prep script to:

tools/install-prep.sh 2>&1 | tee /tmp/install-prep.out

When it's all over, you will see something like:

         __                                     __   
  ____  / /_     ____ ___  __  __   ____  _____/ /_  
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \ 
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / 
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/  
                        /____/                       ....is now installed!

To back out of the new Oh My ZSH shell just press: CTRL+d

The messages should advise you to reboot.


Kick-off

Once you're all backed-up, auto-magically configure the new macOS.

Kick off the script: (~32 minutes to complete)

./bootstrap.sh TEST 2>&1 | tee ~/.config/admin/logs/mac-ops-config.out

NOTE: remove the argument TEST to go live.


Post-Game

Then you're ready to start working.