How to add an additional .repo file on Silverblue

I’m interested in using the proprietary tailscale VPN software on a Fedora Silverblue installation. Tailscale provides Fedora-compatible RPM repos, but I’m not sure as to whether I can include them in Silverblue.
Has anyone tried something similar to what I’m try to accomplish? If so, what’s the recommended path forward here?

1 Like

Hi Jim! I toss the tailscale.repo file in /etc/yum.repos.d and then rpm-ostree install tailscale. I’ve been using it like this without issue, seems like the least offensive way to get it working.

3 Likes

I think this should be included in the documentation of Silverblue–as for now, there’s no clear explanation how to add foreign repos on Silverblue (or I couldn’t find it) and some time ago I had a similar doubt.

I use ProtonVPN on Silverblue but in this case, .rpm is provided by Proton–you just install the .rpm with rpm-ostree install and the repo is added.

See also Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos) for RPM packages that include their own .repo config files.

1 Like

Hi @siosm

Having read Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos) ; is there a way to add thoses repos:

  • without the rpm-ostree install <url>.rpmwhich do require a reboot
  • but through flatpak remote-addor any other way ?

My use case: installing multiple software with a kickstart file in the post-install part of the file and I’m not sure it can handle reboot(s) .

At present installing several softwares not distributed in flatpak would require multiple reboots after installing a standard Fedora Silverblue/Kinoite image:

  1. Reboot after rpm-ostree install for the repo , like rpmfusion
    Eg: sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

  2. Reboot after rpm-ostree install .rpm .rpm etc…

  3. Repeat steps 1 and 2 for each repo URL info embedded in a .rpm file

  • rpm that may need an rpm install

You can copy the repo files to /etc/yum.repos.d/ since it is mutable, and that is all the install from rpm does.

Thanks @jakfrost

What are exactly the right files and how to extract them from the rpmfusion-(non)free-release-$(rpm -E %fedora).noarch.rpm .rpm file so that I put them in /etc/yum.repos.d/ ?

The files have a dot repo extension. Using the RPM via rpm-ostree does all of the manual steps you would have to do and avoids potential of missing one or continuing without correctly completing the installation. You can install them at the same time prior to reboot. I don’t know if a kickstart file will survive across a reboot, I am not as versed in them as I would like. Perhaps you could also make a first start file for finalizing the install, say for anything that needed the reboot before completing?