33 lines
1.1 KiB
Bash
33 lines
1.1 KiB
Bash
#!/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!"
|