Files
dotfiles/script/install.d/22-gh.sh
2025-12-23 22:22:20 +02:00

34 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