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?
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.
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
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.