Fix Fedora DNF5 compatibility and distro-specific packages
Key changes: - lib/distro.sh: replace REPO_ADD_RPM variable with repo_add_rpm() function (DNF5 changed 'config-manager --add-repo' to 'config-manager addrepo --from-repofile=') - 01-repos.sh: use repo_add_rpm function; add Ghostty COPR for Fedora; remove Signal RPM repo (no official one — use Flatpak) - 02-packages.sh: lowercase 'development-tools' group for DNF5; add python3-devel (needed for native extensions like evdev); swap ffmpeg-free → ffmpeg via RPM Fusion for full codec support; use tuned (preinstalled on Fedora) instead of TLP - 11-tweaks.sh: conditional power management — TLP on Debian, tuned on Fedora
This commit is contained in:
23
stages/02-packages.sh
Normal file → Executable file
23
stages/02-packages.sh
Normal file → Executable file
@@ -14,10 +14,11 @@ info "Installing system packages (this may take a while)..."
|
||||
# A. Development tools & compilers
|
||||
# ===========================================================================
|
||||
echo " Development tools..."
|
||||
pkg_group_install "Development Tools" # Fedora only
|
||||
pkg_group_install "development-tools" # Fedora only
|
||||
|
||||
# Common dev packages (same name on both)
|
||||
pkg_install cmake
|
||||
pkg_install python3-devel # Needed for building native extensions (evdev, etc.)
|
||||
|
||||
# Differently-named dev packages
|
||||
pkg_install_mapped "build-essential" "@development-tools"
|
||||
@@ -32,6 +33,13 @@ fi
|
||||
|
||||
pkg_install dkms
|
||||
|
||||
# ---- Swap ffmpeg-free → ffmpeg from RPM Fusion (for full codec support) ----
|
||||
# Fedora ships ffmpeg-free in main repos, but RPM Fusion's ffmpeg has more codecs
|
||||
if rpm -q ffmpeg-free &>/dev/null; then
|
||||
echo " Swapping ffmpeg-free → ffmpeg (RPM Fusion)..."
|
||||
sudo dnf swap -y ffmpeg-free ffmpeg --allowerasing 2>/dev/null && ok " ffmpeg swapped" || warn " ffmpeg swap had issues."
|
||||
fi
|
||||
|
||||
# ===========================================================================
|
||||
# B. CLI utilities
|
||||
# ===========================================================================
|
||||
@@ -87,11 +95,12 @@ pkg_install \
|
||||
smartmontools \
|
||||
solaar 2>/dev/null || warn " Some system tools failed."
|
||||
|
||||
# TLP — laptop power management
|
||||
# Power management — use tuned on Fedora, TLP on Debian
|
||||
if [ "$DISTRO_FAMILY" = "debian" ]; then
|
||||
pkg_install tlp 2>/dev/null || warn " tlp not available."
|
||||
else
|
||||
pkg_install tlp tlp-rdw 2>/dev/null || warn " tlp not available."
|
||||
# tuned is preinstalled on Fedora Workstation — just enable it
|
||||
$SERVICE_ENABLE tuned 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# ===========================================================================
|
||||
@@ -106,7 +115,7 @@ pkg_install \
|
||||
p7zip 2>/dev/null || true
|
||||
|
||||
# ---- Ghostty terminal emulator ----
|
||||
# Fedora: in official repos since F40
|
||||
# Fedora: via COPR (scottames/ghostty) added in stage 01
|
||||
# Ubuntu/Pop: via PPA (added in stage 01)
|
||||
echo " Ghostty terminal emulator..."
|
||||
pkg_install ghostty 2>/dev/null || warn " ghostty install failed."
|
||||
@@ -118,8 +127,12 @@ pkg_install code 2>/dev/null || warn " code install failed."
|
||||
# ===========================================================================
|
||||
# Start enabled services
|
||||
# ===========================================================================
|
||||
if command -v tlp &>/dev/null; then
|
||||
if [ "$DISTRO_FAMILY" = "debian" ] && command -v tlp &>/dev/null; then
|
||||
$SERVICE_ENABLE tlp 2>/dev/null || true
|
||||
fi
|
||||
# tuned is already enabled by default on Fedora, but ensure it's running
|
||||
if [ "$DISTRO_FAMILY" = "fedora" ] && command -v tuned &>/dev/null; then
|
||||
$SERVICE_ENABLE tuned 2>/dev/null || true
|
||||
fi
|
||||
|
||||
ok "Stage 02 complete: system packages installed."
|
||||
|
||||
Reference in New Issue
Block a user