you are viewing a single comment's thread
view the rest of the comments
[–] 3 points 2 years ago (3 children)

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?

  • source
  • parent
  • hideshow 6 child comments
  • [–] 3 points 2 years ago* (last edited 2 years ago) (1 child)

    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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    So, if I wanted to install zsh I would need to use a container for it?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago

    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.

  • source
  • parent