Open7
Setup new M2 MacBookAir (macOS Monterey)
常に隠しファイルを表示させる
% defaults write com.apple.finder AppleShowAllFiles TRUE
% killall Finder
Homebrew のインストール
% /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
)
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'
GitHub に ssh 接続できるようにする
cf.
- https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/about-ssh
- https://chaika.hatenablog.com/entry/2021/05/06/083000
% 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 に公開鍵を登録
- GitHub
Settings > SSH & GPC key
- SSH keys
New SSH key
- 公開鍵
~/.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): 新しいパスフレーズ
vim のカラースキーム
asdf で Node.js をインストール
cf.
- https://asdf-vm.com/guide/getting-started.html
- https://asdf-vm.com/manage/versions.html#install-latest-stable-version
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
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
Golang
cf. https://github.com/kennyp/asdf-golang
% asdf plugin-add golang https://github.com/kennyp/asdf-golang.git
% asdf install golang latest
% asdf global golang latest
Python
cf. https://github.com/asdf-community/asdf-python
% asdf plugin-add python
% asdf install python latest
% asdf global python latest