そのうち誰かの役に立つ

もしくは誰の役にも立たない

新しいMacBookProを入手したのでやったこと2020秋

会社で使っている検証端末を買い替えてもらった。 新しい端末をセットアップするときは環境知識をアップデートするチャンスなので、これ幸いとばかりに試した結果をメモしておく。

TL;DR

  • Preztoを導入した
  • GNU系コマンドを入れた
  • asdfを導入した

Homebrew

なにはともあれとりあえず Homebrew を入れておく。

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

とりあえず必要になりそうなものを一通りインストールしておく。

brew install wget git coreutils automake vim
brew cask install google-chrome visual-studio-code virtualbox virtualbox-extension-pack

Prezto

macOSのデフォルトシェルはCatalinaになってからzshになったらしい。 今まで何も考えずデフォルトのbashを使っていたが、まあ特にこだわりがあったわけでもないのでzshに乗り換えてみるとする。 少し調べてみるとzshにはconfig frameworkなるものがあるらしく(もしかしたらbashにもあったのかもしれない)、 有名どころとして oh-my-zshPrezto が挙げられていた。 動作が軽量らしいということでPreztoを選択。 Installationに書いてある通りにインストール。

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

テーマはとりあえず特に設定せず使用しているが、そのうち何か設定するかもしれない。

zsh-completionsも導入しておく。

brew install zsh-completions

インストール時の表示に従い ~/.zshrc を追記。 ここで zsh compinit: insecure directories という警告が出てきたので当該ディレクトリのパーミッションを755に変更。

chmod 755 /usr/local/share/zsh/site-functions
chmod 755 /usr/local/share/zsh

GNU系コマンド

個人的にBSD系コマンドが好きではない(正確にはGNU系コマンドの別OSを使うと混乱する)ので、 記事を参考にGNU系のコマンドをインストールする。

brew install diffutils ed findutils gawk gnu-sed gnu-tar grep gzip

~/.zshrc~/.zshenv も記事に従って追記。

asdf

以前は anyenv を使用していたが、調べると最近は asdf のほうが対応する環境が多いらしく、折角なのでasdfを採用した。

brew install asdf
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ~/.zshrc

利用実績があったり使っていきたいものをインストール。とりあえずlatestを入れておく。

brew install coreutils automake autoconf openssl libyaml readline libxslt libtool unixodbc unzip curl gpg
asdf plugin add python
asdf plugin add nodejs
asdf plugin add yarn
asdf plugin add golang
asdf plugin add rust
asdf plugin list | xargs -I {} asdf install {} latest

その他

  • 日本語入力時にデフォルトで半角スペースが入るようにしたり、ChromeVSCodeのExtensionを入れたりしたが特に面白みもないので割愛
  • tmux使えたほうが何かと便利なのだろうけどまだ手が出せていない