Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@
"runArgs": ["--env-file", "${localWorkspaceFolder}/.devcontainer/.env"],

"mounts": [
"source=musher-spec-${devcontainerId}-gh-config,target=/home/vscode/.config/gh,type=volume",
"source=musher-spec-${devcontainerId}-claude-config,target=/home/vscode/.claude,type=volume",
"source=musher-spec-${devcontainerId}-codex-config,target=/home/vscode/.codex,type=volume"
"source=musher-${devcontainerId}-gh-config,target=/home/vscode/.config/gh,type=volume",
"source=musher-${devcontainerId}-claude-config,target=/home/vscode/.claude,type=volume",
"source=musher-${devcontainerId}-codex-config,target=/home/vscode/.codex,type=volume"
],

"containerEnv": {
Expand Down Expand Up @@ -123,7 +123,6 @@
"timonwong.shellcheck",
"eamodio.gitlens",
"bierner.markdown-mermaid",
"github.copilot",
"github.copilot-chat"
],
"settings": {
Expand Down
18 changes: 14 additions & 4 deletions .devcontainer/scripts/lib/base-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -90,17 +90,27 @@ base_setup_path() {
export PATH="${_MISE_SHIMS}:${_HOME}/.local/bin:${PATH}"
}

# Installs the pinned mise release via the official installer if mise is not
# already present.
# Installs the pinned mise release via the official installer unless that
# exact release is already present.
#
# A mise of any other version is replaced, not kept: the volumes and home
# directory outlive a pin bump, and a container created before one kept its
# older mise, which then refused the config's min_version and left every
# mise-managed CLI uninstalled.
#
# Outputs:
# Writes progress to stderr via log()
# Returns:
# 0 on success, non-zero on failure
base_install_mise() {
local installed=""
if has_cmd mise; then
log "mise already installed, skipping"
return 0
installed="$(mise --version 2>/dev/null | awk 'NR == 1 { print $1 }')"
if [[ "${installed}" == "${_MISE_VERSION#v}" ]]; then
log "mise ${installed} already installed, skipping"
return 0
fi
log "mise ${installed:-of unknown version} is not the pinned ${_MISE_VERSION}; replacing it"
fi
log "Installing mise ${_MISE_VERSION} (https://mise.run)..."
# MISE_VERSION is the installer's own input: it fetches that release rather
Expand Down
Loading