주요 내용으로 이동하기

Homebrew로 맥 초기 세팅 끝내기

수많은 앱을 하나씩 깔고 있을 필요가 없어요

개요

이젠 3시간을 버틸까 말까하는 배터리를 가진 2018년 출시된 인텔 맥북을 쓰다, M3 맥북 에어 출시로 인해 가격이 왕창 낮아진, 게다가 에어팟까지 공짜로 얹어 준다는 M2 에어를 구입하기로 마음을 먹었습니다.

과거에 뭘 잘 몰랐던 상태에서 터미널에 입력했던 명령어들이 새 기계에 어떤 영향을 미칠지 모르기 때문에, 마이그레이션(영혼백업) 하는 대신 처음부터 세팅하기로 마음을 먹었습니다.

초기 설정 과정에서, 여러 앱을 한 번에 설치하는 데에 Homebrew의 도움을 많이 받았습니다. 홈브루 설치로 시작하여 이전 맥 초기화로 끝난 macOS 초기 설정 과정을 담아보았습니다.

준비운동

Homebrew 설치

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew 자동 업데이트 켜기

homebrew-autoupdate를 사용합니다.

brew tap homebrew/autoupdate

이제 brew autoupdate를 사용할 수 있습니다.

brew install pinentry-mac terminal-notifier

pinentry-mac--sudo 옵션을 위해, terminal-notifier는 업데이트 시 알림 센터로 알림을 받기 위해 필요합니다.

brew autoupdate start --upgrade --immediate --cleanup --sudo

이제 컴퓨터를 켤 때, 그리고 24시간마다 brew update && brew upgrade && brew cleanup이 자동으로 실행됩니다.

프로그램 설치

Homebrew Formulae

brew install cloudflared ffmpeg gh pnpm yt-dlp

pnpm을 쓰기 위해선 Node.js가 필요하다는 안내가 나오지만 이따 설치할 것이기 때문에 괜찮습니다.

Homebrew Casks

brew install --cask alt-tab appcleaner coconutbattery coteditor deepl discord dupeguru figma firefox fork google-chrome hazeover httpie iina imageoptim iterm2 itsycal jitsi-meet karabiner-elements keka kekaexternalhelper latest logitech-options macs-fan-control microsoft-excel microsoft-powerpoint microsoft-word monitorcontrol mos naver-whale netdownloadhelpercoapp notion obs obsidian openinterminal protonvpn raindropio ransomwhere raycast rectangle reminders-menubar selfcontrol sf-symbols shottr signal slack telegram tomatobar visual-studio-code warp xcodes xld zoom

사용하게 될 앱들을 설치해 줍니다.

ransomwhere 사용을 위해서는 Rosetta 설치가 필요하기 때문에 해당 앱을 사용할 예정이라면 softwareupdate --install-rosetta를 먼저 해 주면 됩니다.

각각 왜 필요한지 Claude에게 설명을 부탁해 보았습니다. 틀린 내용은 제가 약간 수정했습니다.

