New MacBook Setup
Record the setup process after getting my new MacBook, including system settings, software recommendations, accessory selection, usage experience, and other related content.
June is here again, and the temperature is climbing fast.
My ITX desktop sitting next to me has basically turned into a space heater—hot, noisy, and impossible to ignore. On the other side, my Intel-based MacBook Pro, when hooked up to an external monitor, starts sounding like a jet engine even under light workloads. With these two “old warriors” running side by side, my bedroom is easily a couple of degrees warmer than the living room. And performance-wise, they’re no longer keeping up with today’s development workloads. That alone is reason enough for an upgrade.
So the real question is: what should I get next?
After a fairly long period of hesitation and comparison, I finally settled on a 13-inch sky blue MacBook Air M5 with 32GB of RAM and a 1TB SSD. On JD.com, I stacked China’s national subsidy (-1,500 RMB) with Apple’s education discount (-800 RMB), bringing the final price down to 10,549 RMB. This purchase gave me yet another reminder of how aggressively Apple prices memory and storage. Let’s just say it’s… priced like gold.
Originally, I wanted the silver model. It’s the classic, timeless Apple color—you really can’t go wrong with it. But it had been out of stock for months, and the sky blue version was the only one available. So I went with it.
Turns out, it was a pleasant surprise. Outdoors, the blue is obvious and vibrant. Indoors, it shifts into a soft silver-gray tone depending on the lighting. It almost feels like I ended up with two different colorways in one device.
Not a bad trade.
Settings
System Settings
Battery
I keep my Mac plugged in most of the time, so I set a charge limit to extend battery lifespan. This is a built-in feature introduced in macOS 26.4, whereas I previously had to rely on third-party tools like AlDente.
Go to:
System Settings → Battery → click the ⓘ (Info) button next to Battery Health
Then:
- Turn on Optimized Battery Charging
- Set Charge Limit to 80%
Menu Bar
The notch on the MacBook display splits the menu bar into two sections, which can be annoying in practice. When there are too many menu bar icons, some of them get hidden behind the notch.
To fix this, I manually remove unnecessary menu bar items: hold Command (⌘) and drag the icon downward out of the menu bar to remove it
Accessibility → Pointer Control
- Adjust Double-click speed
- Trackpad Options:
- Adjust Scrolling speed
- Enable Use trackpad for dragging
- Set dragging style to Drag Lock
With Drag Lock enabled:
- Double-tap, then hold briefly on the second tap before lifting your finger → enters drag lock mode
- You can release your finger while still dragging
- Tap again to release the lock
This is especially useful when selecting large blocks of text.
Desktop & Dock
- Change Click wallpaper to reveal desktop → Only in Stage Manager
- Enable Drag windows to screen edges to tile
- Enable Group windows by application
- Set Hot Corners:
- Top-left: Mission Control
- Top-right: Application Windows
- Bottom-left: App Exposé
- Bottom-right: Desktop
Keyboard
- Increase Key Repeat rate
- Decrease Delay Until Repeat
Trackpad
- Enable Tap to click
- Set App Exposé to three-finger or four-finger swipe down
Finder Settings
Open Finder settings via: Menu bar → Finder → Settings
- General
- Enable: Open folders in tabs instead of new windows
- Set New Finder windows show: a custom folder of your choice
- Advanced
- Show all filename extensions
- When performing a search: Search the Current Folder
- View
- Show Path Bar
- Customize Toolbar
- View Options → Always open in Column View
- Show hidden files
- Shortcut: Shift + Command + .
- Or permanently enable hidden files via Terminal:
defaults write com.apple.finder AppleShowAllFiles -bool truekillall Finder
Software Recommendations
Homebrew
Homebrew is a well-known package manager for macOS. In most cases, you can install software with a single command, which is significantly more convenient than on Windows.
Before installing Homebrew, you need to install Command Line Tools (CLT) for Xcode. There are two ways to do this:
- Run the following command in Terminal (no full Xcode required):
xcode-select --install - Alternatively, install the full Xcode from the App Store, then accept the license in Terminal:
sudo xcodebuild -license accept
After that, install Homebrew by running:
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
Verify installation:
1 | brew doctor |
Font
- Maple Mono NF
brew install --cask font-maple-mono-nf - FiraCode
brew install font-fira-code
Development
Terminal
First, install some basic tools:
1 | brew install \ |
Then install the classic iTerm2 to replace the default terminal:
1 | brew install --cask iterm2 |
Install Oh My Zsh:
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Install some Zsh plugins:
1 | brew install zsh-autosuggestions |
Then add the following contents to your .zshrc file:
1 | source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh |
Install Powerlevel10k and follow the setup guide to configure a more attractive theme:
1 | brew install powerlevel10k |
Change Color Scheme
- First, download the color scheme file, such as Atom One Dark,
- Then, import the new color scheme in iTerm2’s settings
- Click iTerm2 → Settings in the menu bar
- Switch to the Profiles → Colors tab
- Click Color Presets
- Click Import, select the downloaded
.itermcolorsfile, and import it
Dev Env Management
mise
Manage the versions of your developer tools on different projects with mise.
1 | brew install mise |
Enable mise in your terminal.
1 | echo 'eval "$(mise activate zsh)"' >> ~/.zshrc |
Verify installation:
1 | mise doctor |
uv
Use uv to manage Python virtual environments as an alternative to conda.
1 | brew install uv |
Verify installation:
1 | uv --version |
Language and Runtime
Python
1 | mise use --global python@3.12 |
Verify installation:
1 | python --version |
Node.js
1 | mise use --global node@22 |
Verify installation:
1 | node -v |
Go
1 | mise use --global go@latest |
Verify installation:
1 | go version |
Ruby
1 | brew install libyaml |
.NET
1 | mise use --global dotnet@8 |
Verify installation:
1 | dotnet --version |
Dev Tools
VSCode
1 | brew install --cask visual-studio-code |
Android Studio
1 | brew install --cask android-studio |
OrbStack
Alternative to Docker Desktop
1 | brew install --cask orbstack |
Unity Hub
Unity still requires Rosetta for translation.
1 | softwareupdate --install-rosetta --agree-to-license |
Flutter
Use FVM to manage Flutter versions across different projects.
1 | brew install fvm |
SourceTree
Git GUI
1 | brew install --cask sourcetree |
SSH and GPG
I have written a related blog post before. Please visit GitHub SSH Remote Connection Configuration and GPG Commit Signature Verification
Browser
Zen Browser
1 | brew install --cask zen |
Chrome
1 | brew install --cask google-chrome |
Security
LuLu
LuLu is a free, open-source firewall that blocks unknown outgoing connections.
1 | brew install --cask lulu |
KnockKnock
KnockKnock shows you what’s persistently installed on your Mac.
1 | brew install --cask knockknock |
BlockBlock
BlockBlock monitors common persistence locations and alerts whenever a new persistent component is added.
1 | brew install --cask blockblock |
KeePassXC
Cross-platform Password Manager.
1 | brew install --cask keepassxc |
Writing
Obsidian
Take notes with Markdown.
1 | brew install --cask obsidian |
Zotero
Organize your research source.
1 | brew install --cask zotero |
PDFgear
Free PDF editing tools that require manual download and installation: PDFgear
LaTeX
MacTeX, also needs to be downloaded and installed manually.
I previously wrote a blog post about the installation process, please visit: Quick Setup Guide for LaTeX in VSCode
Thunderbird
Email app.
1 | brew install --cask thunderbird |
EasyDict
Global Text Selection Translation and OCR Translation.
1 | brew install --cask easydict |
Media
IINA
Media player.
1 | brew install --cask iina |
OBS
Screen recording.
1 | brew install --cask obs |
Blender
3D modeling.
1 | brew install --cask blender |
Kdenlive
Video editor.
1 | brew install --cask kdenlive |
webp-automation
macOS automation to quickly resize images and convert to webp.
GIMP
Image editor.
1 | brew install --cask gimp |
Works best when used with PhotoGIMP
macshot
Screenshot.
1 | brew install --cask macshot |
File Management
Keka
An archive extraction tool, but the free version from Homebrew doesn’t have the preview feature for compressed files.
1 | brew install --cask keka |
PeaZip
PeaZip is an archiving tool that supports previewing compressed files. However, its right-click menu is located in a submenu, and you’ll need to download and install it manually.
LocalSend
Share files and messages with nearby devices over your local network.
1 | brew install --cask localsend |
OneDrive
1 | brew install --cask onedrive |
SourceCodeSyntaxHighlight
The application offers a Quick Look Extension for macOS 10.15 Catalina and later for previewing source files. Inside it uses Highlight to render source code with syntax highlighting.
1 | brew install syntax-highlight |
Utilities
I collected a set of small tools that improve productivity and overall user experience. You can pick and choose based on your own needs. Some of them felt very useful right after switching from Windows to macOS, but after using them for a while, I realized they were ultimately not that necessary.
Raycast
A collection of powerful productivity tools all within an extendable launcher.
1 | brew install --cask raycast |
Stats
A system monitor that lives in your menu bar
1 | brew install stats |
DockDoor
Free Alt+Tab and Native Dock Previews for Mac
1 | brew install --cask dockdoor |
HiddenBar
Utility to hide menu bar items.
1 | brew install --cask hiddenbar |
BetterDisplay
Enabling HiDPI on a 2K external monitor and monitor controls.
1 | brew install --cask betterdisplay |
PureMac
Application manager and system cleaner
1 | brew install --cask puremac |
FineTune
A menu bar app for per-app volume control.
1 | brew install --cask finetune |
MOS
Smooth scrolling for mouse wheels on macOS.
1 | brew install --cask mos |
BetterAndBetter
Keyboard, mouse and touchpad motion gestures.
1 | brew install --cask betterandbetter |
AltServer
Side loading apps to your iPhone
1 | brew install --cask altserver |
Windows App
Remote control your windows devices.
1 | brew install --cask windows-app |
RClick
This right-click menu tool can only be installed manually here . It enables operations such as creating new files via the right-click menu.
Karabiner-Elements
A powerful key remapper
1 | brew install --cask karabiner-elements |
Accessories
All of the accessories below were purchased from Taobao in China.
Sleeve
I bought the UGREEN LP187 sleeve for just 26.9 RMB. The 12-inch version fits the 13-inch MacBook Air almost perfectly—snug with no extra space.
The downside is obvious: there’s no shock-absorbing air padding around the edges. But at this price point, there’s not much to complain about.
Docking Station
Currently, I’m using an old Lenovo Type-C to 4×USB-A hub. The cable is too short, so plugging and unplugging it constantly puts strain on the MacBook.
I plan to replace it with the Acasis DS-9903 docking station. It has a much more complete set of ports:
- 3× USB-A ports
- 1× HDMI (4K@60Hz)
- 1× Gigabit Ethernet
- 1× 3.5mm audio jack
- SD and TF card slots
- USB-C PD passthrough charging
It also comes with a 1-meter cable, which is significantly more convenient for desk use.
Video Cable
I’m currently using a Type-C to DisplayPort cable from HAGiBiS (a typical “cyber electronics store” brand in China). It supports up to 8K@60Hz or 4K@144Hz.
If I switch to a dock with built-in video output, this cable will likely become unnecessary.
External Storage
Apple storage is still “priced like gold,” so external storage is essential if internal space is not enough.
I have an old Samsung 860 EVO SATA SSD, as well as a Kioxia RC10 NVMe SSD removed from my ITX build.
For the SATA drive, I simply used a UGREEN 2.5-inch enclosure and formatted it as APFS, mainly for Time Machine backups.
For the M.2 SSD, I’m planning to use a HAGiBiS enclosure (mainly for aesthetics). It uses a 9210CN controller, which is decent.
Some purchasing notes:
- Prefer DRAM-less SSDs (lower heat output)
- Good-value enclosures usually use 9210 or JMS583 controllers; 9210 tends to have better compatibility
- ITGZ is often recommended for value, but the included cable is poor. Note that JiaYi, ITGZ, and Rihao are effectively from the same OEM.
- Avoid “slide-in” (push-pull) designs; thermal pads often make poor contact, leading to worse heat dissipation
- For long-term use, avoid cheap enclosures under 100 RMB if you care about TRIM support, which is rare at the very low end
Laptop Lift
A basic laptop lift. The goal is simple: align the MacBook display height with the external monitor to reduce neck strain.
Screen Cleaning
I use ZEISS isopropyl alcohol lens wipes and 3M microfiber cloths.
Cleaning process:
- Stand the MacBook vertically and use an air blower to remove dust
- Lightly dampen the microfiber cloth, then wipe the screen in a single direction
- Use isopropyl alcohol wipes for stubborn smudges
Unofficial Cooling Hack
The core issue with MacBook Air thermal performance is that Apple leaves a small gap between the CPU heat spreader area and the bottom chassis. This is reportedly related to regulatory constraints—there are claims that EU regulations limit surface temperatures on the bottom case to around the mid-40°C range.
The workaround is simple but clearly unofficial:
- Open the bottom case
- Place a thermal pad between the CPU shield area and the chassis
- Use the bottom case as a passive heat spreader
- Optionally use a small external fan blowing across the chassis under load
After this modification, thermal performance under sustained load can approach that of a single-fan MacBook Pro-class system, at a cost of under 200 RMB.
However, it is very much a “hack.” Important notes:
- Use silicone-free thermal pads, otherwise oil leakage can occur and leave permanent stains
- Under heavy load, the bottom case becomes extremely hot—lap use becomes unsafe
- Additional insulation near the battery may be needed, but this is debated since air itself is a poor conductor
Usage Experience
Before buying the MacBook Air, I was concerned about fanless thermal throttling. After using it for a while, it turned out to be mostly fine. Apple Silicon efficiency is genuinely extreme.
- Daily workload: one external display, a browser with 20 tabs, background music playback, and VS Code
- idle temperature around 30°C
- system power draw around 7W
- Flutter development with iOS Simulator (debug mode):
- around 60°C; hot reload can push it to 80°C
- no noticeable throttling, though my projects are relatively small
- App builds:
- CPU spikes to full load, temperature rises rapidly (hits peak within 1 second), then throttles
- but temperatures drop quickly after compilation
- even with throttling, it is still significantly faster than my old ITX setup (2+ minutes vs 20 seconds)
- 32GB RAM:
- typical usage around 20GB
- many background utilities running
- memory pressure has not turned yellow so far
Finally, the key point: fanless operation.
Especially at night, the silence is noticeable in a way you only appreciate after switching from a desktop or Intel machine.
No fans, no dust cleaning, no background noise—just a completely quiet system.