dotfiles/install/lib/packages.sh
Claude 9f3e6ba049
fix(install): use Brave Beta's own keyring (not the stable one)
Brave's Beta channel is signed with its own key (C3DE1DD4F661CDCB).
The previous attempt to share the stable keyring failed at apt update
with NO_PUBKEY because the release bucket's keyring only contains the
stable channel's key.

The correct URL is the beta bucket itself with the channel-specific
filename: brave-browser-apt-beta.s3.brave.com/brave-browser-beta-archive-keyring.gpg
2026-06-11 15:22:14 +00:00

62 lines
1.6 KiB
Bash

#!/bin/bash
# apt: system base + GUI apps from vendor repos (WezTerm, Brave Beta).
# All CLI tools come from Homebrew (lib/brew.sh) so they stay current.
APT_PACKAGES=(
# Login shell (system-level so chsh can point at /usr/bin/zsh)
zsh
# Core plumbing + Homebrew prerequisites
git
curl
wget
ca-certificates
gnupg
build-essential
procps
file
unzip
xz-utils
# Wayland clipboard (Pop!_OS Cosmic is Wayland-native)
wl-clipboard
)
install_apt_packages() {
apt_update_once
info "Installing apt packages (${#APT_PACKAGES[@]} packages)..."
apt_install "${APT_PACKAGES[@]}"
}
install_wezterm() {
if command -v wezterm >/dev/null 2>&1; then
info "WezTerm already installed"
return
fi
add_apt_repo wezterm-fury \
https://apt.fury.io/wez/gpg.key \
"deb [signed-by=$KEYRINGS_DIR/wezterm-fury.gpg] https://apt.fury.io/wez/ * *"
apt_update_once
apt_install wezterm
}
install_brave_beta() {
if command -v brave-browser-beta >/dev/null 2>&1; then
info "Brave Beta already installed"
return
fi
# Brave's Beta channel is signed with its own key (C3DE1DD4F661CDCB),
# NOT the stable keyring — the keyring file in the beta bucket includes
# "beta" in the name.
add_apt_repo brave-browser-beta \
https://brave-browser-apt-beta.s3.brave.com/brave-browser-beta-archive-keyring.gpg \
"deb [signed-by=$KEYRINGS_DIR/brave-browser-beta.gpg arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ stable main"
apt_update_once
apt_install brave-browser-beta
}
install_all_packages() {
install_apt_packages
install_wezterm
install_brave_beta
}