xx
This commit is contained in:
@@ -2,13 +2,38 @@
|
||||
set -euo pipefail
|
||||
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
wait_for_apt() {
|
||||
if command -v fuser >/dev/null 2>&1; then
|
||||
while \
|
||||
fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1 ||
|
||||
fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ||
|
||||
fuser /var/lib/dpkg/lock >/dev/null 2>&1; do
|
||||
echo "Waiting for apt locks to clear..."
|
||||
sleep 2
|
||||
done
|
||||
else
|
||||
# Fallback when fuser is unavailable
|
||||
sleep 2
|
||||
fi
|
||||
}
|
||||
|
||||
apt_exec() {
|
||||
if command -v sudo >/dev/null 2>&1; then
|
||||
sudo "$@"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y \
|
||||
wait_for_apt
|
||||
apt_exec apt-get update -qq
|
||||
wait_for_apt
|
||||
apt_exec apt-get install -y \
|
||||
make tree jq curl wget unzip git ripgrep fd-find htop >/dev/null
|
||||
# fd binary name differs on Debian
|
||||
if [[ ! -e /usr/local/bin/fd && -e /usr/bin/fdfind ]]; then
|
||||
sudo ln -sf /usr/bin/fdfind /usr/local/bin/fd
|
||||
apt_exec ln -sf /usr/bin/fdfind /usr/local/bin/fd
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -182,4 +182,44 @@ module "claude_code" {
|
||||
workdir = "/workspaces"
|
||||
group = "AI Tools"
|
||||
order = 30
|
||||
pre_install_script = <<-EOT
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
if curl --help 2>&1 | grep -q -- "--retry-all-errors"; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! command -v apt-get >/dev/null 2>&1; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
wait_for_apt() {
|
||||
if command -v fuser >/dev/null 2>&1; then
|
||||
while \
|
||||
fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1 ||
|
||||
fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ||
|
||||
fuser /var/lib/dpkg/lock >/dev/null 2>&1; do
|
||||
echo "Waiting for apt locks to clear..." >&2
|
||||
sleep 2
|
||||
done
|
||||
else
|
||||
sleep 2
|
||||
fi
|
||||
}
|
||||
|
||||
apt_exec() {
|
||||
if command -v sudo >/dev/null 2>&1; then
|
||||
sudo "$@"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
wait_for_apt
|
||||
apt_exec apt-get update -qq
|
||||
wait_for_apt
|
||||
apt_exec apt-get install -y curl >/dev/null
|
||||
EOT
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user