제가 각 cask의 용도를 설명해 드리겠습니다.

  • alt-tab: Windows와 같은 Alt+Tab 창 전환 기능을 제공합니다.
  • appcleaner: 맥에서 어플리케이션을 완전히 삭제할 수 있게 도와줍니다.
  • coconutbattery: 맥북 배터리 상태를 모니터링합니다.
  • coteditor: 강력한 텍스트 편집기입니다.
  • deepl: DeepL 번역 서비스를 사용할 수 있습니다.
  • discord: 게이머를 위한 대화형 플랫폼입니다.
  • dupeguru: 중복 파일을 찾아 삭제할 수 있습니다.
  • figma: UI/UX 디자인 툴입니다.
  • firefox: 모질라 웹 브라우저입니다.
  • fork: Git GUI 클라이언트 툴입니다.
  • google-chrome: 구글 크롬 웹브라우저입니다.
  • hazeover: 화면을 흐리게 하여 집중력을 높입니다.
  • httpie: HTTP 요청을 테스트할 때 사용합니다.
  • iina: 현대적인 비디오 플레이어입니다.
  • imageoptim: 이미지 파일 크기를 최적화합니다.
  • iterm2: 강력한 터미널 에뮬레이터입니다.
  • itsycal: 메뉴바에 작은 캘린더를 표시합니다.
  • jitsi-meet: 오픈소스 화상 회의 도구입니다.
  • karabiner-elements: 키보드 커스터마이징 도구입니다.
  • keka: 파일 압축/압축 해제 유틸리티입니다.
  • kekaexternalhelper: Keka의 외부 도우미 앱입니다.
  • latest: 설치된 패키지를 최신 버전으로 유지합니다.
  • logitech-options: 로지텍 제품 설정을 관리합니다.
  • macs-fan-control: 맥의 팬 속도를 제어합니다. (M2 맥북 에어는 팬이 없기 때문에 팬 속도 제어는 불가능하고, 노트북의 온도를 메뉴 바에서 확인할 수 있습니다.)
  • microsoft-excel, microsoft-powerpoint, microsoft-word: MS Office 제품군입니다.
  • monitorcontrol: 외부 디스플레이 설정을 관리합니다.
  • mos: macOS에서 마우스 사용을 최적화합니다. (부드러운 스크롤, 스크롤 방향 등)
  • naver-whale: 네이버 웨일 브라우저입니다. (사실상 한글 파일 뷰어로만 사용합니다.)
  • netdownloadhelpercoapp: 브라우저 다운로드 관리 도구입니다.
  • notion: 협업 플랫폼 앱입니다.
  • obs: 화면 녹화 및 스트리밍 도구입니다.
  • obsidian: 지식 베이스 구축용 앱입니다.
  • openinterminal: Finder에서 터미널을 열 수 있습니다.
  • protonvpn: 안전한 VPN 서비스입니다.
  • raindropio: 북마크 관리자입니다.
  • ransomwhere: 랜섬웨어 보호 도구입니다.
  • raycast: 빠른 애플리케이션 launcher입니다.
  • rectangle: 윈도우 창 관리 도구입니다.
  • reminders-menubar: 메뉴바에 할 일 목록을 표시합니다.
  • selfcontrol: 집중력 향상을 위해 사이트를 차단합니다.
  • sf-symbols: SF 심볼 앱으로 아이콘을 찾습니다.
  • shottr: 스크린샷 캡처 및 공유 도구입니다.
  • signal: 메신저 앱입니다.
  • slack: 업무용 메신저입니다.
  • telegram: 메신저 앱입니다.
  • tomatobar: 포모도로 타이머입니다.
  • visual-studio-code: Microsoft 코드 편집기입니다.
  • warp: 각종 편의 기능이 추가된 터미널입니다.
  • xcodes: 각종 버전의 Xcode를 설치할 수 있도록 돕는 앱입니다.
  • xld: 무손실 오디오 디코더입니다.
  • zoom: 화상 회의 플랫폼입니다.
brew install --cask praat wireshark

이거 두 개는 이번 학기에 듣는 수업에 필요한 친구들이라 설치해 주었습니다.

앱 스토어

  • 카카오톡
  • 채널톡
  • Amphetamine
  • Bandwidth+
  • Bitwarden
    • 앱 스토어 버전에서만 브라우저 확장 프로그램과의 네이티브 메시징을 지원하므로 앱 스토어 버전을 다운받아 줍니다. 필요 없으면 brew install --cask bitwarden.
  • Color Picker
    • 오픈소스인데 앱 스토어 버전이 아니면 자동 업데이트도 지원하지 않는 신기한 앱입니다. 근데 macOS에서 이만한 색상 추출 앱이 또 없습니다.
  • Ethernet Status
  • MenubarX
    • 메뉴 바에 팝업으로 브라우저를 띄울 수 있는 프로그램입니다. 프로모션으로 프로 버전을 받은 적이 있기 때문에 앱 스토어 버전을 설치해줍니다. brew install --cask menubarx로도 설치할 수 있습니다. (없는 게 없는 홈브루)
  • ReadKit
  • Taza
  • TestFlight
  • Whisper Transcription
    • brew install --cask macwhisper로도 설치할 수 있습니다. 마찬가지로 예전에 무료 프로모션 때 앱 스토어 버전에서 프로 플랜을 등록했기 때문에 앱 스토어를 통해 설치해 주었습니다.

직접 설치

  • micSwitch: 단축키를 할당하여 단축키를 눌렀을 때만 마이크가 켜지도록 할 수 있습니다. (PTT, 워키토키, 눌러서 말하기라고들 흔히 부르는)

nvm 및 Node.js

홈브루을 통한 nvm 설치는 이제 지원되지 않는다고 합니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

따라서 공식 readme에서 추천하는 방법을 사용해 보았습니다.

nvm ls-remote

설치 가능한 버전을 확인해 봅니다.

nvm install 20.11.1

당시 최신 LTS 버전을 설치해 주었습니다. 버전을 바꿀 필요가 생기면 그 때 또 바꿀 수 있습니다.

Sketch

Sketch
Download the latest Sketch software updates

제 Sketch 라이선스는 2022년 8월부로 만료되었기 때문에, 구버전을 따로 설치해줘야 합니다.

