New machine setup checklist
- Set up iCloud account.
- Install 1Password.
- Install
Google Drive, Dropbox,Maestral. Sync. - Install Karabiner-Elements.
- Install iTerm 2. Install Homebrew.
- Change computer and host name:
sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"
- Stop Time Machine local snapshots.
tmutil disablelocal
was deprecated since Mojave. Use TimeMachineEditor instead.
- Create a global
gitignore
file at~/.gitignore
.- See this one as an example.
git config --global core.excludesfile ~/.gitignore
- Generate and add SSH key to GitHub account.
- Turn off the iCloud sync of Photos before library migration.
- Turn off the Spotlight.
- Turn on the Night Shift in System Preferences - Display, set the schedule to Custom (6 pm to 6 am).
- Turn off the auto boot feature.
sudo nvram AutoBoot=%00
- Turn it back on by
sudo nvram AutoBoot=%03
or usenvram -p
to check the current value.
- Generate and add SSH key to GitHub account.
- As GitHub stopped supporting users from using account passwords for authenticated Git operations. We need to do the following set up:
-
Generate an SSH key on the new device as no SSH keys exist inside
.ssh
ssh-keygen -t ed25519 -C “email@example.com”
- Enter the path with filename
/Users/myname/.ssh/id_ed25519_github
after the prompt - Enter a passphrase (optional), then
id_ed25519_github
andid_ed25519_github.pub
will appear
-
Add the SSH key to ssh-agent
-
Start the ssh-agent by
exec ssh-agent zsh
-
Add newly created SSH private key to the ssh-agent by
ssh-add —apple-use-keychain ~/.ssh/id_ed25519_github
-
Create a config file
touch ~/.ssh/config
with: -
Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519_github
-
-
Add the SSH key to GitHub account
pbcopy < ~/.ssh/id_ed25519_github.pub
- On GitHub, Settings -> SSH and GPG keys -> New SSH key
-
Additionally, inside
.git/config
, use SSH url instead of HTTPS url.
-
- As GitHub stopped supporting users from using account passwords for authenticated Git operations. We need to do the following set up:
- Install essential applications in the following list.
A list of applications installed and/or frequently used on my device.
🎫: requires a license
🔁: requires a recurring subscription
: downloaded from App Store
- CleanMyMac X. A system cleaner.
- AlDente. A macOS charging limit tool. 🎫
- Amphetamine. The tool that keeps the machine awake for infinity. A true heir of Caffeine.
Cmd
+Shift
+A
: turn on/off
- Bartender. macOS Menubar extension. 🎫
- BetterDisplay. Display customization tool. From the same developer of Monitor Control. 🎫
- Karabiner Elements. Key mapping customizer.
Hyper
==Cmd + Ctrl + Option + Shift
Shift
+Backspace
: Forward delete- Complex modifications: Change
caps_lock
toCmd + Ctrl + Option + Shift
.
- Logi Options+. Customize Logitech peripherals.
- Moom. macOS window organizer, with more in-depth customizations than Rectangle. 🎫
Cmd
+Option
+M
: toggle Moom keyboard control.
- pake turning any webpage into a desktop app with Rust.
- Raycast. Extendable launcher substitute to Spotlight, with an extension store.
Option
+Space
: Activate Raycast.
- Rocket. Emoji launcher with one-key shortcut. 🎫
- Use
:
to trigger the app.
- Use
KeyCastr. Open source keystroke visualizer.Hyper
+K
: Toggle capturing
Alfred. The Spotlight before Spotlight, the king of my macOS productivity. Powerpack purchased. 🎫Option
+Space
: Activate Aflred search bar.
coconutBattery. Battery reading.f.lux. Control the on-screen color temperature.HazeOver. Dim the windows out of focus and the background to create a distraction-free workspace. 🎫Kap. Open source screen recorder.PopClip. Mouse selection extension. More extensions
Rectangle. macOS window organizer.Hyper
+1/2/3/4
: current window to the 1st/2nd/3rd/4th quadrant of the screenHyper
+ arrow keysHyper
+C
: centerCtrl
+Option
+D
: First third (depends on the orientation of the monitor, could be horizontal or vertical)Ctrl
+Option
+F
: Second thirdCtrl
+Option
+G
: Last thirdCtrl
+Option
+E
: First two thirdsCtrl
+Option
+T
: Last two thirds
- Android File Transfer
- DaisyDisk. Analyzing disk usage with a wind rose diagram.
- DEVONthink 3. Organize async files, as the counterpart of my cloud storage. 🎫
- Maestral. Open source Dropbox client, simpler, smaller, less memory needed.
- Gemini. Duplicate finder. 🎫
- iMazing 2. iOS device management. Single device allowed. 🎫
- TimeMachineEditor. Manually control Time Machine backup schedule.
brew install --cask timemachineeditor
- Transmit. File transfer between macOS and servers. 🎫
- upic. A native, powerful, beautiful and simple picture and file upload tool for macOS.
- 1Password. THE password manager for the last decade. Requires yearly subscription. 🔁
Cmd
+Option
+P
: Open 1Password
- 1Blocker. Content blocker on Safari.
- Arc.
- Firefox.
- Follow this blog post to remove tab bar for a more focused, vertical-tabbed experience.
- Safari
- In Safari, go to Preferences - Advanced, turn on "Show Develop menu in menu bar".
- Hush. Content blocker for Safari.
- Keepa. Amazon price tracker.
Thunderbird. Multi-platform email client.
- balenaEtcher. Flash OS images to SD cards & USB drives, safely and easily.
- Dark Noise. White noise app.
- Keka. File archiver.
- Latest. Checks applications' latest update on macOS.
- Maccy. Open source clipboard management.
- mac-cleanup-py clean up script for macos.
- Numi. Calculator with freedom. 🎫
- OpenCat. Native GPT interactions.
- PCalc. Calculator app on macOS.
- QLMarkdown. macOS Quick Look extension for markdown files.
brew install --cask qlmarkdown
- RIME | 中州韵输入法. "Rime Input Method Engine, rimes with your keystrokes."
- Shottr. Great substitute to CleanShot X.
Cmd
+Shift
+3
= Shottr area screenshotCmd
+Shift
+4
= Shottr active window screenshotCmd
+Shift
+5
= Shottr fullscreen screenshot
MD Clock. Clock app. Cheatsheet.Transmission. A BitTorrent client.
- Day One. My daily journal app. 🔁
- Drafts. One-in-all text/draft app. 🔁
Cmd
+Shift
+1
= Drafts main windowCmd
+Shift
+2
= Drafts quick entry
- Marked 2. Markdown preview built from a while ago. It's not that useful any more. 🎫
- MiaoYan 妙言. Lightweight Markdown app.
- Obsidian. Second brain/digital garden/Zettelkasten. Use Dropbox to sync settings and vaults.
- texifier. LaTeX editor. 🎫
Buckets. Private family budgeting app.MarkText. Open source Markdown editor.Substitute for Typora🎫brew install --cask mark-text
Mactracker. Information of all Apple devices. I switched to writing down everything on a Note. Tripsy. Travel planning app. 🔁
- Anaconda. Data science resource management for Python (mainly) and R (not really.)
- I also use poetry for python package management.
conda config —set auto_activate_base false
. Do not activateconda
by default.
- bun. A modern JS runtime.
curl -fsSL https://bun.sh/install | bash
- GitHub Desktop. Easy-to-use Git GUI.
- Homebrew. THE package manager for macOS.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- iTerm 2. Terminal, but better than Terminal.
- OrbStack, a light-weight Docker and Linux runtime management.
- Ollama, a tool for running LLM locally.
- Vim. The editor.
- Visual Studio Code. Code editor.
- Processing. Generative art playground.
- julia
brew install --cask julia
- R. THE statistical programming language.
- RStudio. Open source IDE for R language.
- Custom theme Cobalt2 from TmTheme Editor, available in config/cobalt2.tmTheme.
- Quarto. An open source scientific and technical publishing system built on Pandoc.
brew install --cask quarto
- MacTeX. LaTeX distribution for macOS.
brew install --cask mactex
- Follow this blog to set up.
- Restart the machine to resolve the path issue.
- Xcode.
I'm not a huge command-line user but I do have some tools I'm relatively familiar with.
The installation could be error-prone as the name of the package sometimes deviates from formula name on Homebrew.
Package | Formula | Command | Description |
---|---|---|---|
asciinema |
asciinema |
asciinema |
Record and share terminal sessions. |
bat |
bat |
bat |
A cat clone with wings. |
exa |
exa |
exa |
A modern replacement for ls . |
exiftool |
exiftool |
exiftool |
Read/write meta information of files. |
fzf |
fzf |
fzf |
A command-line fuzzy finder. |
neofetch |
neofetch |
neofetch |
A command-line system information tool. |
neovim |
neovim |
nvim |
Vim-fork focused on extensibility and agility. |
procs |
procs |
procs |
A modern replacement for ps . |
rip |
rm-improved |
rip |
A command-line tool for ripping audio CDs. |
scc |
scc |
scc |
Count lines of code quickly. |
tldr |
tldr |
tldr |
Simplified and community-driven man pages. |
tre |
tre-command |
tre |
A recursive directory listing command better than tree . |
tmux |
tmux |
tmux |
Terminal multiplexer. |
vim |
vim |
vim |
|
btop |
btop |
btop |
A monitor of resources |
fx |
fx |
fx |
A command-line JSON processing tool. |
Or directly call the following command:
brew install asciinema scc exa tldr bat exiftool fzf procs rm-improved tre-command neofetch vim neovim tmux btop fx
- Affinity Designer 2. 🎫
- Affinity Photo 2. 🎫
- Affinity Publisher 2. 🎫
- Audacity. Open source audio editor.
- CapCut.
- Darkroom. Very powerful and user-friendly photo + video editor in Apple's ecosystem. 🎫
- Downie. Internet video downloader, great browser plugins. 🎫
- Final Cut Pro.
- Motion.
- Compressor.
- Fujifilm X RAW Studio.
- Eagle. Reference images organization. 🎫
- Aseprite. A animated pixel art editor. Purchased on Steam. 🎫
- PhotoBulk. Quick photo editor.
- PICO-8. Fantasy retro console game engine. 🎫
- Anki. A Open source flashcard tool.
- CARROT Weather.
- feeeed. A solid alternative RSS reader.
- Flighty.
- Ivory for Mastodon.
- NetNewsWire. Open source RSS reader.
- skim. Open-source pdf solution.
- PDF Expert. PDF editor and reader. 🎫
- Pins. Modern Pinboard app on macOS.
- Pocket Casts. Third-party podcast client. 🎫
- Readwise Reader.
- Reeder. RSS reader.
C
: Copy linkF
: Open in Firefox
- 小宇宙. 用来收听中文独占播客的客户端。
Tweetbot. Third-part Twitter client after all those years, still standing.
- Due. Aggressive reminder app. 🔁.
- Fantastical. A calendar and todo list app with great NLP input support. 🎫
Cmd
+Option
+F
: create new event/reminder
- Cardhop. 🎫
- Things 3. The best GTD from my perspective.
Ctrl
+Space
: quick entry. Clear. One of the GTD apps with the best interactions. Itsycal for Mac. A menubar calendar.
- Discord.
- Slack. Workspace communication.
- Telegram. IM.
- 微信 WeChat. Hate it but have to.
- Zoom. For conference meeting, of course.
- Books. System built-in EPUB reader.
- calibre. E-book management software.
- calibre-douban. 豆瓣插件.
- Fix Kindle Ebook Cover. A tool to fix damaged cover for Kindle.
- IINA. Open source media player.
- MultiViewer for F1
- MusicHarbor.
- MusicBox. Bookmark for songs to listen later.
- Play. Watch later queue management.
- Sequel. Keep track of the movies, shows, games, books and audiobooks.
- Spotify
- Steam
- YACReader. A cross-platform comic reader. Installed with Homebrew
brew install --cask yacreader
.
- Brooklyn. Screensaver inspired by Apple's Event on October 30, 2018.
- Fliqlo Flip Clock. The classic.
- fruit. Retro Apple.
- Readex Pro (
Lexend), sans-serif - Montserrat, sans-serif
- Roboto family
- Roboto, sans-serif
- Roboto Condensed, sans-serif
- Roboto Flex, sans-serif
- Roboto Slab, serif
- Roboto Serif, serif
- Roboto Mono, monospace
- IBM 3270, monospace
- JetBrains Mono, monospace
- Ubuntu Monospace, monospace
- Noto Mono for Powerline, monospace
- Amazon Ember and Bookerly from Amazon Complete Font Set, sans serif, serif
- LXGW WenKai / 霞鹜文楷, serif
- LXGW Neo XiHei / 霞鹜新晰黑, sans-serif
- 喜鹊宋体, serif
- Atkinson Hyperlegible, sans-serif
- Charis SIL, serif