What’s new for Fedora Atomic Desktops in Fedora 40.- https://fedoramagazine.org/whats-new-for-fedora-atomic-desktops-in-fedora-40/- https://siosm.fedorapeopl...
If it doesn’t need to access root files, you install it inside a container. toolbox create toolbox enter
Takes just a few seconds and now you’re inside a traditional Fedora 40 CLI system that can access your /home but otherwise has a separate file system.
This is great for setting up a dev environment without polluting the host system.
If it does need to access root files, you can install it with rpm-ostree, which basically creates a new OS image that contains the app. rpm-ostree install --apply-live[package name]
But if you feel like you need that a lot, a traditional Linux system would be a better fit.
The way I use Silverblue is kinda like Android. All the apps I need for my general purpose laptop are available as flatpaks. The OS itself kind of disappears in the background. I set it to update itself automatically without telling me and I actually don’t do anything with the terminal or outside of /home . The OS is a GUI application launcher, which is exactly what I was looking for after 20 years of tinkering with Linux.
You typically do that in a container and use the container.
If you really want it on your system root you can layer it in as a commit on top of the distro with rpm-ostree. System upgrades should change the commits below yours but keep your modifications on top.
For something like that where you likely want it everywhere, I would probably layer it on top of the base system (with rpm-ostree install zsh). That uses the same Fedora package management as dnf but applies it as a changeset on the immutable system instead of modifying things directly.
Something more specific to a single category of task (I’m thinking like Rust or Python tooling) you might want to leave in a container.
How does installing apps work? I know you can use flatpak. But, what if it’s a cli app that you want to install that isn’t on flatpak?
If it doesn’t need to access root files, you install it inside a container.
toolbox create
toolbox enter
Takes just a few seconds and now you’re inside a traditional Fedora 40 CLI system that can access your /home but otherwise has a separate file system. This is great for setting up a dev environment without polluting the host system.
If it does need to access root files, you can install it with rpm-ostree, which basically creates a new OS image that contains the app.
rpm-ostree install --apply-live [package name]
But if you feel like you need that a lot, a traditional Linux system would be a better fit.
The way I use Silverblue is kinda like Android. All the apps I need for my general purpose laptop are available as flatpaks. The OS itself kind of disappears in the background. I set it to update itself automatically without telling me and I actually don’t do anything with the terminal or outside of /home . The OS is a GUI application launcher, which is exactly what I was looking for after 20 years of tinkering with Linux.
Thanks for the input! I’ll look more into these
They recommend using
brew
to install CLI apps. There are also dev containers andtoolbx
, but the latter is not recommended.https://universal-blue.discourse.group/docs?category=6
Huh, I thought brew was a Mac thing. Thanks for the link. I’ll give it some reading.
You typically do that in a container and use the container.
If you really want it on your system root you can layer it in as a commit on top of the distro with rpm-ostree. System upgrades should change the commits below yours but keep your modifications on top.
So, if I wanted to install zsh I would need to use a container for it?
For something like that where you likely want it everywhere, I would probably layer it on top of the base system (with
rpm-ostree install zsh
). That uses the same Fedora package management as dnf but applies it as a changeset on the immutable system instead of modifying things directly.Something more specific to a single category of task (I’m thinking like Rust or Python tooling) you might want to leave in a container.