Closed9

zshシェル環境の整備

Takamichi UrataTakamichi Urata

macOSのデフォルトはzshですが、homebrew で zsh インストール。他も一緒に。

brew install asdf starship zsh zsh-completions
Takamichi UrataTakamichi Urata

starship と zsh-completions のインストールに伴い、.zshrc に下記を追加。

if type brew &>/dev/null; then
  FPATH=$(brew --prefix)/share/zsh-completions:$FPATH

  autoload -Uz compinit
  compinit
fi

ディレクトリのパーミッション変更とキャッシュ削除も必要。

chmod -R go-w '/opt/homebrew/share/zsh'
rm -f ~/.zcompdump; compinit

上記までは brew install の結果で表示される。
ただ下記のエラーが出る。

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

$ compaudit 
There are insecure directories:
/opt/homebrew/share

/opt/homebrew/share のパーミッション変更も必要なようなので

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

も行う。
エラーの解消を確認。

Takamichi UrataTakamichi Urata

asdf のインストールに伴い、 .zshrc に下記を追加。

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

末尾でいいんだろうか?
(compinit より後でいいのだろうか?)

この時点での .zshrc はこんな感じ。

if type brew &>/dev/null; then
  FPATH=$(brew --prefix)/share/zsh-completions:$FPATH

  autoload -Uz compinit
  compinit
fi

. /opt/homebrew/opt/asdf/libexec/asdf.sh
Takamichi UrataTakamichi Urata

zinit を使っていたが、Rust製の sheldon を試してみる。

brew insatll sheldon

sheldon の設定ファイルをコマンドで作成する。

sheldon init --shell zsh

設定ファイルの作成場所が

Initialize new config file `~/.config/sheldon/plugins.toml`? [y/N]

とでるので y es

.zshrc

eval "$(sheldon source)"

を追加。

Takamichi UrataTakamichi Urata

sheldom に任せればいいので asdf や zsh-completions は homebrew で入れる必要なかった。

brew uninstall asdf zsh-completions

.zshrc を下記に変更。

if type brew &>/dev/null
then
  FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
fi

eval "$(sheldon source)"
Takamichi UrataTakamichi Urata

homebrew で zsh をインストールしたけどシェルを変更してなかった。

chsh -s $(which zsh)
Takamichi UrataTakamichi Urata

Docker Desktop に含まれている zsh-completion を有効にする。

ln -s /Applications/Docker.app/Contents/Resources/etc/docker.zsh-completion /opt/homebrew/share/zsh/site-functions/_docker
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.zsh-completion /opt/homebrew/share/zsh/site-functions/_docker-compose
このスクラップは2023/03/03にクローズされました