• λλλ@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    23 days ago

    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?

    • KISSmyOSFeddit@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      23 days ago

      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.

    • barsquid@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      23 days ago

      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.

        • barsquid@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          23 days 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.