From 6733cde61373b85df46d576895b0ae1077484b65 Mon Sep 17 00:00:00 2001 From: Pathfinder Date: Fri, 13 Nov 2026 16:26:04 +0100 Subject: [PATCH] Always-packages: install the multimedia dnf group Adds '@multimedia' as an ALWAYS_PACKAGES entry and teaches the always-loop to route '@group' lines through install_group, so a group is checked for existence first and a bad name prints the system's real group list instead of dnf's 'No match for argument: @multimedia'. Group install failures warn in red and continue, like every other always-package line. --- setup.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/setup.sh b/setup.sh index 961b704..9914714 100755 --- a/setup.sh +++ b/setup.sh @@ -395,6 +395,9 @@ fi #------------------------------------------ # Add a category here and it is installed on every run, no questions asked. # Keep each category one line so diffs stay readable. +# A line that is a dnf comps GROUP is written "@group" (e.g. "@multimedia"); +# the loop below routes it through install_group, which reports a bad group +# name with the list of groups this system actually has. ALWAYS_PACKAGES=( # Terminals "ghostty ghostty-bash-completion zsh zsh-syntax-highlighting" @@ -414,6 +417,10 @@ ALWAYS_PACKAGES=( "libreoffice" # Multimedia "mpv gstreamer1-plugin-openh264 mozilla-openh264" + # Multimedia codecs: dnf comps group 'multimedia' (the group Fedora's own + # docs recommend for playing movies/music). It is a GROUP, not a package, + # so it gets its own line — and the loop below sends it to install_group. + "@multimedia" ) step "6 Always-installed packages" @@ -421,6 +428,17 @@ rule always_failed="" for category in "${ALWAYS_PACKAGES[@]}"; do + # A "@group" line is a dnf comps group. install_group checks the group + # exists first and prints the real group list when it does not, instead + # of dnf's unhelpful "No match for argument: @multimedia". + if [[ "$category" == @* ]]; then + if ! install_group "${category#@}"; then + color_red " Failed: group ${category}" + always_failed="yes" + pause_if_debug + fi + continue + fi # shellcheck disable=SC2086 if ! install_packages $category; then color_red " Failed: $category" -- 2.47.3