I was given an Apple MacBook as my work device, and this is a brief summary of the MacBook AWS DevOps setup. My work involves implementing solutions on AWS. Most of the tools and settings below are what I implemented on my new device to assist with AWS DevOps. A big shout out to Mukesh Sharma (https://www.mukeshsharma.dev), who assisted me in transitioning from a Windows device to macOS.
The specifications of the new macOS laptop are as follows:
- 13-inch MacBook Pro
- 13.3 – inch screen (2560×1600)
- Apple M2
- 24 GB RAM
- 994 GB SSD
- QWERTY = English (International)
- macOS Ventura (13.4)
My macOS settings and application setup are detailed below (but are likely to evolve over time).
Google Chrome (hang up from my Android days) and turn on sync if you’re using it on other devices

Download Chrome package from https://google.com/chrome and install dmg package
Limit Spotlight searches

Open MacOS settings > Siri & Spotlight > set the following

Finder

Show Full paths via
Open MacOS Finder > view > Show Path Bar
Homebrew

Homebrew is a popular package manager for macOS, which allows Mac users to easily install and manage various software packages and libraries. It simplifies the process of installing software on a Mac by automating the installation, updating, and removal of packages, eliminating the need for manual downloads and configurations. Homebrew offers a vast collection of software packages, including command-line tools, development libraries, programming languages, utilities, and other applications. The repository is community-driven, and users can contribute to it by creating and maintaining their own packages.
To install, run the following in a terminal window:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# wait for install to complete
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
brew --version
I noticed during the Homebrew installation and upgrade process that Xcode was installed in the background.
iTerm2

iTerm2 is a popular terminal emulator for macOS, providing a more advanced and feature-rich alternative to the default Terminal application. It is designed to enhance the command-line experience for developers, system administrators, and power users. It offers features such as:
- Multiple tabs
- Split Panes
- Appearance customisations
- Pointer support
To install run the following:
brew install --cask iTerm2
Increase the default profile buffer size to unlimited via Preferences.

Find application ‘iTerm2″ and add it to your dock.
GIT

Git (https://git-scm.com/) is a distributed version control system widely used for tracking changes in source code during software development.
To install Git, run the following command in an iTerm2 window:
brew install git
git --version
$ git config --global user.name "<your username>"
$ git config --global user.email "<your email address"
Setup SSH key pair

A SSH (Secure Shell) key pair consists of two cryptographic keys: a public key and a private key. SSH key pairs are commonly used for secure remote access to systems, particularly for authentication and encryption purposes.
To install the SSH key pair, run the following command in an iTerm2 terminal and follow the prompts (don’t forget to include a passphrase for added security).
mkdir ~/.ssh
chmod 0700 ~/.ssh
ssh-keygen -b 4096 -t rsa
Hopefully, you have generated your SSH key and added a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don’t want to enter it every time you use the key, you can add it to your Keychain, which can be synced with iCloud. To set up automatic passphrase entry, type the following:
ssh-add --apple-use-keychain ~/.ssh/id_rsa
If you are using AWS CodeCommit with SSH keys, create a file called ~/.ssh/config with the following content:
Host git-codecommit.*.amazonaws.com
User Your-SSH-Key-ID, such as APKAEIBAERJR2EXAMPLE
IdentityFile ~/.ssh/id_rsa
Setup iTerm2 prompt with oh-my-zsh
The default shell on macOS is Zsh. Oh My Zsh is an open-source, community-driven framework for managing the Zsh shell, which is a powerful and highly customizable command-line interpreter for Unix-based systems. It provides an extensive set of features, themes, and plugins that enhance the functionality and user experience of the Zsh shell.
To install the Oh My Zsh tools, run the following command in an iTerm2 terminal window:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
To update the theme, open up ~/.zshrc in your favourite editor and edit line:
ZSH_THEME=”robbyrussell” to
ZSH_THEME=”powerlevel10k/powerlevel10k”
To apply these changes run:
source ~/.zshrc
enter y to install Meslo Nerd font
Restart iTerm2 by pressing Command + Q, and it should resume the configuration wizard. Enter the parameters to your liking or utilize the configuration settings provided below:
- Prompt Style – Rainbow
- Character set – Unicode
- current time – 24hr format
- prompt separators – angled
- prompt head – sharp
- prompt tails – flat
- prompt height – 2 lines
- prompt connection – solid
- prompt frame – full
- connection & frame color – lightest
- prompt spacing – sparse
- icons – many icons
- prompt flow – concise
- Enable transient prompt – no
- Instant prompt mode – verbose
A sample of the term terminal is shown below.

AWS CLI

The AWS Command Line Interface (CLI) is a powerful tool provided by Amazon Web Services (AWS) that allows users to interact with various AWS services from the command line. It provides a command-line interface for managing and configuring AWS resources, automating tasks, and integrating AWS services into scripts and workflows.
To install the AWS CLI (v2), run the following command in an iTerm2 terminal.
brew install awscli
aws --version
Terraform

Terraform is an open-source infrastructure-as-code (IaC) tool developed by HashiCorp. It allows you to define and provision infrastructure resources in a declarative manner using configuration files. With Terraform, you can describe your desired infrastructure state, and the tool will automatically manage the creation, modification, and deletion of resources to achieve that state.
To install Terraform, run the following command in an iTerm2 terminal.
brew install terraform
terraform --version
Oh my ZSH plugins

Enable some handy Zsh plugins on my system to assist with autocomplete and suggestions by following these steps:”
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Edit ~/.zshrc and add plugins via
plugins=(git zsh-autosuggestions zsh-syntax-highlighting web-search aws terraform history)
reload file via
source ~/.zshrc
Authy

Authy is a popular multi-factor authentication (MFA) app that provides an extra layer of security for online accounts and services. It was created by Twilio, a cloud communications platform, and is designed to help users protect their digital identities by adding an additional step of verification during the login process.
The primary purpose of Authy is to enable two-factor authentication (2FA) or multi-factor authentication (MFA) for various online platforms, such as AWS SSO, Bitbucket, social media accounts, and more. It aims to enhance security by requiring users to provide a secondary verification code in addition to their regular password when logging into their accounts.
To install the AWS CLI (v2), run the following command in an iTerm2 terminal.
brew install authy
Text editor – sublime-text

Sublime Text is my current choice of text editor. To install Sublime Text, run the following command in an iTerm2 terminal.
brew install --cask sublime-text
We will need to add the Terraform plugin for Sublime Text via Tools -> Install Package Control…
Press Cmd + Shift + P and select “Package Control: Install Package”. Type in “Terra” and select the packages you want, such as “Terrafmt” and “Terraform.”
Cmd + Shift + P and select “Package Control: Install package”. Type in MarkdownPreview and select the “Markdownpreview” package.
To enable the use of VI commands within Sublime Text, we need to enable Vintage mode via:
- Select the Sublime Text
Settings…
Settings menu item
- Edit the
ignored_packagessetting, changing it from:"ignored_packages": ["Vintage"]to"ignored_packages": []and save the file.
Python3 (version 3.11 was installed by default)

python3 --version
Docker

brew install docker
Office 365
No local installation required; use browser apps from https://myapps.microsoft.com/ or https://portal.office.com. In Chrome, I’ve created shortcuts to Outlook and Teams in ~/Applications/Chrome Apps and dragged them into my dock.
jq
Sure! Here’s the corrected version of your sentence:
jq is a handy open-source JSON processor. It can make your JSON files look pretty and/or filter records.
brew install jq
Microsoft Remote Desktop

To access Windows servers in AWS using a GUI, we will need a remote desktop client. Install the Microsoft Remote Desktop client via:
brew install --cask microsoft-remote-desktop
Disable automatic updates
MacOS Settings > General > Login Items > disable “Microsoft AutoUpdate”
Git Pre-Commit hook
pip3 install pre-commit
If you want a global pre-commit hook do the following below or create file .pre-commit-config.yaml in each individual repository.
mkdir ~/.gitmkdir ~/.git/hookstouch ~/.git/hooks/pre-commitchmod u+x ~/.git/hooks/pre-commitgit config --global core.hookspath ~/.git/hooks
edit ~/.git/hooks/pre-commit with your prefered global pre-commits code.
MacOS Virtual Desktops
Create multiple desktops as required
That’s my basic macOS DevOps setup for AWS. I will probably add in VSCode and a few other utilities over time.
