Spins vs workstation

I’m thinking of switching to fedora. So I was reading the documentation.

In Disk Configuration, it says

Fedora Workstation uses a different default disk configuration from other Fedora Editions and Spins.

Since I don’t use Gnome, I had been intending to use a “spin” just to save the extra step of installing and setting up my preferred DE.

For what reason would installing a non-Gnome DE also suggest variation from the standard underlying install? Do the other DEs not support Btrfs in some way? Or is it just the preferences of the people who run them?

Now I am wondering if there are further differences between workstation and spins. Is it better to just install the workstation version and remove/ignore Gnome post-install?

Do these spins have any documentation? I can’t find it.

Thanks for your help! I tried to find the information before asking but just found myself clicking in circles.

Just install the spin of your choice. It is less messy. And as far as I know, the disk configuration is the same as for the Workstation (gnome) edition. The Server edition uses different default for the disk configuration, though.

The other differences are the choice of packages to be installed by default, but you can always install additional packages if needed.

Oh, do you think the documentation is out of date?

Is there a better source of documentation?

Not out of date, just wrong with the respect to the other spins. The default file system for the KDE spin, XFCE spin, etc is Btrfs, but if you prefer for example ext4 you can certainly use that, or any other file system type, with or without encryption according to your choice.

A spin is a set of desktop configs and apps, all on the same base.

“Workstation” (GNOME) is only different in that the Anaconda installer has nearly no options and everything is done in the GNOME setup. This is really fancy and only GNOME supports it (it is great for preinstalling a distro on a sold laptop).

This is the only difference.

If you want an even cleaner distro, use one of the atomic variants. They have a minimal OS core and all the rest is installed via Flatpak or Toolbox/Distrobox.

Added docs-team

That sounds extremely resource intensive. I only use flatpaks as a last resort. I can see how they are appealing for a different use case.

One of the reasons I’m interested in fedora is because I notice how often software is installable via dnf. So I was thinking it must have good availability of natively compiled software. I strongly prefer a traditional package manager to a flatpak store.

Is the only way to get a regular linux install to use the server edition? Although now that I am looking at the documentation for that it is mostly about containers and virtualization. I really don’t have any need for all that and I am skeptical any of the hardware I have at my disposal could handle it.

I just want a regular linux computer as I have been using for many years. I’m comfortable with the kinds of tasks involved in running one; I don’t need them to be abstracted away.

That sounds extremely resource intensive.

Not really, Flatpaks have runtimes and use deduplication to share their resources, also across runtimes (GNOME and KDE share their stuff instead of duplicating everything)

In practice it is a bit more RAM used but thats the tradeoff for a more secure system with permissions.

Its due to how flatpaks where intended, to make every app run everywhere. Android is different with the whole system using the same libraries,… desktop linux is a compartimentalized mess.

Is the only way to get a regular linux install to use the server edition?

No idea what you mean. Fedora has 2 Desktop variants and 4 server variants.

Desktop:

  • workstation, spins, labs
    • all using dnf, a mutable system and having flatpak ready but not used
  • atomic: minimal OS core with the matching Desktop and apps, everything else with toolbox or flatpak.
    • ublue has a ton of variants

Server

  • server: traditional linux, things preinstalled and preconfigured, dnf
  • cloud: minimal cloud images
  • iOT, coreOS: atomic server editions

Containers are not VMs, they have the same performance and just need a little more RAM. If you have 8-12GB of RAM, your hardware can handle an atomic distro.

Note that you can use atomic distros without flatpak and podman containers, you just layer everything. Use something like alias off="rpm-ostree update && shutdown -h now" to make daily updates when not used, as those will take a little longer when layering everything.

Nothing is abstracted, the package management is just different.

But I see how oldschool Linux users have the biggest problems with atomic distros. I personally prefer them for their transparency and I can reset them if I want and have a working system (or a reproducible bug).

Nothing worse than “well I cant reproduce that” and needing to reinstall

1 Like

There is really nothing which forces you to install flatpaks. Simple spins like the xfce or lxdm spin gives you just a plain traditional system with a graphical user interface. If you prefer a CLI based system, you can do that as well. All up to you. Just try it out.

1 Like

Thanks for the clarification.

I got “virtualization” from the fedora server docs. Most of the links in the sidebar look to be regarding this so I infer it is a primary interest of the project.

