Mac初期設定 for フルスタックエンジニア
【2022/12/18更新】
- Dropboxのフォルダ変更
【2022/09/09更新】
- Monterey対応
【2021/02/14更新】
- Catalina(zsh)対応にしました。
- 使ってるやつとかインストールするものとか最新にしました。
【2023/03/29更新】
- Flutter追加
- ~/.zhrc晒す
- ~/.zprofile晒す
//------------------------------------------------------------------------------------
備忘録。
フルスタックエンジニアな僕がMacを新しく買った時にやること。
構成管理全部自動でできたらいいのに&できそうとは思うけど数年に1回だしなぁ。
秘密鍵とか設定とかはだいたいDropboxに置いてあります。
WebやらApp Storeやらからインストールするもの
・開発以外
- Google Chrome - The Fast & Secure Web Browser Built to be Yours
- Alfred - Productivity App for macOS
- Spectacle
- HyperSwitch
- AppCleaner for Mac - 無料・ダウンロード
- Dropbox.com
- One platform to connect | Zoom
- https://apps.apple.com/jp/app/display-menu/id549083868?mt=12
- https://tryshift.com/
- https://www.office.com/
- https://matthewpalmer.net/vanilla/
・開発系
- Download Android Studio & App Tools - Android Developers
- Install Docker Desktop on Mac | Docker Docs
- Sourcetree - 無料の Git & Mercurial クライアント | Atlassian
- Download Visual Studio Code - Mac, Linux, Windows
- 「Xcode」をMac App Storeで
ターミナルでやること
# zsh ln -s ~/Library/CloudStorage/Dropbox/zsh/zprofile ~/.zprofile ln -s ~/Library/CloudStorage/Dropbox/zsh/zshrc ~/.zshrc # vim echo -e -n ':syntax on\n' >> ~/.vimrc # ssh ln -s ~/Library/CloudStorage/Dropbox/ssh ~/.ssh # homebrew xcode-select --install sudo xcodebuild -license /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew doctor # nodeenv brew install nodenv nodenv install -l nodenv install X.X.X # 任意のバージョンをインストール nodenv rehash nodenv global X.X.X # rbenv brew install rbenv ruby-build rbenv install $(rbenv install -l | grep -v - | tail -1) rbenv global $(rbenv versions | grep -v - | tail -1) # Node.js / yarn brew install yarn # AWS brew install awscli ln -s ~/Library/CloudStorage/Dropbox/aws ~/.aws curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg" sudo installer -pkg session-manager-plugin.pkg -target / sudo ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin rm session-manager-plugin.pkg # Git brew install git-lfs # VSCode rm -rf ~/Library/Application\ Support/Code/User mkdir -p ~/Library/Application\ Support/Code/User ln -s ~/Library/CloudStorage/Dropbox/code/* ~/Library/Application\ Support/Code/User # Android brew install bundletool # Xcode defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES # act brew install act # Mint brew install mint # jq brew install jq # Firebase curl -sL https://firebase.tools | bash # Flutter brew tap leoafarias/fvm brew install fvm
~/.zprofile
# License : MIT # http://mollifier.mit-license.org/ ######################################## # 環境変数 export LANG=ja_JP.UTF-8 # 色を使用出来るようにする autoload -Uz colors colors # ヒストリの設定 HISTFILE=~/.zsh_history HISTSIZE=1000000 SAVEHIST=1000000 setopt AUTO_MENU # プロンプト PROMPT="[%F{cyan}%~%f]$ " RPROMPT="" # 単語の区切り文字を指定する autoload -Uz select-word-style select-word-style default # ここで指定した文字は単語区切りとみなされる # / も区切りと扱うので、^W でディレクトリ1つ分を削除できる zstyle ':zle:*' word-chars " /=;@:{},|" zstyle ':zle:*' word-style unspecified # 補完 autoload -U compinit compinit zstyle ':completion::complete:*' use-cache true zstyle ':completion:*:default' menu select true zstyle ':completion:*:default' menu select=1 #補完でカラーを使用する zstyle ':completion:*' list-colors "${LS_COLORS}" #コマンドにsudoを付けても補完 zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin #何も入力されていないときのTABでTABが挿入されるのを抑制 zstyle ':completion:*' insert-tab false # フローコントロールを無効にする setopt no_flow_control # Ctrl+Dでzshを終了しない setopt ignore_eof # '#' 以降をコメントとして扱う setopt interactive_comments # 同じコマンドをヒストリに残さない setopt hist_ignore_all_dups ######################################## # sudo の後のコマンドでエイリアスを有効にする alias sudo='sudo ' # グローバルエイリアス alias -g L='| less' alias -g G='| grep' # C で標準出力をクリップボードにコピーする # mollifier delta blog : http://mollifier.hatenablog.com/entry/20100317/p1 if which pbcopy >/dev/null 2>&1 ; then # Mac alias -g C='| pbcopy' elif which xsel >/dev/null 2>&1 ; then # Linux alias -g C='| xsel --input --clipboard' elif which putclip >/dev/null 2>&1 ; then # Cygwin alias -g C='| putclip' fi ######################################## # OS 別の設定 case ${OSTYPE} in darwin*) #Mac用の設定 export CLICOLOR=1 alias ls='ls -G -F' ;; linux*) #Linux用の設定 alias ls='ls -F --color=auto' ;; esac # vim:set ft=zsh:
~/.zprofile
# terminal alias ls="ls -G" alias ll="ls -alG" # homebrew eval "$(/opt/homebrew/bin/brew shellenv)" # nodenv eval "$(nodenv init -)" export PATH="$HOME/.nodenv/bin:$PATH" # Node export NODE_OPTIONS=--dns-result-order=ipv4first # rbenv if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" # Java export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home" export PATH="$JAVA_HOME/bin:$PATH" # Android export ANDROID_HOME=$HOME/Library/Android/sdk export PATH="$ANDROID_HOME/build-tools/30.0.3:$PATH" export PATH="$ANDROID_HOME/platform-tools:$PATH" # Flutter alias flutter="fvm flutter" export PATH="$HOME/fvm/default/bin:$PATH" export PATH="$PATH":"$HOME/.pub-cache/bin" # JSC export PATH="/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Helpers:$PATH" export LANG=en_US.UTF-8