Open3

M1/M2Macbookのセットアップ

なすぱんだ🍆🐼なすぱんだ🍆🐼

セットアップスクリプト

Python や node.js などのバージョンは asdf により管理する。

setup.sh
# HomeBrewのインストール
if [ ! -x "`which brew`" ]; then
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  brew update
fi

brew install google-japanese-ime --cask
brew install google-chrome       --cask
brew install visual-studio-code  --cask
brew install docker              --cask
brew install iterm2              --cask
brew install discord             --cask
brew install wireshark           --cask
brew install clipy		 --cask
brew install obsidian            --cask
brew install alfred              --cask
brew install deepl               --cask
brew install gyazo               --cask
brew install spectacle           --cask
brew install ffmpeg              --cask
brew install imagemagick         --cask


brew tap aws/tap
brew install git
brew install wget
brew install asdf
brew install nvm
brew install postgresql
brew install mysql
brew install starship
brew install docker-compose
brew install yarn
brew install imagemagick
brew install awscli
brew install aws-sam-cli
brew install openssh
brew install gh

# asdf setup
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf plugin add python
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git

asdf install ruby 3.0.2
asdf install nodejs 15.14.0
asdf install python 3.8.11

# Common Settings
# 英字の長押しを許可
sudo defaults write -g ApplePressAndHoldEnabled -bool true
# カーソル速度
defaults write -g com.apple.mouse.scaling 8
defaults write -g com.apple.trackpad.scaling 8
# キーリピート速度
defaults write -g InitialKeyRepeat -int 12
defaults write -g KeyRepeat -int 1

.zshrc

.zshrc
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# starship
eval "$(starship init zsh)"
# 補完
bindkey -v
autoload -U compinit
compinit -u

# asdf
. /opt/homebrew/opt/asdf/libexec/asdf.sh

# コマンド履歴
export HISTFILE=${HOME}/.zsh_history
export HISTSIZE=1000
export SAVEHIST=100000
setopt extended_history

# 他のzshと履歴を共有
setopt inc_append_history
setopt share_history

# パスを直接入力してもcdする
setopt AUTO_CD

# 環境変数を補完
setopt AUTO_PARAM_KEYS

# aliases
alias ls='ls -G'
alias la='ls -a'
alias be='bundle exec'
alias r='bin/rails'
alias d='docker'
alias g='git'
alias get_idf='. $HOME/esp/esp-idf/export.sh'
alias arm64e='arch -arm64e zsh'
alias x86_64='arch -x86_64 zsh'

### Added by Zinit's installer
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
    print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
    command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
    command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
        print -P "%F{33} %F{34}Installation successful.%f%b" || \
        print -P "%F{160} The clone has failed.%f%b"
fi

source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit

# Load a few important annexes, without Turbo
# (this is currently required for annexes)
zinit light-mode for \
    zdharma-continuum/zinit-annex-as-monitor \
    zdharma-continuum/zinit-annex-bin-gem-node \
    zdharma-continuum/zinit-annex-patch-dl \
    zdharma-continuum/zinit-annex-rust

### End of Zinit's installer chunk

# powerlevel10k
source ~/.zsh/poerlevel10k/powerlevel10k.zsh-theme
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zs

# zsh plugins with zinit
zinit light johnhamelink/env-zsh
zinit light scmbreeze/scm_breeze
zinit light zsh-users/zsh-autosuggestions
zinit light zdharma/fast-syntax-highlighting
zinit light mollifier/anyframe

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

## anyframe
autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
add-zsh-hook chpwd chpwd_recent_dirs
# aliases
alias a-cd='anyframe-widget-cdr'                    	# 訪れたことのあるディレクトリへ移動
alias a-his='anyframe-widget-execute-history'		# コマンド履歴の検索
alias a-br='anyframe-widget-checkout-git-branch'	# gitブランチ
alias a-ghq='anyframe-widget-cd-ghq-repository' 	# リポジトリの一元管理

## Python
alias py='python'
# pipenv
export PIPENV_VENV_IN_PROJECT=true
# pokemon
export PATH=$PATH:~/.local/bin
なすぱんだ🍆🐼なすぱんだ🍆🐼

iTermセットアップ

参考

手順

  1. 基本設定

  2. zinit インストール

  3. https://github.com/romkatv/powerlevel10k をインストール

  4. zinit を使ってプラグインを導入

  5. キーバインドの設定

    ctrl + p / n など、便利なキーが使えないので設定する。

    # hex code の調べ方 : 下のコマンドを実行 → キー入力 → Enter
    read key; echo "$key" | hexdump
    

anyframe

peco のラッパー。超便利なコマンドが楽に使える。

# ~/.zshrc

# aliases
alias a-cd='anyframe-widget-cdr'                  # 訪れたことのあるディレクトリへ移動
alias a-his='anyframe-widget-execute-history'		  # コマンド履歴の検索
alias a-br='anyframe-widget-checkout-git-branch'	# gitブランチ
alias a-ghq='anyframe-widget-cd-ghq-repository' 	# リポジトリの一元管理
なすぱんだ🍆🐼なすぱんだ🍆🐼

その他ツール群

VSCode

複数PCの同期設定は便利だが、同期したくない設定もある。
一部の設定のみ同期しない場合は settingsSync.ignoredSettings を使う。

Alfred

Alfredを使いこなせてない君に!【Alfredの使い方完全版】 - Qiita

Google日本語入力

  1. インストール
  2. 有効化
  3. 再起動
  4. システム環境設定 > キーボード > 入力ソース
  5. + からGoogle日本語入力のソースを追加、 - でデフォルトの入力ソースを削除

Spectacle 👓

ウィンドウのサイズ・配置をいじるツール。
ログイン時に起動して欲しいので Launch Spectacle at login を有効にする。

AltTab

Alt+Tab によるアクティブなアプリケーションの切り替えを実現。
デフォルトだと option + tab になっているので、alt + tabに変更しておく。

Spark 📥

iPhone、iPad、Mac、Windows、そしてAndroidで使える最高のメールクライアント | Spark

Dash

スニペットツール。

  1. スニペット呼び出し用の文字列を登録
  2. Dash を常駐させる
  3. 登録したスニペット呼び出し用文字列を入力
  4. 勝手にスニペットに置換される

` や ^ のように、普段使うことがない文字列からスタートするスニペットにしておくといい。
APIドキュメントを高速に持ってきたりすることもできるらしいが、そこまで手を付けれていない。