35 lines
1.3 KiB
Bash
35 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Description:
|
|
# Install GitHub CLI.
|
|
#
|
|
|
|
# Skip in Codespaces (pre-installed in universal image)
|
|
[[ "$DOTS_ENV" == "codespaces" ]] && { log_pass "Skipping in Codespaces"; return 0; }
|
|
|
|
if ! command -v gh &>/dev/null; then
|
|
case "$DOTS_PKG" in
|
|
apt)
|
|
# https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt
|
|
sudo mkdir -p -m 755 /etc/apt/keyrings && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg >/dev/null &&
|
|
sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg &&
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null &&
|
|
sudo apt-get update -qq &&
|
|
sudo apt-get install -qq gh
|
|
;;
|
|
pacman)
|
|
sudo pacman -S --noconfirm github-cli
|
|
;;
|
|
brew)
|
|
brew install gh
|
|
;;
|
|
*)
|
|
log_warn "Skipping GitHub CLI install: no supported package manager found"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
gh --version
|
|
|