Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rewrite in nushell #52

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open

feat: rewrite in nushell #52

wants to merge 58 commits into from

Conversation

Elsie19
Copy link
Member

@Elsie19 Elsie19 commented Dec 5, 2024

We still need a way to add i18n. Done.

@Elsie19 Elsie19 requested a review from oklopfer January 23, 2025 20:00
Copy link
Member

@ajstrongdev ajstrongdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Firstly there is no rpk help command, running rhino-pkg will also throw an error. Running either rhino-pkg with no arguments OR rhino-pkg help should provide useful output to help the user as is the default behavior of the current rhino-pkg implementation.

Running rpk cleanup gives output in these weird boxes with no data contained inside of them:
image

Information actually does get formatted into a box on rpk remove as well:
image

Even more urgent is the fact that there are seemingly no checks for whether Nala is installed on the system. I didn't find any skimming the code, nor does it check when testing. Fix this.

@amirali-dashti
Copy link

Greetings,

I am the user behind the backup and recovery ideas, which you can find here: #57 . I would be glad to continue the project and transfer those functions to this rewrite. I’d also like to contribute to the project, so I would appreciate your assistance in setting it up on my PC.

Additionally, creating an app store version of this project seems like a great idea to me. This way, we can develop and maintain Rhino Linux's app store, similar to other distributions out there—take openSUSE's YaST, for example, which I greatly admire. I can try to build a very basic beta version soon so we can start working on it. Eventually, we could offer this app store to the world under Rhino Linux's name.

Best regards,

devtracer

@ajstrongdev
Copy link
Member

Greetings,

I am the user behind the backup and recovery ideas, which you can find here: #57 . I would be glad to continue the project and transfer those functions to this rewrite. I’d also like to contribute to the project, so I would appreciate your assistance in setting it up on my PC.

Additionally, creating an app store version of this project seems like a great idea to me. This way, we can develop and maintain Rhino Linux's app store, similar to other distributions out there—take openSUSE's YaST, for example, which I greatly admire. I can try to build a very basic beta version soon so we can start working on it. Eventually, we could offer this app store to the world under Rhino Linux's name.

Best regards,

devtracer

Hello again @devtracer

It would be great if you could port functionality into the rewrite. There is currently an ongoing discussion as to whether we continue on rewriting rhino-pkg in Nushell, or whether we pivot to an alternative such as Go or Rust. You can find and contribute to the discussion here: rhino-linux/tracker#28

It would be best (in my opinion) to open up a separate feature proposal if you would wish to create/incorporate a graphical application store within Rhino Linux. You can do that here: https://github.com/rhino-linux/tracker

Finally, I would like to ask that you would join our Discord (if you would like to), I personally believe that you are making excellent contributions, and would love to involve you in development discussions where possible, and most of our development / discussions happen in the Rhino Linux discord server. The invite can be found here: https://discord.gg/reSvc8Ztk3

@Elsie19 Elsie19 requested a review from ajstrongdev February 17, 2025 21:32
@Elsie19
Copy link
Member Author

Elsie19 commented Feb 17, 2025

Finally, I would like to ask that you would join our Discord (if you would like to), I personally believe that you are making excellent contributions, and would love to involve you in development discussions where possible, and most of our development / discussions happen in the Rhino Linux discord server. The invite can be found here: discord.gg/reSvc8Ztk3

I would prefer technical discussions about rhino-pkg to be here rather than on discord.

@amirali-dashti
Copy link

Hello again @devtracer

It would be great if you could port functionality into the rewrite. There is currently an ongoing discussion as to whether we continue on rewriting rhino-pkg in Nushell, or whether we pivot to an alternative such as Go or Rust. You can find and contribute to the discussion here: rhino-linux/tracker#28

It would be best (in my opinion) to open up a separate feature proposal if you would wish to create/incorporate a graphical application store within Rhino Linux. You can do that here: https://github.com/rhino-linux/tracker

Finally, I would like to ask that you would join our Discord (if you would like to), I personally believe that you are making excellent contributions, and would love to involve you in development discussions where possible, and most of our development / discussions happen in the Rhino Linux discord server. The invite can be found here: https://discord.gg/reSvc8Ztk3

Hi @ajstrongdev,

Thank you for the update and the invite! I’d be happy to participate in the discussions and contribute further to the team. I’ll make sure to check out rhino-linux/tracker#28 soon.

