nushell / nupm

A manager for Nushell packages.
MIT License
174 stars 12 forks source link

Installing `nu_scripts` and other notes #110

Open tombh opened 6 days ago

tombh commented 6 days ago

tl;dr Can nupm currently install nu_scripts? And if not I'd be open to implement it, some guidance would be appreciated.

I originally asked about this on the nu_scripts repo itself, which is interesting because I had already looked at nupm but I guess I'd decided that what I was looking for wasn't in scope. I think maybe it's that I couldn't tell the difference between this project being advertised as WIP and the sparse usage examples. Or in other words, in my cursory research of the various, current Nushell package manager projects, I blurred "don't expect too much from this project" with "this project doesn't do much".

But then @fdncred pointed me back here and then I noticed the "/nushell" organisation in the repo URL! So now I'm back to thinking this project will have much to offer. Would adding the definite article to the README title help, "nupm - The Nushell package manager"?

The first time I looked at this repo I did actually have a quick look at the design document, but I interpreted "design" as more like "architecture" and less like "roadmap". I've since found the old Roadmap PR where I saw that both the things I want from nupm are planned: installing nu_scripts and automatic self-installation. What about adding a concise TODO-style roadmap on the README?

Even without a roadmap on the README I'm still wondering about communicating a bit more insight into what to expect from nupm. It's basically the Cargo of Nushell right? It can both install standalone plugins and be used as a dependency manager for Nushell projects? Whilst I understand Cargo.toml I'm not quite sure what adding a plugin (or script) to my personal config will do? Is there a kind of user-based nupm.toml at ~/.config/nupm/nupm.toml?

I think at least it would be good to have some basic usage examples in the README. Like:

Whilst it's clear that this project is WIP, it would also like some early users? Are the lack of usage examples intentional or just an oversight? I, at least, dismissed this project at first because I could neither read about its goals nor try any commands.

I'd be happy to offer PRs improving the README. And, should I have a go at trying to implement nu_scripts installation and automatic self-installation?

fdncred commented 6 days ago

Personally, I think an update to the readme.md is a good plan of action and a great starting point. I wouldn't mind seeing a few roadmap checkboxes indicating the direction we're going as well as the progress we've made. It could also indicate where the community could jump in.

Unfortunately, this repo doesn't get the attention it deserves due to maintainer time and competing priorities since everyone here is a volunteer.

/cc @amtoine @kubouch (the people who wrote most of this)

NotTheDr01ds commented 6 days ago

From what I recall (and it's been a few months), you need to checkout a Git repo locally, then you can install a module in it using nupm with (if my history is accurate):

nupm install -f --path ./stdlib-candidate/

I've experimented a bit with a git based approach, and there were a few issues:

NotTheDr01ds commented 6 days ago

That said, @tombh, I share your goal -- I'd like to be able to rely on more of a "pure-Git" approach to managing packages, using things like:

There likely always needs to be a "registry" of some sort, but I'd love to see this migrated to SQLite.

amtoine commented 4 days ago

i wish i had more time to have a closer look at Nupm...

this is in my TODO for sure but yeah, for now, nu_scripts is not a module but rather a collection of modules that you should be able to install with nupm install after checking out Git revisions locally.

there should also be the official Nushell registry but i'm not sure that part works that great :thinking: