Out of Curiosity: Which packages do you have layered?

I try to avoid layering anything, if possible I use toolbox for everything that isn’t doable via flatpak (e.g. I have toolboxes for my rust, python, etc. environments - and one for tlp & unar too). I install rust-based programs using cargo from the toolbox since it has access to my home directory (e.g. Nushell, Alacritty, Starship). Anything that needs media plugins is installed via flatpak and so has access to the ffmpeg-full flatpak extension. I am considering layering podman-docker but I’d like to avoid all layering if possible. When I get around to installing Wine, I will see if it’s possible to avoid layers.

Does toolbox for things like rust slow down your development process? You have to manually enter it every time right?

  ostree://fedora:fedora/34/x86_64/silverblue
               Version: 34.20210415.n.0 (2021-04-15T08:06:47Z)
            BaseCommit: 24172968655aa4322456f9c7012abb275e95b271fe9da931a6c6c7be8d217cde
          GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
                  Diff: 34 upgraded, 4 added
       LayeredPackages: adobe-source-sans-pro-fonts alsa-firmware docker-compose fedora-workstation-repositories fuse-sshfs gnome-shell-extension-pop-shell gnome-tweaks google-croscore-cousine-fonts google-crosextra-carlito-fonts
                        intel-media-driver langpacks-nl libratbag-ratbagd libusb libva-intel-hybrid-driver libva-utils moby-engine ncdu python27 simple-scan virt-manager wireguard-tools zsh
         LocalPackages: brscan4-0.4.8-1.x86_64 rpmfusion-nonfree-release-34-0.2.noarch rpmfusion-free-release-34-0.3.noarch

Too many basically. Some extra fonts, drivers, zsh, docker using Moby, etc.

You manually enter the toolbox in a terminal, but it’s not really a burden once you do that. I work in Atom (flatpak) and build/compile from the command line in the terminal (in the toolbox). It stays open while I work, so there’s only the one time per computer startup that I start the toolbox. Similarly, for Python I enter the toolbox, launch Jupyter Lab, and just work.

1 Like
● ostree://fedora:fedora/34/x86_64/silverblue
               Version: 34.20210423.n.1 (2021-04-23T22:04:27Z)
            BaseCommit: 370c9f456cabdd7920ddfa7813d5677052fff3b99de4b13d79d9e61bdd0b23a3
          GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
   RemovedBasePackages: firefox 87.0-12.fc34
       LayeredPackages: fedora-workstation-repositories git-extras gnome-tweak-tool kmod-nvidia openssl vim xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda
                        zsh
         LocalPackages: rpmfusion-nonfree-release-34-0.2.noarch rpmfusion-free-release-34-0.3.noarch
             Initramfs: -I /etc/vconsole.conf

For me it boils down to codecs and kvm-tools, as I’ve been unsuccessful to setup a container running libvirtd.

[root@hamlet ~]# rpm-ostree status
State: idle
Deployments:
● ostree://fedora:fedora/33/x86_64/silverblue
                   Version: 33.20210420.0 (2021-04-20T15:26:08Z)
                BaseCommit: f70b0dc933574591341398ee706564fbb8e5d444f8a96a47be3b65635e2d1807
              GPGSignature: Valid signature by 963A2BEB02009608FE67EA4249FD77499570FF31
           LayeredPackages: PackageKit-gstreamer-plugin gstreamer1-libav gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly lame libvirt virt-install
                            virt-manager
             LocalPackages: rpmfusion-nonfree-release-33-1.noarch rpmfusion-free-release-33-1.noarch

Just recently I moved all of my editor workings into toolbox. And thanks to qemu:///session I am able to do all cloud-init work from within toolbox.

Just out of curiosity, why docker instead of podman?

Podman because it runs everything in user space was messing up some of our containers. Using this machine as a PHP development environment with all the services for a local LAMP stack running in containers using a compose definition that is shared across multiple developers on different operating systems. So Docker was more consistent.

1 Like

Does this actually work/is useful though?

I’ve asked this question some time ago, because actually AFAIK abrt cannot collect flatpak crashes and report them etc., so it’s not really useful (it can only collect some crashes of local software):

I’ve managed to get it down to gnome-tweaks neovim tilix zsh. Don’t think I’ll replace any of these any time soon. If I start using vagrant again, I’ll need libvirt and a few more. I’ve also layered chromium just to install gnome extensions, which feels silly, but that’s the way it goes.

Are you trolling again ?

I prefer Flatpak for GUI applications if available. But not everything is GUI like Intel graphics, printer and FUSE drivers, fonts, wireguard and zfs. In which case layered packages and rpmfusion make total sense. Some GUI applications like GNOME simple-scan and virt manager are not available as Flatpak yet so it’s simply not an option. Sorry to ruin yet another one of your attempts to start a flatpak flame war

So… regarding this concept I have some questions. There seem to be different runtimes Flatpaks on Silverblue can be based on -

Fedora-specific: org.fedoraproject.Platform

Flatpak.org runtimes:
org.freedesktop.Platform
org.gnome.Platform
org.kde.Platform

So the documentation on the link below says that the GNOME and KDE runtimes are based on the freedesktop runtime. But does that include all the extensions – like ffmpeg, openh264, and VAAPI – and for all apps? What about apps using the Fedora runtime, does it also use those extensions?

https://docs.flatpak.org/en/latest/available-runtimes.html

1 Like

Extensions would need installing specifically if they weren’t already included as required by whatever flatpak would use them. Typing flatpak list --runtime will list the runtimes and extensions. While --app lists the apps available from the remotes you have setup.

Extensions are available for any app that request them.

The application provided by Fedora will only rely on the Fedora runtime and not on content provided by Flathub to ensure that the licenses are respected and only free software is distributed.

Hello @evenreven ,
Slightly off topic here, but doesn’t NeoVim also come in a flatpak version from Flathub?

1 Like

I haven’t tried it in a while, but it didn’t work all that well the last time. Although I suppose the issues were really the same as with other flatpak IDEs. Issues with accessing runtimes, etc. I use neovim as a proper IDE (I need node, Ruby, python, and viml runtimes) and I find that the sandbox concept is holding me back. I COULD work around it, but I don’t care enough to spend the required time on it. Also, I’m on the nightly builds now because of the massive improvements coming in Neovim 0.5.

I find flatseal to be a must for usability of flatpaks

1 Like

Good point. Haven’t tried flatseal yet. Will try once Neovim 0.5 is released.

My other method is just putting prebuilt binaries in my local bin directory, I’m doing this with a lot of applications already with an Ansible playbook to keep them updated. I like it for cli applications it makes no sense to layer or run with podman, like ripgrep, fff and others.

Thanks for the response @jakfrost and @siosm! That makes sense and if Flatpaks from the fedora remote truly provide more free software than the alternatives on Flathub then that is what I want to use… I guess what I wonder is doesn’t GNOME already ship completely free software? How does Fedora make it anymore free?

Also is there any indication as to when Fedora will have enough applications in its own remote to fill out a proper desktop? For example, just using the fedora remote you cannot have a default music or video player… there are no apps that satisfy the dropdown. Would be nice to at least get Totem and Rhythmbox in there.

This is where things get tricky. Most GNOME apps on Flathub are completely free, but some do introduce gray areas like needing patent encumbered codecs from FFmpeg. Doing your research and coming to your own conclusion’s is really the only way to properly navigate this, IMO.

1 Like