From 42ca768584a3a06320a50275c8f13c67435962a5 Mon Sep 17 00:00:00 2001 From: Breadway Date: Tue, 28 Apr 2026 19:56:13 +0800 Subject: [PATCH] Update Fedora state: 2026-04-28 19:56 --- apps-dnf.txt | 1 + install-apps.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 install-apps.sh diff --git a/apps-dnf.txt b/apps-dnf.txt index c9b9a85..7a4559d 100644 --- a/apps-dnf.txt +++ b/apps-dnf.txt @@ -63,6 +63,7 @@ bluez-cups bluez-libs brcmfmac-firmware brltty +btop btrfs-progs bzip2 bzip2-libs diff --git a/install-apps.sh b/install-apps.sh new file mode 100644 index 0000000..2a9f8aa --- /dev/null +++ b/install-apps.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Hash triggers (Script runs if these files change): +# dnf: {{ include "apps-dnf.txt" | sha256sum }} +# flatpak: {{ include "apps-flatpak.txt" | sha256sum }} +# vscode: {{ include "vscode-extensions.txt" | sha256sum }} + +echo "Change detected in Fedora app lists. Restoring environment..." + +# 1. Install DNF Packages +if [ -f {{ joinPath .chezmoi.sourceDir "apps-dnf.txt" | quote }} ]; then + echo "Installing DNF packages..." + sudo dnf install -y $(cat {{ joinPath .chezmoi.sourceDir "apps-dnf.txt" | quote }}) +fi + +# 2. Install Flatpaks (Very common on Fedora) +if [ -f {{ joinPath .chezmoi.sourceDir "apps-flatpak.txt" | quote }} ]; then + echo "Installing Flatpaks..." + while read -r fp; do + flatpak install -y flathub "$fp" + done < {{ joinPath .chezmoi.sourceDir "apps-flatpak.txt" | quote }} +fi + +# 3. Restore VS Code Extensions +if command -v code &> /dev/null; then + echo "Restoring VS Code Extensions..." + while read -r extension; do + code --install-extension "$extension" --force + done < {{ joinPath .chezmoi.sourceDir "vscode-extensions.txt" | quote }} +fi + +echo "Fedora environment is up to date!"