Regarding the graphical application store, I’ll open a separate feature proposal on the tracker to discuss it in more detail. I plan to develop the GUI app store's backend in a way that allows it to seamlessly attach and connect to the package manager. This approach will ensure a stable and seamless connection, even as the package manager undergoes frequent updates.

I’m really thrilled to hear that you’re happy with my contributions so far—I truly appreciate the feedback! Thanks again for the invite; I’ll join the Discord server soon to start discussions!

Best wishes,
@amirali-dashti

@ajstrongdev
Copy link
Member

I've tested with pacstall and apt installed in my docker image (as flatpaks and snaps will not work). This seems to have massively improved. I still need to test snap/flatpak functionality but two things to note:

  • We should really include Nixpkgs and AM support.
  • If possible I would like to change the rpk remove output so that it does not display within a table.

@amirali-dashti
Copy link

Hello,

As you're building the next generation of the package, should the GUI application also be included in this build? I was thinking of an installation window where users would be able to press the installation button alongside choosing a package manager to install with. The GUI app's backend will lead to some functions that call these codes.

Feel free to share what you think. I think users would like to try this app's beta version as well.

@ajstrongdev
Copy link
Member

Hello,

As you're building the next generation of the package, should the GUI application also be included in this build? I was thinking of an installation window where users would be able to press the installation button alongside choosing a package manager to install with. The GUI app's backend will lead to some functions that call these codes.

Feel free to share what you think. I think users would like to try this app's beta version as well.

@amirali-dashti Hello. Please do understand that the GUI application store is currently a proposal, this rewrite is not intending to nor will support functionality for that. Furthermore I feel as though, with the GUI app store issue still "a proposal" and not an agreed upon feature, that you might be getting a bit ahead of yourself 😄

What would be great is if someone could contribute support for the Nix and AM package managers into this rewrite, as that is where our focus should be at the moment, feel free to submit a Pull Request into the nushell branch.

@amirali-dashti
Copy link

amirali-dashti commented Feb 23, 2025

@amirali-dashti Hello. Please do understand that the GUI application store is currently a proposal, this rewrite is not intending to nor will support functionality for that. Furthermore I feel as though, with the GUI app store issue still "a proposal" and not an agreed upon feature, that you might be getting a bit ahead of yourself 😄

What would be great is if someone could contribute support for the Nix and AM package managers into this rewrite, as that is where our focus should be at the moment, feel free to submit a Pull Request into the nushell branch.

@ajstrongdev Thanks for the reply. I understand, I thought a basic, early agreement would be enough to start building a template version of the proposal alongside this new project, to check if whether this project passes and gets approved or not; similar to a laboratory's research process.

I've tried Nix, and I have to say I've liked it so far. nix-env -qaP <package-name> searches for all of the available packages. Furthermore, this scripts installs a particular package: nix-env -i <package_name>. The other approach would be an auto editor script to edit the environment.systemPackages of configuration.nix. I think you can add the nix support with copying one of those other package manager's scripts and changing the commands with these, which I've mentioned here. I can do it if you want, but this's the idea I have in mind for adding Nix package manager.

@amirali-dashti
Copy link

@ajstrongdev To confirm, as you've mentioned here, the GUI app will be continued once it passes the proposal stage 👍🙏

@oklopfer
Copy link
Member

just did some testing with:

pkgname="rhino-pkg-git"
source=("https://github.com/rhino-linux/rhino-pkg.git#branch=nushell")
arch=("all")
pkgver="2.0.0"
gives="rhino-pkg"
makedepends=("make")
pacdeps=("nutext-git")  
pkgdesc="Rhino-pkg wrapper script"
maintainer=("Oren Klopfer <[email protected]>")

package() {
  cd "${gives}"
  DESTDIR="${pkgdir}" make install
  mkdir -p "${pkgdir}/usr/bin"
  install -Dm755 "${gives}" "${pkgdir}/usr/bin/${gives}"
  ln -sf "/usr/bin/${gives}" "${pkgdir}/usr/bin/rpk"
}

overall is very good, there was a search hanging issue I experienced a while back that I still need to test, but almost everything is quite solid now. Few minor things:

  1. this "are you sure" prompt is missing in the rewrite:
    image

  2. as is this one:
    image

  3. this should say packages plural: Screenshot 2025-02-23 at 6 18 16 PM

  4. Ideally we want to figure out how to filter out pacstall packages from apt queries: Screenshot 2025-02-23 at 6 18 39 PM

But again, overall great job and solid improvements. I also think it would be great if we could get the lists to spread out into multiple columns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Status: Rollover
4 participants