#!/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 }