I have a bash script I use to script my Silverblue install. Something like this should work.
# space-separated list of packages to install
S_RPM_PACKAGES_TO_INSTALL="pkg1 pkg2 pkg3"
# function to install the packages
dnf_install () {
sudo dnf install -y $1
}
# call to function, passing the list
dnf_install "$S_RPM_PACKAGES_TO_INSTALL"
I have it set up this way so that I just have a bunch of bash variables describing the stuff I want to install all at the top of the file, but the function definitions and calls lower down since I don't need to see them.
It also does other things like removes packages from the system, removes some preinstalled flatpaks, installs flatpaks from Fedora Flatpaks / Flathub / gnome-nightly, and sets up gnome through a list gsettings commands.
As I use my system, I add new apps to the list I want next time I install and remove apps I don't use.