#!/usr/bin/env bash # Tell build process to exit if there are any errors. set -oue pipefail ############################################################################### # Example: Installing 1Password and Google Chrome from Official Repositories ############################################################################### # This is an EXAMPLE file showing how to add third-party RPM repositories # and install packages from them following Universal Blue/Bluefin conventions. # # To use this script: # 1. Rename this file to remove the .example extension: 20-onepassword.sh # 2. The build system will automatically run scripts in numerical order # # IMPORTANT CONVENTIONS (from @ublue-os/bluefin): # - Always clean up temporary repository files after installation # - Use dnf5 exclusively (never dnf or yum) # - Always use -y flag for non-interactive operations # - Remove repo files to keep the image clean (repos don't work at runtime) ############################################################################### ### Install Google Chrome from Official Repository echo "Installing Google Chrome..." # Add Google Chrome RPM repository cat > /etc/yum.repos.d/google-chrome.repo << 'EOF' [google-chrome] name=google-chrome baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64 enabled=1 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub EOF # Install Chrome dnf5 install -y google-chrome-stable # Clean up repo file (required - repos don't work at runtime in bootc images) rm -f /etc/yum.repos.d/google-chrome.repo echo "Google Chrome installed successfully" ### Install 1Password from Official Repository echo "Installing 1Password..." # Add 1Password RPM repository GPG key rpm --import https://downloads.1password.com/linux/keys/1password.asc # Add 1Password RPM repository cat > /etc/yum.repos.d/1password.repo << 'EOF' [1password] name=1Password Stable Channel baseurl=https://downloads.1password.com/linux/rpm/stable/$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://downloads.1password.com/linux/keys/1password.asc EOF # Install 1Password dnf5 install -y 1password # Clean up repo file (required - repos don't work at runtime in bootc images) rm -f /etc/yum.repos.d/1password.repo echo "1Password installed successfully" echo "Chrome and 1Password installation complete!"