새 MacBook 설정(2023)

회사 랩탑 이전한 기록을 정리.

MacBook Pro 16″ (intel)을 쓰다가, 지난 달 부터 M2 Pro로 옮길 수 있다고 해서 옮김. 다만 기기에 미리 설치된 소프트웨어가 처리하는게 있어서 기기 간 동기화 기능 없이 이전했다. 이전 과정에서 기존 소프트웨어 설정, 명령어나 웹 방문 기록을 옮기려고 했고, 상당히 의도대로 된 것 같다. 특히 원했던 게 명령어나 웹 서비스 방문 기록들을 최대한 유지하는 것이었다. 이건 자주 쓰는 명령어면 script로 빼놓고 자주 방문하는 주소면 북마크로 남겨놓지만, 그렇지 않은건 history에만 남아있는거라 이 부분을 놓치지 않으려고 했다.

준비

이런걸 준비하고 이전했다.

  • iCloud - ~/Desktop, ~/Documents/ 동기화
  • Firefox account sync - bookmark, web browser history, 그리고 Multi-Account Containers 설정
  • VS Code Settings Sync
  • 작업 디렉터리에 대한 .tar.xz. 이 파일이 제일 컸다.
  • ~/bin/*.sh 에 대한 tarball.1
  • ~/ 의 전통적인 dot 파일: ~/.bashrc~/.gitconfig 같은 파일들. 그리고 ~/.jq2.
  • 좀 더 modern 하게 ~/.config 밑에 있는 설정 파일: ~/.config/fish, ~/.config/nvim, …
  • fish shell history: ~/.local/share/fish/fish_history

이전

  1. tarball 및 파일 복사; 그리고 iCloud 동기화 대기
  2. 작업에 필요한 환경 설정.
  3. 이전 MBP에서 brew list 결과로 나온 것들 brew install ... 으로 새 머신에 설치.
  4. Firefox 에서 동기화되지 않은 암호들 손으로 이전.
  5. VS Code 로그인 후 동기화

이전 후 하루 동안 이전 랩탑을 유지하고 있다가 빠진 것 발견하면 이전.

결과

대부분 의도대로 옮겼고, 만 하루 정도 후엔 (거의 이전과 다름없는) 작업 흐름이 나오기 시작.

  • 다만 nvim history를 잃어버렸다. Neovim은 별도의 history 파일인 main.shada을 쓰는데 이걸 안 가져와서 유실.3
  • Firefox 암호 동기화 문제. 그래도 대부분 SSO 적용이라서 몇 개 안되더라.
  • Shell script들이 대부분 문제가 생겼는데, 이건 homebrew 설치 경로가 바뀌었더라. 이전엔 /usr/local 에 들어가던게 /opt/homebrew 로 바뀜. 예를 들어 /usr/local/bin/gsed 대신 /opt/homebrew/bin/gsed 하는 식.
  • .jq 파일은 생각도 못하고 있다가 나중에 깨닫고 이전.

  1. 자주 쓰는 명령어 조합은 스크립트 파일로 만들어뒀다. ↩︎

  2. jq 명령에서 기본으로 import하는 라이브러리 파일. ↩︎

  3. macOS + homebrew 설치인 경우 ~/.local/state/nvim/shada/main.shada 를 쓴다. ↩︎