Know your Mac

Record the workstation baseline

Capture the macOS build, hardware architecture, computer identity, and available storage before changing the development environment.

10 minute lesson

~~~

A setup is easier to debug when you know where it started. Six months from now, a build will break after an update, and you will want to answer “what was on this Mac when it worked?” from a file, not from memory.

Before installing tools, record the operating-system build, processor architecture, host name, and free storage.

Capture four values

Run these commands in Terminal:

sw_vers
uname -m
scutil --get ComputerName
df -h /

Typical output on an Apple silicon Mac:

ProductName:        macOS
ProductVersion:     15.5
BuildVersion:       24F74
arm64
Flavios-MacBook-Pro
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/disk3s1s1  926Gi   9.8Gi  704Gi     2%    /

sw_vers describes macOS. The BuildVersion line matters more than the marketing version: two Macs can both say “15.5” and still run different builds.

uname -m reports the architecture of the current system. You will see arm64 on Apple silicon and x86_64 on an Intel Mac. Almost every install decision in this course depends on this value.

scutil --get ComputerName gives the machine a name you can reference in notes. df -h / tells you how much room the boot volume has left before you start pulling down SDKs and container images. Passing / keeps the output to one line; without it, df lists every mounted volume.

Store the baseline

Create a small baseline file in a private setup repository:

mkdir -p ~/setup
{ date; sw_vers; uname -m; scutil --get ComputerName; df -h /; } > ~/setup/baseline-2026-08-03.txt

Date the filename. After each macOS upgrade, write a new file instead of overwriting the old one. The sequence of baselines becomes a timeline you can line up against “when did this start failing?”.

One warning: keep serial numbers and other unique hardware identifiers out of a public repository. system_profiler SPHardwareDataType prints the serial number and provisioning identifiers. Collect it locally if you want, but treat that output as private.

The common mistake is skipping this lesson because the machine works today. The baseline costs one minute now. Reconstructing it later, from a machine that has already changed, is guesswork.

Lesson completed

Take this course offline

Get every free book and course as PDF and EPUB files.

Get the download library →