Open16

Macbook Air M2 を購入したので、開発環境を整えていく

猫

Homebrew

とにもかくにも homebrew を入れる

https://brew.sh/index_ja

インストール

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

PATH を通す

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
猫

starship

oh-my-zsh からの卒業
https://github.com/starship/starship

インストール

brew install starship

Mac デフォルトになった zsh 向けにイニシャライズ

echo 'eval "$(starship init zsh)"' >> ~/.zshrc

必要フォントインストール

https://www.nerdfonts.com/font-downloads
Sauce Code Pro Nerd Font をダウンロードして Font Book アプリからインストール

Preset 設定

https://starship.rs/presets/pastel-powerline.html

starship preset pastel-powerline > ~/.config/starship.toml
猫

exa

ls をカラフルにする
https://github.com/ogham/exa

インストール

brew install exa

既存のコマンドを上書き

# >> /.zshrc
# alias ls
if [[ $(command -v exa) ]]; then
  alias ls='exa --icons --git'
  alias la='exa -T -L 1 -a -l --icons'
  alias lt='exa -T -L 3 -a --icons'
  alias lta='exa -T -L 3 -a -l --icons'
fi

猫

Broot

Finder からの卒業
https://github.com/Canop/broot

インストール

brew install broot

Mac 環境向けのショートカットキーを追加

vim ~/.config/broot/verb.hjson
# switch panels on macOS
{
  key: Left
  internal: ":panel_left"
}
{
  key: Right
  internal: ":panel_right"
}

ついでに vim キーバインドショートカットキーがコメントアウトされているので開放しておく

アイコン表示のためにフォントをインストール

https://github.com/Canop/broot/blob/master/resources/icons/vscode/vscode.ttf
vscode.ttf をダウンロードし、Font Book アプリからインストールする

アイコン設定がコメントアウトされているので開放する

vim ~/.config/broot/conf.hjson
icon_theme: vscode

alias 設定と、設定内で使われている $EDITOR を定義する

# >> ~/.zshrc
# alias broot
if [[ $(command -v broot) ]]; then
  alias br='broot'
fi
# $Editor set
export EDITOR=/usr/local/bin/code

唐突に code が出てきたけど、事前に Visual Studio Code も入れておき、cmd + shift + p から シェルコマンド: PATH 内に 'code' コマンドをインストールします をしておく
https://code.visualstudio.com/download

猫

zoxide

zi で 2 度と深い同じ場所への cd はしないマン
https://github.com/ajeetdsouza/zoxide

インストール

brew install zoxide

zsh 向けにイニシャライズ

echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc

fzf が dependencies のためインストール

brew install fzf

猫

zsh-completions

コマンド補完良き
https://github.com/zsh-users/zsh-completions

インストール

brew install zsh-completions

ディレクトリ権限変更

chmod -R go-w /opt/homebrew/share

PATH 通してイニシャライズ

# >> ~/.zshrc
# zsh-completions
if type brew &>/dev/null; then
  FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
  autoload -Uz compinit
  compinit
fi
猫

iTerm2

ターミナルは warp も気になるけど、まだ iTerm2 wezterm に軍配
https://iterm2.com/

インストール

こちら からダウンロードして入れる

カラースキームを設定する

こちら からダウンロードし、Iterm2 メニューの Settings... > Profiles > Colors > Color Presets... のドロップダウンの import からダウンロードしたカラースキームを入れて設定する

ちな自分は Bright Lights
https://iterm2colorschemes.com/

フォントを設定する

Iterm2 メニューの Settings... > Profiles > Text > Font のドロップダウンから、starship の際に入れた SaurceCodePro Nerd Font を設定する

猫

Vim

vimmonokai のテーマをインストールする
https://github.com/tomasr/molokai

インストール

mkdir ~/.vim
cd ~/.vim
mkdir colors
git clone https://github.com/tomasr/molokai
mv molokai/colors/molokai.vim ~/.vim/colors/
vi ~/.vimrc
# >> ~/.vimrc
syntax on
colorscheme molokai
set t_Co=256

猫

anyenv

バージョンマネージャーには anyenv から nodenvpyenv を入れる
https://github.com/anyenv/anyenv

インストール

brew install anyenv

イニシャライズ

anyenv init
echo 'eval "$(anyenv init -)"' >> ~/.zshrc
anyenv install --init

nodenv をインストール

anyenv install nodenv

node.js をインストール

# インストール可能な node のバージョンを確認する
nodenv install -l
# インストールする
nodenv install 19.0.1
# グローバル設定する
nodenv global 19.0.1
# 確認する
node -v
猫

Wezterm

Mac でも Windows でも Linux でも同じターミナル、同じ設定で

インストール

brew tap wez/wezterm
brew install --cask wez/wezterm/wezterm

https://wezfurlong.org/wezterm/
とりあえず見た目と Mac で使い勝手よくなりそうなキーバインド設定追加した

# .wezterm.lua
local wezterm = require 'wezterm'
local act = wezterm.action

return {
  use_ime = true,
  font = wezterm.font 'SauceCodePro Nerd Font',
  font_size = 14,
  color_scheme = "Japanesque",
  keys = {
    {
      key = 'd',
      mods = 'CMD',
      action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
    },
    {
      key = 'd',
      mods = 'CMD|SHIFT',
      action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
    },
    {
      key = 'LeftArrow',
      mods = 'CMD|OPT',
      action = act.ActivatePaneDirection 'Left',
    },
    {
      key = 'RightArrow',
      mods = 'CMD|OPT',
      action = act.ActivatePaneDirection 'Right',
    },
    {
      key = 'UpArrow',
      mods = 'CMD|OPT',
      action = act.ActivatePaneDirection 'Up',
    },
    {
      key = 'DownArrow',
      mods = 'CMD|OPT',
      action = act.ActivatePaneDirection 'Down',
    },
    {
      key = 'w',
      mods = 'CMD',
      action = wezterm.action.CloseCurrentPane { confirm = true },
    },
  }
}