Add Federated Calendar
This commit is contained in:
@@ -71,6 +71,8 @@ The scripts install lots of useful software. There are (4) main ways software is
|
|||||||
|
|
||||||
Pacman installs software from the "packages.conf" file. It installs software such as neovim, tmux, Go, Rust, Docker, Tailscale, Element, LibreOffice, etc. Tell me if you want other tools or submit a pull request.
|
Pacman installs software from the "packages.conf" file. It installs software such as neovim, tmux, Go, Rust, Docker, Tailscale, Element, LibreOffice, etc. Tell me if you want other tools or submit a pull request.
|
||||||
|
|
||||||
|
Federated Computer's own packages, such as Federated Calendar, come from the `[federated]` repository on Federated Computer's Gitea. CoreDesktop adds it to /etc/pacman.conf and trusts its signing key (fingerprint `6AB7C080D87C74BEE3925A026329376994F18B4E`), so they install and update like any other pacman package. Federated Calendar is installed alongside GNOME Calendar and can invite people to events on your Core's Nextcloud calendars.
|
||||||
|
|
||||||
### AUR
|
### AUR
|
||||||
|
|
||||||
Yay is installed as is the way AUR packages are installed and maintained. Examples include the Helium Browser and Winboat. Helium is made the default browser once; you can choose another in Settings > Apps > Default Apps.
|
Yay is installed as is the way AUR packages are installed and maintained. Examples include the Helium Browser and Winboat. Helium is made the default browser once; you can choose another in Settings > Apps > Default Apps.
|
||||||
|
|||||||
@@ -71,6 +71,10 @@ source packages.conf
|
|||||||
|
|
||||||
echo "Starting full system setup..."
|
echo "Starting full system setup..."
|
||||||
|
|
||||||
|
# Federated Computer's own packages (Federated Calendar, ...)
|
||||||
|
echo "Adding the Federated Computer package repo..."
|
||||||
|
ensure_federated_repo
|
||||||
|
|
||||||
# Bring the system fully up to date before installing anything new
|
# Bring the system fully up to date before installing anything new
|
||||||
echo "Updating system..."
|
echo "Updating system..."
|
||||||
sudo pacman -Sy --needed --noconfirm archlinux-keyring
|
sudo pacman -Sy --needed --noconfirm archlinux-keyring
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ DESKTOP=(
|
|||||||
cliamp
|
cliamp
|
||||||
cline-desktop
|
cline-desktop
|
||||||
element-desktop
|
element-desktop
|
||||||
|
federated-calendar
|
||||||
gnome
|
gnome
|
||||||
gnome-tweaks
|
gnome-tweaks
|
||||||
helium-browser-bin
|
helium-browser-bin
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ echo "Removing unwanted packages..."
|
|||||||
remove_packages "${REMOVE_PACMAN[@]}"
|
remove_packages "${REMOVE_PACMAN[@]}"
|
||||||
remove_flatpaks "${REMOVE_FLATPAKS[@]}"
|
remove_flatpaks "${REMOVE_FLATPAKS[@]}"
|
||||||
|
|
||||||
|
# Machines installed before Federated Calendar need the repo before the -Sy
|
||||||
|
# below and install_packages, so this can't wait for a migration
|
||||||
|
echo "Checking the Federated Computer package repo..."
|
||||||
|
ensure_federated_repo || STATUS=1
|
||||||
|
|
||||||
# A machine that hasn't updated in a while can have a keyring too old to verify
|
# A machine that hasn't updated in a while can have a keyring too old to verify
|
||||||
# the new packages. Update it first; the -Su below completes this -Sy.
|
# the new packages. Update it first; the -Su below completes this -Sy.
|
||||||
echo "Updating Arch keyring..."
|
echo "Updating Arch keyring..."
|
||||||
|
|||||||
@@ -36,6 +36,23 @@ install_packages() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FEDERATED_REPO_URL="https://gitea.federated.computer/api/packages/Federated_Computer/arch"
|
||||||
|
FEDERATED_REPO_KEY="6AB7C080D87C74BEE3925A026329376994F18B4E"
|
||||||
|
|
||||||
|
# Add Federated Computer's pacman repo, which Gitea serves and signs, and trust
|
||||||
|
# its key. Does nothing if both are already set up.
|
||||||
|
ensure_federated_repo() {
|
||||||
|
if ! sudo pacman-key --list-keys "$FEDERATED_REPO_KEY" &> /dev/null; then
|
||||||
|
curl -fsSL "$FEDERATED_REPO_URL/repository.key" | sudo pacman-key --add - || return 1
|
||||||
|
sudo pacman-key --lsign-key "$FEDERATED_REPO_KEY" > /dev/null || return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! grep -q '^\[federated\]' /etc/pacman.conf; then
|
||||||
|
printf '\n[federated]\nSigLevel = Required DatabaseRequired\nServer = %s/$repo/$arch\n' \
|
||||||
|
"$FEDERATED_REPO_URL" | sudo tee -a /etc/pacman.conf > /dev/null || return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Function to install pipx applications if not already installed
|
# Function to install pipx applications if not already installed
|
||||||
install_pipx_apps() {
|
install_pipx_apps() {
|
||||||
local installed app status=0
|
local installed app status=0
|
||||||
|
|||||||
Reference in New Issue
Block a user