ChrisTitusTech / linutil

Chris Titus Tech's Linux Toolbox - Linutil is a distro-agnostic toolbox designed to simplify everyday Linux tasks.
https://christitus.com
MIT License
2.63k stars 217 forks source link

Install packages via rpm-ostree or flatpak #779

Open yeeboi0 opened 2 weeks ago

yeeboi0 commented 2 weeks ago

Is your feature request related to a problem? Please describe.

Tried to use linutil to install packages on atomic desktop version of Fedora (Kinoite), but rpm-ostree and flatpak are not supported.

Describe the solution you'd like

Include rpm-ostree or flatpak as supported package managers for installing packages.

Describe alternatives you've considered

n/a

Additional context

Atomic desktops are the future, man!

Checklist

adamperkowski commented 2 weeks ago

I'm 99% sure Fedora Kinoite comes with rpm-ostree and the standard rpm. I don't see the issue here.

yeeboi0 commented 2 weeks ago

@adamperkowski I don’t mean download the package managers, I mean download the other applications (alacrity, vscode, etc.) with rpm-ostree or flatpak. linutil only supports downloads with apt, pacman, or dnf (I think). Kinoite does not use those package managers.

adamperkowski commented 2 weeks ago

I get what you mean. What I'm saying is I'm 99% sure Kinoite does also use the standard rpm. Linutil supports rpm:

https://github.com/ChrisTitusTech/linutil/blob/26d0adc829ac59893666559f1c126d05b7fddc6b/core/tabs/common-script.sh#L130

yeeboi0 commented 2 weeks ago

Sorry, I don’t see rpm in that list. Am I missing something?

adamperkowski commented 2 weeks ago

Oh wait, you're right. Sorry. Well, we use dnf becuase it's based on rpm. In the current script layout, we'd need to add rpm-ostree as a separate package manager and modify every script. Technically, we could also add rpm at the end of the list (this way when user has dnf and rpm on their system, dnf is selected).

leventbesli commented 2 weeks ago

i'm not using atmoic OS, but as far as i know this is called "layering" and it's not recommended in the community. adding as default may not be a right choice. using classic packages in distrobox is more common.

@adamperkowski do you think adding a flatpak check in every script is a good idea? maybe script can install flatpak if user agrees, or use dnf/apt/etc.. if not.

adamperkowski commented 2 weeks ago

this is called "layering" and it's not recommended in the community. adding as default may not be a right choice.

I agree.

do you think adding a flatpak check in every script is a good idea? maybe script can install flatpak if user agrees, or use dnf/apt/etc.. if not.

If we were to do this, certainly not by adding a flatpak check in every script. It should be done like this:

  1. add flatpak to the package manager check in common script (make sure it's the last package manager being checked)
  2. integrate it with the existing flatpak setup
  3. make every script support it

Albeit there is one small issue I see with this: we don't want linutil to be a flatpak wrapper (this has been discussed over several times before). I get that using flatpak != relying on flatpak but I still think idea this needs more input / a bigger general discussion.

Let me try and summon @nnyyxxxx @lj3954 @guruswarupa here.

yeeboi0 commented 2 weeks ago

I just think the ability to use linutil would be nice for us users that use atomic desktops like Fedora Silverblue, Bazzite, etc. Though, I can understand the hesitancy of building support for flatpaks or rpm-ostree (layering).

jeevithakannan2 commented 1 week ago

this is called "layering" and it's not recommended in the community. adding as default may not be a right choice.

I agree.

do you think adding a flatpak check in every script is a good idea? maybe script can install flatpak if user agrees, or use dnf/apt/etc.. if not.

If we were to do this, certainly not by adding a flatpak check in every script. It should be done like this:

1. add flatpak to the package manager check in common script (make sure it's the last package manager being checked)

2. integrate it with the existing flatpak setup

3. make every script support it

Albeit there is one small issue I see with this: we don't want linutil to be a flatpak wrapper (this has been discussed over several times before). I get that using flatpak != relying on flatpak but I still think idea this needs more input / a bigger general discussion.

Let me try and summon @nnyyxxxx @lj3954 @guruswarupa here.

Check for flatpak is implemented in https://github.com/ChrisTitusTech/linutil/pull/705 but only for the scripts and distros that require flatpak installation as of now.

If we were to implement it for every script along with existing package manager it depends we should discuss this over before adding them to every script

decathorpe commented 19 hours ago

Not sure how or why I was subscribed to this issue, but I can add this:

on rpm-ostree based systems like Silverblue, Kinoite, uBlue, etc. you cannot install software with dnf. They use RPM under the hood, but the package manager is not dnf, and you can't really install rpm packages directly. Reading this thread, this sounds like it's incompatible with what linutil needs to do.