toolbox
updated on 2025-12-29
新的设备到手之后最好还是从头设置一遍。我就有点后悔去年的 Mac Mini 是从 time machine 恢复的,至今还能在里头找到很多「前世记忆」。
基调
一,尽量不要对 app 做太多个性化的更改,开箱即用是最好的;如果复杂到需要单独导入设置备份,那么就单独拎出来提一嘴。
二,尽量用 brew install --cask 来安装。
实操
第一步,安装 homebrew. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
第二步,新建一个脚本文件 brew_setup.sh
#!/usr/bin/env bash
set -e # exit on error
# Update brew first
brew update && brew upgrade
# tools
cli_tools=(
bat btop emacs-plus eza fish fx git jq neofetch
neovim ollama procs r tmux uv wget you-get zoxide
)
# apps
cask_apps=(
1password 1password-cli ghostty antinote applite maestral
raycast anki cursor iina keka obsidian maccy
pearcleaner r shottr skim squirrel-app steam
positron zen
)
# tap repo(s)
brew install tw93/tap/mole
brew tap d12frosted/emacs-plus
# install
brew install "${cli_tools[@]}"
brew install --cask "${cask_apps[@]}"
# start services
# brew services start ollama
# brew services stop ollama
第三步,运行以上脚本文件安装。
chmod +x brew_setup.sh
./brew_setup.sh
第四步,从 Mac App Store 里安装 things 3, ia writer, reeder, ivory, xcode. 另外还有以下 safari 插件:sink it for reddit, ublock origin lite, dark reader, keepa, singlefile, untrap.
第五步,从网站下载安装 pico-8, love2d.
第六步,fish 设置成默认 shell.
# 确认 fish 位置
which fish
# 应该是 /opt/homebrew/bin/fish
# 路径添加到允许的 shell 列表
echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
# 改为默认 shell
chsh -s /opt/homebrew/bin/fish
# 重开 terminal 确认
echo $SHELL
# One more thing
fish_add_path /opt/homebrew/bin
# 打开在浏览器中设置
fish_config
在 config.fish 文件中添加:
Add the following lines to ~/.config/fish/config.fish
zoxide init fish | source
# aliases
alias pip=pip3
alias python=python3
# eza file listing
if type -q eza
alias ll "eza -l -g --icons"
alias lla "ll -a"
end
第七步,单独的 app 设置。主要是两个:1password 和 raycast. 前者从云端回复备份,后者在免费版的情况下需要从本地设置备份恢复。
第八步,配置 git. 用 1password 里的 ssh-agent 生成并添加 ssh key 给 github 账号。另外可以创建一个全局的 gitignore 文件。git config --global core.excludesfile ~/.gitignore_global
第九步,safari - preferences - advanced, 打开 show develop menu in menu bar.
第十步,根据 synology 的操作步骤在 NAS 里单独创建一个 time machine 备份。
第十一步,修改以下的 keyboard shortcuts:
- system settings - keyboard - keyboard shortcuts
- input sources - select next source in input menu: shift + command + space
- screenshots: turn them off
- spotlight - show spotlight search: option + space
- shottr
- cmd + shift + 3: free select
- cmd + shift + 4: select window
- cmd + shift + 5: fullscreen
- things 3 - quick entry: ctrl + space
- clipboard history app (pastebot, raycast, or maccy) - cmd + shift + v
- raycast
- invoke: cmd + space
- hyperkey: caps lock
- hyperkey + specific letter = launch an app, e.g. hyper + P = quick access to 1password, hyper + F = calendar app (多少因为 fantastical 时期留下来的习惯), hyper + O = obsidian (如果有 bettertouchtool 则交给它管理)
- emoji selector: ctrl + cmd + space
第十二步,去 system settings 里做三件事:
- 除非万不得已,关闭绝大多数 app 的 notifications.
- 尽量减少 menu bar 中的项目,有些也在各自 app 中设置。
- 减少 login items 和 app background activity 允许的 app.
第十三步,更改 computer name, host name 和 local host name:
# check
scutil --get ComputerName; scutil --get LocalHostName; scutil --get HostName
# set
sudo scutil --set ComputerName new-computer-name
sudo scutil --set LocalHostName new-local-host-name
sudo scutil --set HostName new-host-name
我的习惯是把 computer name 用我的常用 handle + 数字组合,hostname 则用一个简单的名字。
潜在的第十四步,doom emacs 需要单独配置一下,这里就不赘述了。先前选择用 emacs-plus 而不是 homebrew 直接安装 emacs,也是因为需要 built with native compilation support.
到这里就算是完工了。
toolbox maximalism
之前我喜欢把自己电脑上目前安装的 app 做成一个不定期更新的列表,然后把当下没有安装,但是以前用过的 app 放在后面。现在觉得太麻烦了,尤其是有 mini + air 两台设备之后,维护就更添一分精力。
索性做一个大合集堆在一起,也不做简单描述了,纯粹作为一个记录。如果未来的我在设置新电脑的时候有需要可以快速瞥一眼过一遍——反正最核心的需求已经在上述的安装过程中满足了。
1Password, Adobe Digital Editions, Amphetamine, Anki, Anybox, Antinote, Applite, Aseprite, BetterTouchTool, Buckets, calibre, ChatGPT + Codex, Claude + Claude Code, Cursor, DaisyDisk, DEVONthink 4, Discord, Downie, Drafts, Due, Eagle, Fujifilm X RAW Studio, Gemini, Ghostty, GoodLinks, Hush, iina, iTerm2, Keka, Lunar, Maccy, Maestral, Marked 2,
mole, MultiViewer for F1, Musicbrainz Picard, MusicBox, MusicHarbor, Nicotine+, Obsidian, Obsidian Web Clipper, Ollama, OrbStack, PasteBot, PCalc, Pearcleaner, Permute 3, PhotoBulk, PICO-8, Picotron, Play, Plex, Positron, Raycast, RIME | 中州韵输入法 (鼠须管, 东风破, 雾凇拼音), SaneSideButtons, Sequel, Shareful, Shottr, Skim, Sleeve 2, Steam, Telegram, Transmission, undercut-f1, 微信 WeChat, xld, Zen Browser, Zwift
字体
- Lexend, sans-serif,
brew install --cask font-lexend - Roboto, sans-serif,
brew install --cask font-roboto - Roboto Mono, monospace,
brew install --cask font-roboto-mono - IBM 3270, monospace,
brew install --cask font-3270,brew install --cask font-3270-nerd-font - JetBrains Maple Mono, monospace,
brew install --cask font-jetbrains-maple-mono,brew install --cask font-jetbrains-maple-mono-nf - Victor Mono, monospace,
brew install --cask font-victor-mono - Ubuntu Mono, monospace,
brew install --cask font-ubuntu-mono - Amazon Ember and Bookerly from Amazon Complete Font Set, sans serif, serif
- LXGW WenKai / 霞鹜文楷, serif
- LXGW Neo XiHei / 霞鹜新晰黑, sans-serif
- 喜鹊宋体, serif, paid
- Atkinson Hyperlegible, sans-serif,
brew install --cask font-atkinson-hyperlegible- Next, sans-serif,
brew install --cask font-atkinson-hyperlegible-next - Mono, monospace,
brew install --cask font-atkinson-hyperlegible-mono
- Next, sans-serif,
- Charis SIL, serif,
brew install --cask font-charis-sil - Server Mono, monospace,
brew install --cask font-server-mono
归档
Affinity V2 Suite, AlDente, Alfred, Android File Transfer, Audacity, Brooklyn, coconutBattery, Concept2 Utility, Dark Noise, Darkroom, Day One, Deliveries, Fantastical, Figma, Final Cut Pro + Motion + Compressor, Flighty, Fliqlo Flip Clock, GitHub Desktop, Handbrake, Ice, Itsycal for Mac, Karabiner Elements, KeyCastr, KeyClu, Klack, Latest, LocalSend, Loop, Mactracker, mac-cleanup-py, Min Browser,
monolith, Moom, NetNewsWire, Numi, OpenEmu, Pictogram, Pins, Plain Text Editor, Pocket Casts, Reeder Classic, Reminders Menubar, Rocket, Scratchpad, SD Card Formatter, Spotify, Tapestry, texifier, TimeMachineEditor, Transmit, Visual Studio Code, VLC, YACReader, Zed