이따금씩 개발 환경을 세팅할 때마다 어떤 설정부터 건드려야 하는지 막막할 때가 있습니다. 나중에 확인할 요량으로 2025년 새해를 맞아 저의 세팅을 기록하고 바뀔 때마다 또 기록하고 있습니다.
기본 사양은 다음과 같습니다.
- Apple Silicon 탑재(M시리즈 칩)
- macOS Sequoia v15.2
기본 설정
데스크탑 및 Dock
가장 먼저 Dock에서 불필요한 바로가기를 모두 제거합니다. 지극히 개인적인 취향으로 브라우저 즐겨찾기와 마찬가지로 바로가기를 많이 두는 것을 좋아하지 않기 때문입니다. Finder와 휴지통만 남겨둘 때도 있는데 보통 Dock에 있는 바로가기의 수는 다섯가지 이내로 유지하는 것 같습니다. 이어서 소개할 Raycast만 있다면 바로가기에서 자유로워질 수 있습니다.
설정
- 데스크탑 및 Dock
순서로 진입할 수 있는 메뉴에서 대부분 개인 취향에 따라 설정합니다. 저는 다음과 같이 설정해 주었습니다.
- 윈도우 제목 막대 두 번 클릭: 최소화
- 각 창의 제목 영역을 더블클릭하면 최소화로 동작한다.
- 자동으로 Dock 가리기와 보기: 활성화
- 화면 하단에 마우스를 위치한 경우에만 Dock을 보여준다.
- 열려있는 응용 프로그램에 대한 표시 보기: 비활성화
- Dock에서 열려있는 응용 프로그램을 별도로 표시하지 않도록 한다.
- Dock에서 제안된 앱 및 최근 앱 보기: 비활성화
- 마찬가지로 Dock에 내가 등록한 앱을 제외하고 모두 보이지 않도록 한다.
- 스테이지 매니저 비활성화: 비활성화
- 나는 스테이지 매니저를 사용하지 않는다.
- 배경화면을 클릭하여 데스크탑 표시: 스테이지 매니저에서만(=비활성화)
- 배경화면을 클릭하면 활성화된 윈도우가 모두 사라지고 보이는 기능을 비활성화시킨다. 스테이지 매니저를 사용하지 않기 때문에 비활성화된다.
키보드 및 입력
맥에서는 한영키를 전환할 때 발생하는 딜레이 때문에 타이핑 중 오타가 발생하는 경우가 잦았습니다. Karabiner를 설치하고 아래 링크를 참고하여 입력 소스의 설정을 변경합니다.
요약하자면 다음과 같습니다.
Caps Lock
를 통한 한영 전환 기본 기능 비활성화- Karabiner 설치 후
Caps Lock
을 사용하지 않는 키로 매핑(나는f17
) - 입력 메뉴에서 다음 소스 선택 단축키
f17
로 변경
Command
와 Ctrl
을 바꾸고 싶다면, 키보드
- 키보드 단축키
- 보조키
순서로 메뉴에 진입하여 다음과 같이 설정합니다. 키보드 선택에서 Karabiner 드라이버를 선택해야 합니다.
(이렇게 하지 않고 Karabiner에서 직접 바꿔도 됨)
트랙패드
설정
- 트랙패드
순서로 진입하여 아래 옵션을 적용했습니다.
- 트랙패드 탭하여 클릭하기 옵션: 활성화
- 트랙패드를 클릭하는건 매우 귀찮기 때문에 탭으로 동작하게 한다.
- 추가 제스처 - 페이지 쓸어넘기기: 세 손가락으로
- 두 손가락으로 하는 경우 가로 스크롤 이동과 겹쳐서 잘 안될 때가 있다.
스크린샷을 바로 클립보드에 저장
스크린샷을 바로 클립보드에 저장해서 활용하고 싶다면 Cmd
+ Ctrl
+ 5
로 스크린샷 모드를 활성화시킨 후 옵션에서 다음으로 저장
- 클립보드
를 선택합니다.
필수 앱 설치
브라우저
개인적으로 Arc를 선호하는 편이지만, 개발에 필요할 때가 있기 때문에 크롬은 설치합니다. 일부 디버깅이나 시뮬레이션 도구를 위해서라도 크롬 설치를 피하기는 어렵습니다.
Arc도 설치합니다. Arc는 단축키 매핑이 편리하고 Space를 나누어 작업하기에도 좋습니다. 크롬에서 프로필을 나누는 것처럼 스페이스마다 구글 계정을 다르게 설정하기도 하고 단순히 작업 공간을 나눠 사용하다가 지워버리기 좋습니다. 스페이스간 이동은 Ctrl
과 좌우 방향키 조합으로 세팅했습니다.
단 작년에 본 자료에 따르면, Arc에 더 이상의 신규 기능은 없을 예정이라는 점 참고하시면 되겠습니다.
Raycast
이제 제게는 Raycast는 필수입니다. Raycast를 설치하고 맥의 Spotlight를 대체할 수 있도록 단축키를 변경합니다.
설정
-키보드 단축키
-키보드
-Spotlight
-단축키 설정 해제
- Raycast 트리거 단축키
Cmd
+Space
로 변경
Raycast는 주로 다음 용도로 사용합니다.
- 앱을 실행할 때
- 앱을 삭제할 때
- 자주 사용하는 앱의 즐겨찾기 또는 단축키 설정
- 클립보드 히스토리 확인 및 복사
- Raindrop을 사용한 북마크 등록 및 탐색
- 이미 설정해 둔 단축어의 shortcut 설정
- 계산기
이 밖에도 유용한 익스텐션이 많아서 활용도가 무궁무진합니다.
Spectacle
Spectacle은 단축키 입력으로 윈도우를 다양하게 배치하는 기능을 제공합니다. 유사한 기능을 제공하는 앱이 많습니다. 먼저 언급한 Raycast도 윈도우 관련 기능을 기본적으로 제공하고 최근 Sequoia에서 편의 기능이 업데이트 되기도 했지만, Spectacle이 설정, 관리, 사용 모든 측면에서 여전히 편하고 익숙해서 사용하고 있습니다.
AltTab
AltTab은 이름 그대로 Alt
+ Tab
을 이용한 윈도우 스위칭 기능을 제공합니다. 맥에서는 커맨드 키로 윈도우를 스위칭해야 하기 때문에 Windows에서의 경험을 원하는 사람들이 많이 사용하는 것으로 보여요. 하지만 이 앱을 알기 전에 Cmd
+ Tab
에 익숙해지는 바람에 저는 다른 목적으로 사용하고 있는 앱입니다. 그건 바로 AltTab의 블랙리스트 기능인데요. 작업을 하다보면 전환 목록에 걸리지 않았으면 하는 앱이 존재하기 마련인데 AltTab이 그것을 가능하게 해줍니다. 저의 경우에는 완전히 닫을 수도 없는 Finder가 그러하고 카카오톡도 목록에서 보이지 않도록 설정했습니다.
터미널 설정
이런건 가능하면 공식문서를 참고하는 것이 좋겠죠..?
iTerm2 설치
최근에는 Wezterm을 사용하고 있어서 조만간 업뎃 예정입니다.
iTerm 설정
개인 설정 불러오기
https://github.com/rheech22/dotfiles/blob/master/iterm_latest.json
Homebrew 설치
NerdFont 설치
터미널에서 폰트, 특히 아이콘이 깨지지 않도록 적절한 폰트를 설치합니다. 저는 Meslo 폰트를 사용하고 있습니다.
brew install --cask font-meslo-lg-nerd-font
폰트 설치 후 iTerm 세팅에 적용해주기
Z Shell 설치
brew install zsh
기본 쉘로 설정
chsh -s $(which zsh)
[[ ## ]] Zsh Auto Completion
~/.zshrc
에서 아래 내용 추가 후 재시작
# .zshrc
autoload -U compinit; compinit
zsh-syntax-highligting 설치
zsh의 구문 하이라이팅을 담당합니다.
brew install zsh-syntax-highlighting
~/.zshrc
에서 아래 내용 추가
# .zshrc
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
vi mode를 위한 zsh-vi-mode 설치
커맨드 라인에서 vim 모드를 제공합니다.
brew install zsh-vi-mode
~/.zshrc
에서 아래 내용 추가
# .zshrc
source $(brew --prefix)/opt/zsh-vi-mode/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
터미널 꾸미기
최근에는 starship을 사용하고 있는데 설정이 간단합니다.
brew install starship
~/.zshrc
에서 아래 내용 추가 후 재시작
# .zshrc
eval "$(starship init zsh)"
프리셋 참고하여 설정하기
기타
GitHub CLI 설치
일부 명령어를 git alias로 등록해서 사용하고 있습니다. (아래 설정 참고)
brew install gh
Git Alias 설정
대부분의 설정은 이종립님의 글을 참고했어요.
[alias]
a = "add ."
b = "!git branch | grep -v '^\\*'"
bb = "!git checkout $(git branch -vv | grep -v '^\\*' | fzf | awk '{print $1}')"
bc = "switch -c"
bd = "!git branch -D $(git b | fzf -m)"
bs = "switch"
c = "commit"
l = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit
pl = "!git pull --set-upstream origin \"$(git rev-parse --abbrev-ref HEAD)\""
pr = "!gh pr view -w"
prc = "!gh pr create -w"
pu = "!git push --set-upstream origin \"$(git rev-parse --abbrev-ref HEAD)\""
puf = "!git push --set-upstream origin \"$(git rev-parse --abbrev-ref HEAD)\" --force"
rb = "rebase"
rba = "rebase --abort"
rbc = "rebase --continue"
st = "stash"
sta = "stash apply"
sq = "rebase -i"
ts = "!tsc --watch"
w = "!gh browse"
ws = "!gh status"
neovim 설치
vim 설정은 나중에 다른 글에서 정리하려고 합니다.
brew install neovim
Node.js 설치
brew install node
Python 설치
brew install python