해당 항목이 마음에 들지 않는다면, github에서 받아 Brewfile
을 수정하면 된다. 개인적으로 추가도 가능하다.
# 설치확인 명령어
brew doctor
# Homebrew 설치 명령어
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install cask
brew install mas
touch Brewfile
만약 기본 저장소에 있다면 Formulae에 있다고 뜨고, 웹 저장소가 연결되어 있다면 casks에 있다고 뜬다.
이 차이를 기반으로 Brewfile을 작성해주면 된다.
혹은 터미널 창에서 brew search
를 통해서 찾는 방법도 있다.
mas 패키지는 앱스토어와 연결해서 여러 명령을 처리할 수 있는 라이브러리이다. 아래의 다양한 명령어 중에서 search
를 사용해서 찾으면 된다. 이 때, id까지 명시해서 brewfile에 작성한다.
∙ mas account : 맥 앱스토어에서 로그인된 애플 ID를 출력합니다.
∙ mas help : 도움말을 볼 수 있습니다.
∙ mas install : 맥 앱스토어에서 배포중이거나 배포한 적이 있는 앱을 내려받을 수 있습니다.
∙ mas list : 맥 앱스토어를 통해 설치한 앱을 목록으로 보여줍니다.
∙ mas outdated : 다운로드가 중단되거나 실패한 앱을 내려받을 수 있습니다.
∙ mas search : 맥 앱스토어에서 앱을 검색합니다. App Bundle Id를 찾을 수 있습니다.
∙ mas signin/signout : 맥 앱스토어에서 로그인/로그아웃합니다.
∙ mas upgrade : 맥 앱스토어 업데이트 기능을 수행합니다.
∙ mas version : mas-cli 버전을 확인합니다.
tap "homebrew/core"
tap "homebrew/cask"
tap "homebrew/cask-fonts"
tap "homebrew/bundle"
# brew install
brew "bat"
brew "fasd"
brew "fzf"
brew "git"
brew "git-lfs"
brew "mas"
brew "neofetch"
brew "neovim"
brew "tig"
brew "zsh"
brew "mas"
brew "wget"
brew "python3"
# brew install app
brew install quicktype
# cask install
cask "alfred"
cask "appcleaner"
cask "gitkraken"
cask "hammerspoon"
cask "iterm2"
cask "notion"
cask "slack"
cask "telegram"
cask "visual-studio-code"
cask "zoom"
cask "keka"
cask "monitorcontrol"
cask "camo-studio"
cask "dash"
cask "figma"
cask "google-chrome"
cask "postman"
cask "karabiner-elements"
cask "charles"
cask "mattermost"
cask "zeplin"
cask "telegram"
# Mac App
mas "Accelerate for Safari", id: 1459809092
mas "BetterJSON for Safari", id: 1511935951
mas "ColorSlurp", id: 1287239339
mas "Dark Reader for Safari", id: 1438243180
mas "Enpass - Password Manager", id: 732710998
mas "Gifski", id: 1351639930
mas "KakaoTalk", id: 869223134
mas "Keynote", id: 409183694
mas "Magnet", id: 441258766
mas "Microsoft Excel", id: 462058435
mas "Microsoft PowerPoint", id: 462062816
mas "Microsoft Word", id: 462054704
mas "Movist", id: 461788075
mas "SnippetsLab", id: 1006087419
mas "Spark – Email App by Readdle", id: 1176895641
mas "Unicorn Blocker", id: 1231935892
mas "Yoink", id: 457622435
mas "Unicorn HTTPS", id: 1475628500
mas "Paste JSON as Code • quicktype", id: 1330801220
mas "Slack for Desktop", id: 803453959
mas "Twitter", id: 1482454543
mas "ScreenBrush", id: 1233965871
mas "Xcode", id: 497799835
brew bundle --file=./Brewfile
혹은, 추가 설정이 필요하다면 셀 스크립트를 만들고 이를 실행시키는 방법도 있다. 브랜디 랩스의 기술 블로그를 참고했다.
#!/usr/bin/env bash
# Homebrew 설치 여부 확인
if ! which brew
then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
# 스크립트 내에서 일부 sudo 권한이 필요한 명령을 수행하기 위해 root 패스워드를 입력
# sudo 권한이 필요한 이유 : cask로 설치한 애플리케이션을 바로 실행하기 위해 다운로드 된 파일에 대한 격리 속성 제거 작업
read -r -s -p "[sudo] sudo password for $(whoami):" pass
# BrewFile 실행 명령어
brew bundle
# 설치 성공 완료 메세지 노출
printf '\n install success! \n'
chmod +x ./install.sh
sh install.sh
install.sh
에는 개인적으로 세팅한 것들이 있다. 예를 들어 python 2.18 버전을 가상환경을 통해 설치하는 것이 대표적인 예가 될 수 있겠다. 해당 버전을 설치하게 된 이유는 이 글을 참고해주면 고맙겠다. 좀 맘에 안든다면, 해당 python 2버전을 설치하는 부분만 지워주면 되겠다.
brew bundle dump
bundle이라는 기능을 통해서 현재 내 맥에 설치되어 있는 앱들을 Brewfile로 저장하거나 생성하는 것이 가능하다.