tail -f /dev/null

If you haven't had any obstacles lately, you're not challenging. be the worst.

Setup local MacBook

MacBook Proを新しい端末へ替えた時のsetup手順をメモする。

Environment

  • MacBook Pro 2019
  • macOS 13.2.1(22D68)

Applications

次の application を install

  • Google Chrome
  • GoogleDrive
  • Slack
  • 1Password
  • Authy
  • Hyper
  • Xcode

HomeBrew

旧 PC の brew installed package を抽出.

# backup
brew bundle dump --file=brew_bk_yyyymmdd
cat brew_bk_yyyymmdd

tap "heroku/brew"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
tap "homebrew/services"
tap "parera10/csshx"
tap "wata727/tflint"
brew "asciiquarium"
brew "openssl"
brew "python"
brew "awscli"
brew "cmatrix"
brew "colordiff"
brew "coreutils"
brew "go"
brew "htop"
brew "hugo"
brew "jq"
brew "kubernetes-cli", link: false
brew "mtr"
brew "neovim"
brew "node"
brew "packer"
brew "parallel"
brew "peco"
brew "pyenv"
brew "pyenv-virtualenv"
brew "rbenv"
brew "rbenv-gemset"
brew "reattach-to-user-namespace"
brew "redis"
brew "rename"
brew "telnet"
brew "tfenv"
brew "tflint"
brew "tig"
brew "tmux"
brew "todo-txt"
brew "toilet"
brew "tree"
brew "vim"
brew "wget"
brew "zlib"
brew "zsh"
brew "zsh-completions"
brew "heroku/brew/heroku"
brew "parera10/csshx/csshx"
cask "docker"
cask "java"
cask "macdown"
cask "minikube"
cask "notion"
cask "postman"
cask "powershell"
cask "vagrant-manager"

新PCで当該ファイルからinstall。

# install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/hrk1l2x/.zprofile
eval "$(/usr/local/bin/brew shellenv)"

# restore
brew bundle install --file=.brew_bk_yyyymmdd

GoogleDriveやDropboxに同期されるよう同期フォルダにsymlinkを張る。

# on home directory
ln -s <absolute path> .
.zshrc -> /Users/<user>/Documents/local-home/.zshrc
.tmux.conf -> /Users/<user>/Documents/local-home/.tmux.conf
.tmux -> /Users/<user>/Documents/local-home/.tmux
.config -> /Users/<user>/Documents/local-home/.config
.cache -> /Users/<user>/Documents/local-home/.cache
.todo -> /Users/<user>/Documents/local-home/.todo

System Preferences

Macの環境設定を変更する。

Key mapping

Caps LockControl へ変更する。

Preference > Keyboard > Modifier Keys...

併せてkeyboardも設定を変える。

Preference > Keyboard > Modifier Keys... > Select keyboard

Trackpad

Elable dragging: three finger drag を選択し、三本指でドラッグ可能にする。

併せて、Scrolling speedも最速にしておく。

Preference > Accessibility > Enable dragging

Spotlight

Show Spotlight searchoption + command + space にする。

Preference > Keyboard >Shortcuts > Spotlight

Install Applications

余分なApplicationはなるべく入れないようにしている。

  • ⌘英かな
  • 1Password
  • Alfred
  • Authy
  • BetterTouchTool
  • Firefox
  • Google backup and sync
  • HyperSwitch
  • iTerm2
  • Royal TSX
  • Slack
  • Visual Studio Code
  • Wireshark

Alfred

shortcut

shortcutを command + space へ変更する。

Alfred Hotkey

backup & restore

旧PCのAlfredで Snippers > Collection のlistを右clickしてexportする。新PCでdrag & dropしてexportした当該fileをimportする。

BetterTouchTool

Windowのresizeをkeyboardから行えるようにする。

BetterTouchTool > Keyboard Shortcuts

事前に Preferences > Preset > Export Highlighted から設定とTriggerをExportしておき、Importすることも可能。

FinderでHidden fileが可視化出来るようにする

Terminalで以下を実行する。

defaults write com.apple.finder AppleShowAllFiles YES

Python

# Python
which pip3
/usr/local/bin/pip3

which python3
/usr/local/bin/python3

次のように環境変数を .zshrc へ設定し、python, pipの向き先を変更する。

export PATH="/usr/local/opt/python/libexec/bin:$PATH"
which python
/usr/local/opt/python/libexec/bin/python

which pip
/usr/local/opt/python/libexec/bin/pip

virtualenvを利用出来るようにする。

pip install virtualenvwrapper
pyenv install 3.7.2
mkvirtualenv 3.7.2 -p ~/.pyenv/versions/3.7.2/bin/python

zsh setup

defaultのshellを /bin/sh から /bin/zsh に変更する。

chsh -s /bin/zsh # or /usr/local/bin/zsh

zshrc

brewでインストールした機能の各種設定。この辺りは .zshrc を復元すれば問題無い筈。

# pyenv
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
fi

# virtualenvwrapper
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME/Devel
    export VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python/libexec/bin/python
    source /usr/local/bin/virtualenvwrapper.sh
fi

# zsh-completions
fpath=(/usr/local/share/zsh-completions $fpath)
rm -f ~/.zcompdump; compinit
chmod go-w '/usr/local/share'

# peco
## enable search from cotrol + r
function peco-history-selection() {
    BUFFER=`history -n 1 | tail -r  | awk '!a[$0]++' | peco`
    CURSOR=$#BUFFER
    zle reset-prompt
}

zle -N peco-history-selection
bindkey '^R' peco-history-selection

Git

私はGithub, GitLabと複数configを利用する為、 --global を利用しないようにしている。

# git
mkdir -p xxx; cd $_
git init
git config --local user.name "<username>"
git config --local user.email "<email>"

# confirm settings
git config --list

git clone xxx

iTerm2

旧端末で Preferences > Profiles > Other Actions > Copy Profile as JSON からbackupを取得しておき、新しい端末へimportする。