- cross-posted to:
- linux@lemmy.ml
- cross-posted to:
- linux@lemmy.ml
Generated via ublue’s countme script https://github.com/ublue-os/countme/blob/main/growth_global.svg
Generated via ublue’s countme script https://github.com/ublue-os/countme/blob/main/growth_global.svg
I was put off by the immutability too, as a long-time Linux user, but it turns out it doesn’t really make much of a difference. You just install things slightly differently, the biggest drawback so far are the interoperability issues with flatpaks, 'cause, you know, sandbox and all, but it’s really minor tbh.
On the other hand it’s very polished and convenient for most things, so much it converted me after an eternity on Fedora.
my thing is that it becomes hard to automate things. you install a package in a toolbox, then if you want to use that package in a script you must first enter the toolbox manually. I wish there was a way to enter the toolboxes programmatically for scripting.
edit: I was incorrect, see below comment
You can, and should do that. Here’s what that looks like:
toolbox run -c <toolbox-name> <command>
All of my development tools are in a toolbox, including my IDE (Sublime Text). I created a standard .desktop file so that I can launch it like any other application, and it works perfectly, with a proper Icon and everything. Example:
To run something on the host from inside a toolbox, you can use
flatpak-spawn
:You can even use that to (awkwardly) run something in another toolbox using the same command above:
flatpak-spawn --host toolbox run -c <other-container> <command>
Sublime text specifically has support for custom build commands. Sometimes, I’m using it to develop something in a different toolbox than the one sublime is installed in. So in my custom build script for the project, I add a check to enter the correct toolbox before executing the build. Here’s what that looks like:
This container/toolbox workflow is far superior to anything else, as it makes it trivial to quickly test whether your code works on a different distros/versions. It all just works with your existing tooling/local workflows once you learn how to work with the tools. There really is nothing you can’t do.
…and that’s for development, which is the most difficult scenario for this type of thing. For regular every day users, immutability just works without requiring people to learn anything new besides reaching for flatpak instead of apt/dnf/pacman/etc.
you’re a lifesaver!! I swear I looked pretty hard on the internet for this exact solution without success. my apologies!!
thanks for the info!!!
Well, there’s homebrew too as an option