최신 버전이 필요한 경우 brew install --cask sketch로 설치할 수도 있습니다.

PWA

elkInstagram을 Safari 웹 앱으로 설치해 주었습니다.

크롬과 달리 사파리를 따로 켜지 않은 상태에서도(독에만 안 보이는 것일 가능성이 크지만) PWA를 열 수 있기 때문에, PWA는 사파리에서 설치하는 편입니다.

메뉴 막대가 대체 왜 이래

원래 Hidden Bar를 사용해서 메뉴 바에서 자주 사용하지 않는 아이콘을 숨겨 깔끔하게 관리하고 있었습니다.

근데 디스플레이에 노치가 생겨버리니 조금만 아이콘이 많아지면 노치가 모든 아이콘을 블랙홀처럼 먹어버리는 것이 아니겠어요…?

그래서 일단 Bartender 5를 설치하고 한 달 트라이얼을 시작했습니다.

iBar라는 대체재를 소개받았는데, 묘하게 수상하게 생겨서… 아마 바텐더를 구입하게 될 것 같습니다. 만듦새도 바텐더가 더 좋고요.

글꼴(폰트) 설치

Homebrew

brew tap homebrew/cask-fonts

이제 홈브루로 글꼴도 설치할 수 있습니다.

맥에서는 폰트를 서체라고 부르더라고요? 저는 글꼴이라고 부르는 걸 좋아합니다.

brew install font-pretendard

예를 들면, Pretendard는 이렇게 설치할 수 있습니다.

직접 설치

몇몇 폰트는 따로 설치해주었습니다.

기타

  • 홈 폴더 옮기기
    • iCloud로 동기화되지 않는 홈 폴더의 내용을 이전 컴퓨터로부터 옮겨 줍니다.
    • USB 3.1 Gen2 케이블이 있어서 두 컴퓨터를 직접 서로 연결한 뒤 연결했습니다.
    • 위 영상을 참고하여 개발 프로젝트들이 있는 폴더를 env 파일까지 포함하여 한 번에 옮겨 주었습니다.
    • 다음에는 env 파일을 비롯한 각종 secret을 관리할 더 괜찮은 방법을 알아봐야 할 것 같습니다.
  • 문자 뷰어에 즐겨찾는 기호들을 다시 추가해 주었습니다.
이 블로그의
Raycast: Spotlight을 대체할 검색 앱

macOS에서 Spotlight을 떠나 Raycast를 선택한 이유


  • 로지텍 옵션 & Raycast 설정 복원
    • 두 앱 모두 백업 파일에서 복원할 때 현재 설치되지 않은 앱에 대한 앱별 설정은 그대로 날아가버리기 때문에 모든 앱을 설치한 뒤 가장 마지막에 복원해 주면 됩니다.

마무리

  • 시스템 설정 앱에서 필요한 설정을 바꿔 줍니다.
  • karabiner-elements를 비롯한, 설치한 앱의 환경 설정을 해 줍니다.
  • 혹시 모르니 휴대폰 백업을 다시 해 주거나, 이전 맥에서 폴더 통째로 옮깁니다.
  • 이전 맥을 초기화합니다.

배운 점

  • 생각보다 정말 많은 앱들을 홈브루 cask로 설치할 수 있습니다.
  • mas를 통해 앱 스토어 앱도 한 번에 밀어넣을 수 있다고 합니다. 다음에 써 보면 좋을 것 같습니다.
  • brew bundle dump: 설치된 formula들과 cask들을 하나의 목록 파일로 만들어준다고 합니다.
  • 홈브루로 설치한 앱들이 버전 데이터베이스가 재깍재깍 업데이트가 안 돼서 업데이트가 늦어지면 어쩌나 걱정을 약간 했는데, 대부분의 앱이 홈브루로 설치한 경우에도 Sparkle 프레임워크를 통한 업데이트를 그대로 지원하기 때문에, 별로 걱정하지 않아도 되는 것 같습니다.
  • 이전 맥에서 모든 콘텐츠 및 설정 지우기를 할 때, 지우기 지원 앱이 지금은 사용하지 않는 예전 Apple ID에 대한 암호를 요구하는 경우가 있습니다. 이때 지우기 지원 앱 종료 후 설정 앱에서 iCloud에 다시 로그인한 뒤 나의 Mac 찾기를 끄고 다시 모든 컨텐츠 및 설정 지우기를 시작하면 됩니다.
  • 20대 초반의 5년을 함께 보낸 기계가 초기화 10분만에 처음 봤던 때로 돌아가는 모습을 보면 이상한 기분이 듭니다.