well, you said:

If there are no install options and you can only use Gnome to configure post install and I am not planning to use Gnome, then

do you need to restart the machine everytime an update happens or is that just how its convenient to you to alias it?

I can think of worse things, even confining my imagination to the realm of linux. From the POV of a developer I can see the appeal. But my priority is neither development nor bug reports I’m sorry to say.

Ah, just one problem Workstation and Spins use DNF, not rpm-ostree.

veerb, if I understand well, you should pick a Fedora spin, if there is one with your preferred DE, for your installation. A spin is mostly the same as the Fedora Workstation; Workstation uses GNOME as its default DE, while spins use their respective DE as a default.

I guess atomic (rpm-ostree) desktops are not your preference.

If you would like to find out the difference between Fedora Workstation and a Fedora Spin, you should look into respective kickstart files which are used for building Workstation’s/Spin’s images, but again this information may be somewhat overwhelming.

(nearly) no install options

Yes, that is rather true, but only for the anaconda installer in the Worsktation live/installation image. Actually, Anaconda provides wide range of customization(s], but it is considered as an advanced matter (e.g. using kickstart files) and can be also information-retrieval intensive for non-admin/no-strong users.

1 Like

Pick whatever spin that represents the Desktop Environment you prefer. All spins are derived from the core Workstation image. The official Workstation Edition is Gnome based for the DE, hence no need for a Gnome spin. There is an everything ISO that used to let you pick the software to install, even groups (like desktop groups) but I haven’t checked it out in awhile.

For myself at least I’ve found it best just to install workstation and then the desktop of my choice. I have found over the years that I end up installing some application which has requirements for GNOME and I end up installing it anyway. In the past there may have been some reason to watch disk space, but the extra amount needed for GNOME is IMO negligible; especially since disk space now is relatively inexpensive.

The “Challenge” for me on Silverblue is apps not communicating with each other. I do development work, but I also have re-introduced Creative applications into my digital life. I lose that on Silverblue.

The early days of Silverblue were rough, that was understood. now, we need more support for the BIG creator/creatives applications like Blender/Inkscape/GIMP/Krita/Shotcut, to properly handle xdg-desktop-Portals . I’m looking into a container workflow for Isolation, if I need to make the OS switch, but that would mean build containers for all the creative apps, and testing them in workflows. Basic functionality for Browsers, Password managers, Extensions (Browser/Desktop) and other tools need to improve.

I’ve got ideas, just not enough time. It’s Fedora Workstation for me. . .

When installing a Gnome system, you configure the keyboard and the language setting, and after that the disk configuration and possibly the network setup and hostname. In the other spins you additionally configure the first user and/or the root password.

1 Like

“Workstation” is their name for “Fedora regular GNOME”. You misunderstood this:

Desktop:

  • workstation, spins, labs
    • all using dnf, a mutable system and having flatpak ready but not used

Workstation is the same as “Spins” just with GNOME and being their main variant.

do you need to restart the machine everytime an update happens or is that just how its convenient to you to alias it?

yes on the atomic variants you plan what packages you want to install, then install them in one rpm-ostree install a b c d and they are added to an image. That image is created from your current OS + the downloaded differences (from the fedora repo) + your changes (added or removed packages, changed kargs, …)

On ublue especially updates go in the background, which means when you power off once a day you never need to worry about updates. And those are done without touching your live system at all. You can opt-in into automatic updates on the official Fedora atomic variants too.

But my priority is neither development nor bug reports I’m sorry to say.

This makes little sense. You dont create bug reports because its fun, but because you have bugs. If I have a bug I want to know its an issue with Fedora and not some random accumulation of things I did to my 10 years old system.

Its about entropy, you use your system, add packages, remove packages, upgrade, change configs, remove files, add files, over years. The only way to go back to 0 is by reinstalling your system.

On Atomic I use rpm-ostree status to see my changes to the system:

State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run 7h ago
Deployments:
  ostree-image-signed:docker://ghcr.io/secureblue/kinoite-main-laptop-userns-hardened:39
                   Digest: sha256:cfd0c9abfa064bc4f4928fa721eebde41a5300a08ae5c4d2f899d27f1cb1e8fd
                  Version: 39.20240224.0 (2024-02-26T01:30:34Z)
                     Diff: 2 removed
      RemovedBasePackages: kwrite 23.08.5-1.fc39
          LayeredPackages: bat bubblejail eza fish glow helix igt-gpu-tools ncdu qemu qemu-kvm ripgrep rustup torbrowser-launcher virt-manager waydroid
            LocalPackages: 'mullvad-vpn-2024.1~beta1-1.x86_64'

