brew/.devcontainer/on-create-command.sh
Issy Long 8b3be30a83
Tap bundle and services in Codespaces
- Yes, I wanted to do more Homebrew stuff from Codespaces on my iPad
  because I couldn't be bothered to get out of bed and walk downstairs
  to get my laptop.
- For that I needed my `Homebrew/brew` branch and `brew services`
  tapped, with sufficient permissions for write access so I could
  push commits.
- So I thought I'd do `bundle` as well as it seemed like another
  "would maybe use Codespaces for this" tap.
2024-08-18 22:19:36 +00:00

52 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e
# fix permissions so Homebrew and Bundler don't complain
sudo chmod -R g-w,o-w /home/linuxbrew
# everything below is too slow to do unless prebuilding so skip it
CODESPACES_ACTION_NAME="$(jq --raw-output '.ACTION_NAME' /workspaces/.codespaces/shared/environment-variables.json)"
if [[ "${CODESPACES_ACTION_NAME}" != "createPrebuildTemplate" ]]
then
echo "Skipping slow items, not prebuilding."
exit 0
fi
# install Homebrew's development gems
brew install-bundler-gems --groups=all
# install Homebrew formulae we might need
brew install shellcheck shfmt gh gnu-tar
# cleanup any mess
brew cleanup
# actually tap homebrew/core, no longer done by default
brew tap --force homebrew/core
# tap some other repos so codespaces can be used for developing multiple taps
brew tap homebrew/bundle
brew tap homebrew/services
# install some useful development things
sudo apt-get update
apt_get_install() {
sudo apt-get install -y \
-o Dpkg::Options::=--force-confdef \
-o Dpkg::Options::=--force-confnew \
"$@"
}
apt_get_install \
openssh-server \
zsh
# Ubuntu 18.04 doesn't include zsh-autosuggestions
if ! grep -q "Ubuntu 18.04" /etc/issue &>/dev/null
then
apt_get_install zsh-autosuggestions
fi
# Start the SSH server so that `gh cs ssh` works.
sudo service ssh start