Best way to utilize fedora silverblue (immutable state) while develops (apps/whatever) with convinence

Problem,developing software in stock silverblue is literal hell*(good for end user security though)
If I am not wrong

1)no PATH mutability.(literally most FOSS apps and gist scripts will not work coherently.HELL lvl1)
2)confusing remap of libraries and configs PATH.(hell lvl2, needs to find docs and ask around)
3)hard to install,uninstall rpm packages and confusing (rebase,git like concept layout,hell lvl 3 unknown time needed to waste in setup common or temporary dependencies)
4)bruteforcing above problem,will lead to creation of a app that is almost (silverblue compatible only app) or having a (silverblue only development setup.) assume its a optimized compiled binary not web app or electron apps.(HELL lvl4,not sustainable long term,no collaboration with team)

Therefore I need some solution to make the development environment itself based on (MUTABLE* environment)

  • I think,Flutter App Development in Fedora Silverblue
    has some clue for me to get working.
  • I also heard and seen toolbox.
  • However,I still dont see a clear way of doing it.
  • I assume toolbox support a seperate PATH definition?(which is mutable and useful for development) Or maybe any kind of container would help?
  1. condition is. I want it to be thin and not fat(docker) container.

  2. condition is offline by default /(I have a way to create a local image and directly load from it)

  3. condition is I like silverblue and wanted it to be my daily machine,including doing development with it if possible.Please dont comment (just flash fedora workstation my fellow)

Thank you very much,any guidance will be appreciated

Hello @yewefed0ra ,
Welcome to :fedora: .
Please take the time to read the Fedora CoC.
This place is a place where you can be a part of the Fedora Community. The community is diverse and multi-aged so we do not use any of the more colourful metaphors available in the english (or other) language to describe our frustration. Please refrain from utilizing such as it will very likely trigger my moderator role as this comment did.
As for the technical aspects of your question, there are people currently using Silverblue on the site here that are developing with it, so it is very doable. The thing to keep in mind is the paradigm shift it presents when you use a system such as Silverblue, and try not to get hung up on immutability since that is a method of battling hysteresis in your system setup over time. It is a container based workflow that you need to embrace to make it a successful endeavour.

1 Like

thank you will try to adapt to the container based workflow.

Toolbox is a good place to start with that workflow. It provides you with a container that is setup to allow access to your home and environment settings as well as networking. So in the end it provides a CLI that is familiar to the standard Fedora Linux Workstation user, with the ability to install things via dnf. Of course there are caveats for some WRT the isolation/sharing that is setup in toolbox, though it “looks and feels” very much like working at the host system command line. In those corner cases where toolbox or distrobox or the like fall short, usually building your own container image to run becomes the route.

I’m on Silverblue and I use it for development among other purposes. :slightly_smiling_face:

Compilers and package managers of many programming languages -such as Rust or Julia to mention a few recently popular- can be easily installed locally in the home directory–it just makes no difference to be on a mutable on immutable variant of Fedora Linux. When possible, it’s my favourite solution.

I “gave a try” or played a little bit with over a dozen of programming languages on Silverblue, installing them either in Toolbox or directly on the system and I only had any kind of problem twice:

(1) Some time ago for some reason I couldn’t set up Pony, which is nevertheless unstable in an early development phase as a programming language.

(2) I had some minor problem with Assembly (I don’t remember details) but it worked flawlessly in toolbox.

I usually test software in toolbox and I only install it directly on the system when I really need it. My system installs were always a mess on mutable Linux distros but here on Silverblue everything looks so clean.