● ostree-image-signed:docker://ghcr.io/secureblue/kinoite-main-laptop-userns-hardened:39
                   Digest: sha256:473c5775fb9a15f81b5e9cdbfdd4972ff70757cfa727e794baab88d417c29223
                  Version: 39.20240224.0 (2024-02-25T17:28:08Z)
      RemovedBasePackages: kwrite 23.08.5-1.fc39
          LayeredPackages: bat eza firefox firefox-langpacks fish glow helix igt-gpu-tools ncdu qemu qemu-kvm ripgrep rustup torbrowser-launcher virt-manager waydroid
            LocalPackages: 'mullvad-vpn-2024.1~beta1-1.x86_64'

Note here:

  • My system updated in the background (the “●” is my currently used system), if I reboot I get the update
  • My changes to the system: remove kwrite, add some RPMs from repos, add a local RPM

I can now create a command like this:

rpm-ostree reset &&\
rpm-ostree override remove kwrite &&\
rpm-ostree install bat bubblejail eza fish glow helix igt-gpu-tools ncdu qemu qemu-kvm ripgrep rustup torbrowser-launcher virt-manager waydroid mullvad-vpn &&\
reboot

Using this command I will always get a system with my exact changes, but I can be sure it has nothing else. If a bug persists, I can pin my current system: sudo ostree admin pin 0, do an rpm-ostree reset && reboot and see if it is still there. If yes, it is a Fedora (or in this case more complex secureblue > ublue > fedora) bug and I can hope it gets fixed soon.


@jakfrost yeah that was below my explanation of atomic variants, I wrote above that all traditional variants (“Workstation”, Spins and Labs, as well as Server) use DNF.


What this “nearly no options” means, is that only on the GNOME variants (“Workstation” and Silverblue) the Anaconda installer has way less options, as everything is done in the GNOME setup. The result is the same. All other Desktops dont have this and it is done in Anaconda.


There is an everything ISO

still there, DNF groups are still a thing. Just trying to figure out how to get wifi drivers.


The “Challenge” for me on Silverblue is apps not communicating with each other. I do development work, but I also have re-introduced Creative applications into my digital life. I lose that on Silverblue.

You lose that with Flatpaks, Atomic is just a different way to handle RPMs. You can just install all those apps with rpm-ostree and use automatic updates or the alias I mentioned to make the updates (that then will take longer) work better.

we need more support for the BIG creator/creatives applications like Blender/Inkscape/GIMP/Krita/Shotcut, to properly handle xdg-desktop-Portals

100%. See my list of modern secure Flatpak apps, those are nearly all smaller projects. Inkscape is very far, GIMP struggles a lot (as does Libreoffice I guess), I imagine Blender being in a better shape.

OBS has very good Pipewire (i.e. portal) support, but no filepicker portals, so you need to set the download directory of the app and then restrict its permissions to that directory, if you want to isolate it.

There are some apps like Cryptomator that actively oppose using Flatpak directories for settings, which really sucks. Those could easily change (and it seems there is a way to trick apps into automatically using the internal flatpak storage, while not changing a line of code), but if developers refuse…

Absolutely not. In fact the server edition will be much more limiting than anything else except the atomic (immutable) versions. The server does not even support wifi or a gui desktop by default.

Each spin is basically a copy of Workstation but uses a different desktop environment (DE) as shown by the name and has some package differences supporting that DE.

If you want a fully configurable install with your choice of DE, apps, etc then the Network Install (everything) spin is most flexible to set up what you want and avoid what you do not want. This is a build-your-own spin.

It is much easier for most to simply choose the spin with the DE of choice and install that.

1 Like

tbh I think Fedora should improve the network installer and use that exclusively. With support for ALL variants and spins, with network access to load preview images, this would make the install process way more diverse and flexible.

Currently there is no stable netinstall for the atomic variants, even though ublue uses that.

Hi everyone thanks for your advice and patience!
I just went ahead and installed the “spin” for xfce4 and it is working basically fine as far as I can see. :slight_smile: