Open1

DevContainer で構築したコンテナに zsh と oh-my-zsh (プラグインも含む)をインストールする

まっつーまっつー
  1. devcontainer.jsonfeaturescommon-utils を指定する。
  2. devcontainer.son でデフォルトシェルを zsh に指定する。
  3. devcontainer.jsonpostCreateCommand に下記処理を実行するコマンドを追記
    • zsh-autosuggestions のクローン
    • zsh-completions のクローン
    • zsh-syntax-highlighting のクローン
    • .zshrc にプラグイン情報を追記

上記まで実行した devcontainer.json が以下

{
	"name": "Java",
	"image": "mcr.microsoft.com/devcontainers/java:1-21-bullseye",
	"features": {
		"ghcr.io/devcontainers/features/java:1": {
			"version": "none",
			"installMaven": "true",
			"installGradle": "false"
		},
		"ghcr.io/devcontainers/features/common-utils:2": {
			"installZsh": "true",
			"installOhMyZsh": "true",
			"installOhMyZshConfig": "true"
		}
	},
	"postCreateCommand": "git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-\"$HOME/.oh-my-zsh/custom\"}/plugins/zsh-autosuggestions && git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-\"$HOME/.oh-my-zsh/custom\"}/plugins/zsh-syntax-highlighting && git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-\"$HOME/.oh-my-zsh/custom\"}/plugins/zsh-completions && sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-completions zsh-syntax-highlighting)/' ~/.zshrc",
	"customizations": {
		"vscode": {
			"settings": {
				"terminal.integrated.defaultProfile.linux": "zsh",
				"java.jdt.ls.java.home": "/usr/lib/jvm/msopenjdk-current"
			}
		}
	}
}
  1. コンテナのリビルド

  2. .zshrcの読み込み
    postCreateCommand セクションで source コマンドを実行しても、反映できなかった