Are Fedora Atomic desktops actually good for developers?

I used Fedora Silverblue and Kinoite about a year ago but struggled with using VSCode on that platform because the flatpak is unuable without the dev tools I would usually install and layering it didn’t help because it’s not recommended to layer all of those.

So my question is, is there an official solution here or is it better to stick with workstation for the time being?

Well, I’ve managed to be a developer on Silverblue for over four years without using VS Code, and it’s good for me.

If you want to run VS Code there are several of other ways, including downloading the “Linux .tar.gz” package from here, extracting it somewhere in your home directory, and running it: Download Visual Studio Code - Mac, Linux, Windows

Alternately download the RPM from the same page and layer it with rpm-ostree.

Another way that seems popular based on comments on this forum is to install it in Toolbx (Toolbx :: Fedora Docs)

1 Like

It sounds like you didn’t like the idea of layering with Flatpaks, and I’d recommend using Workstation and not dealing with it.


I personally only use Workstation and if I used VSCode I’d install it RPM (sounds easy :stuck_out_tongue:). Dev work should be done from VSCode, not necessarily with complexities in setting it up or maintaining it.

To be a true developer desktop, there needs to be a reliable way to add compilers and runtimes to Flatpak IDEs, but until that happens at some time in the future, I recommend installing your IDE inside a Toolbox or Distrobox and running it from there…

I am not opposed to layering with rpm-ostree in many cases, but for development there are so many dependencies that it could get messy. IMHO, this is what Toolbox/Distrobox is made for.

1 Like

I am huge fan on immutable and been experimenting and exploring ways to use only flatpaks and i have found best approach that needs some flatpak overrides to enable flatpak VScode for container development and it works basically like layering without actually layering and you can connect VScode on multiple containers using dev container extensions

I started my journey easy way and layering almost all important, but as i learned and understand more how immutable are supposed to used only layers i have now is nvidia and VPN rest are flatpaks and some flatpaks tweaks when needed

Ibtested multiple editors and ides on the road free and not free ones and what i leqrned on the pricess VScode is actually good and easy to setup so i am there now

1 Like

I’ve used Vim inside of toolboxes and enjoyed that development flow, but VSCode is easy and a lot of the time I just need easy. I’ve tried layering VSCode too but then I also need to layer my dev packages and I’m missing the point of Silverblue. I might be missing something though, what IDE do you like with Silverblue?

I dont use IDEs but I use Emacs (layered) and put my development tools in containers, often by having makefiles that wrap some Podman commands.

You can do something similar in VS Code if you run it on the host system.

Creating one flatpak override and small wrapper to vscode flatpak and all is good like it was layered offcourse need to add podman path to vscode so it can detect containers, but yes layeringbis easy way if dont want to tinker

This is how i do it and it works less layering the better

To me it seems the easiest method is to run VS Code out of your home directory, provided that build self-updates. That way you don’t get a layered RPM that you need to manually keep replacing.

1 Like

Dont download the rpm, add the repo and layer it.

Layering is a perfectly fine thing to do.

Alternatively a toolbox or distrobox will be fine.

RMS update normally if you add a repo. They have a repo, right?

Running Visual Studio Code on Linux it seems they do based on this page, so that would make sense to use.

If the RPM hase repo and GPG files it will add repos if not it is local paclage

i don’t know about vcode, but wouldn’t it work to layer vscode and install the devs tools inside of toolbox, or a devcontainer

That is the easy way layer VScode and then connect it to containers and done mostly you might still need some tweaks here and there

If running only 1 container installing VScode there is the way to go multiple containers layering or flatpaks and tweaking

2 Likes