Open7

Setup new M2 MacBookAir (macOS Monterey)

KiKiKi-KiKiKiKiKi-KiKi

常に隠しファイルを表示させる

% defaults write com.apple.finder AppleShowAllFiles TRUE
% killall Finder

Homebrew のインストール

https://brew.sh/index_ja

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

パスを通す

% touch ~/.zhrc

~/.zhrc

typeset -U path PATH
path=(
  /opt/homebrew/bin(N-/)
  /opt/homebrew/sbin(N-/)
  /usr/bin
  /usr/sbin
  /bin
  /sbin
  /usr/local/bin(N-/)
  /usr/local/sbin(N-/)
  /Library/Apple/usr/bin
)

cf. https://zenn.dev/sprout2000/articles/bd1fac2f3f83bc

KiKiKi-KiKiKiKiKi-KiKi

Git のインストールと設定

% brew install git

設定

# ユーザー情報
% git config --global user.name "<NAME>"
% git config --global user.email "<YOUR E-MAIL>"
# デフォルトのエディタをvimにする
% git config --global core.editor 'vim -c "set fenc=utf-8"'
# ファイル名の大文字/小文字を識別する
% git config --global core.ignorecase false
# rebase 時に自動的に --autosquash する
% git config --global --add rebase.autosquash true
# git pull の設定
% git config --global pull.rebase false
# color
% git config --global color.ui true
% git config --global color.diff auto
% git config --global color.status auto
% git config --global color.branch auto

alias

% git config --global alias.st status
% git config --global alias.br branch
% git config --global alias.co checkout
% git config --global alias.cm commit
% git config --global alias.gr grep
% git config --global alias.cp cherry-pick
% git config --global alias.l log
% git config --global alias.l1 'log --oneline'
# ログの tree 表示
% git config --global alias.tree 'log --graph --oneline'
% git config --global alias.treeall 'log --graph --all --format="%x09%C(cyan bold)%an%Creset%x09%C(yellow)%h%Creset %C(magenta reverse)%d%Creset %s"'
% git config --global alias.rb rebase
% git config --global alias.rb2 'rebase -i HEAD~2'
% git config --global alias.rb3 'rebase -i HEAD~3'
% git config --global alias.rb4 'rebase -i HEAD~4'

cf. https://chaika.hatenablog.com/entry/2021/05/06/083000

KiKiKi-KiKiKiKiKi-KiKi

GitHub に ssh 接続できるようにする

cf.

% ssh-keygen -t ed25519 -C "your_email@example.com"
Generating public/private ed25519 key pair.
# 秘密鍵・公開鍵の保存場所とファイル名
Enter file in which to save the key (/Users/<user name>/.ssh/id_ed25519):
# パスフレーズの設定 設定しない場合はそのまま Enter
Enter passphrase (empty for no passphrase):
# パスフレーズの確認
Enter same passphrase again:
# 秘密鍵を読み取り専用にする
% chmod 600 ~/.ssh/id_ed25519
# バックグラウンドでssh-agentを開始
eval "$(ssh-agent -s)"
> Agent pid 59566
# 秘密鍵を ssh-agent に追加
% ssh-add -K ~/.ssh/id_ed25519
# ssh-agent に登録された秘密鍵の確認
% ssh-add -l 
# => 登録されている SSH キーのリストが表示される

ssh config

% touch ~/.ssh/config

~/.ssh/config

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

Github に公開鍵を登録

  1. GitHub Settings > SSH & GPC key
  2. SSH keys New SSH key
  3. 公開鍵 ~/.ssh/id_ed25519.pub の内容を貼り付けて保存する

SSH 公開鍵をクリップボードにコピー

% pbcopy < ~/.ssh/id_ed25519.pub

接続確認

% ssh -T git@github.com
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Enter passphrase for key '/Users/<User>/.ssh/id_ed25519': パスフレーズを入力
Hi KiKiKi-KiKi! You've successfully authenticated, but GitHub does not provide shell access.

パスフレーズの変更

% ssh-keygen -p -f ~/.ssh/id_ed25519
Enter old passphrase: 古いパスフレーズ
Enter new passphrase (empty for no passphrase): 新しいパスフレーズ
KiKiKi-KiKiKiKiKi-KiKi

asdf で Node.js をインストール

cf.

install asdf

% brew install asdf
% echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
% source ~/.zshrc

install Node.js

# 依存パッケージのインストール
% brew install gpg gawk
# プラグインのインストール
% asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
# インストールできるバージョンの一覧
% asdf list all nodejs
…
# 最新版をインストール
% asdf install nodejs latest
# global で使うバージョンを指定
% asdf global nodejs latest
% node --version
v18.9.0
# 現在のディレクトリのバージョンを一覧で確認
% asdf current
nodejs          18.9.0          /Users/kikiki/.tool-versions

yarn の有効化

cf. https://zenn.dev/teppeis/articles/2021-05-corepack

% yarn -v
zsh: command not found: yarn

Node.js 本体に yarn を標準バンドルするかの議論が盛り上がったが、yarn を直接バンドルするのではなく corepack をバンドルする方向に決まったようだ。
デフォルトでは yarn も有効化されていないので、corepack enable yarnを自分で打つ必要があります。

# corepack を有効化
% corepack enable
# asdf をリフレッシュ
% asdf reshim nodejs
%  yarn -v
1.22.19

node のバージョンを固定する

cf. https://asdf-vm.com/guide/getting-started.html#using-existing-tool-version-files

% touch ~/.asdfrc
% echo -e "legacy_version_file = yes" >> ${HOME}/.asdfrc

local のバージョンを指定

.node-version に使用する Node.js のバージョンを書く

.node-version

16.17.0
% asdf current
nodejs          16.17.0         /Users/kikiki/Documents/local/.node-version
% node --versions
v16.17.0

asdf local でもバージョンを固定できるっぽい

asdf local nodejs 16.17.0
% asdf current
nodejs          16.17.0         /Users/kikiki/Documents/local/..tool-versions
% node --versions
v16.17.0
KiKiKi-KiKiKiKiKi-KiKi

AWS CLI

asdf で管理する

% asdf plugin add awscli
% asdf install awscli latest:2
awscli 2.7.33 installation was successful!
% asdf global awscli latest
% asdf current
awscli          2.7.33          /Users/kikiki/.tool-versions
nodejs          18.9.0          /Users/kikiki/.tool-versions