Skip to content

The Roadmap of the Nushell package manager. #1

@amtoine

Description

@amtoine

⚠️ Work In Progress ⚠️

projects to check out

🏃 bootstrap (rustup)

Note
see a prototype here

  • install Nushell without any other requirement -> POSIX compliant / bash bootstrap?
  • install nupm itself -> see the amtoine/nupm bootstrap
  • change the version of Nushell with overlays -> kubouch/nuun

🔧 commands to have

  • nupm new [--script] [--module]: create a new local package with template files (kubouch/nuun)
  • nupm init: initialize an existing local package (kubouch/nuun)
  • nupm test [--module] [--workspace]: run unit and integration tests of local package
    `---> i think the std run-tests command just be pulled out of the standard library of Nushell
  • inspired by cargo
    • nupm install: ... (different ways of doing this in amtoine/nupm and kubouch/nuun)
    • nupm uninstall: ...
    • nupm update: ... (prototype in amtoine/nupm)
    • nupm bench: ...
    • nupm search: ...
    • nupm publish: ...
    • nupm doc: ...

🍬 other nice things to have

  • install plugins
  • have a centralized list of official and community packages to
    • pull them with nupm install
    • search them with nupm search

💡 concepts to have in mind

  • activations from amtoine/nupm: ...
  • overlays from kubouch/nuun: ...
  • require the least amount of user manual intervention
    `---> required things might be
    • using the CLI of nupm of course
    • bootstrapping
    • (optional) setting NUPM_HOME to change the location of all files (and be XDG-compliant imo)
    • adding a path to PATH
    • adding a path to NU_LIB_DIRS
    • adding at least one use or overlay use to bring some commands and modules to the startup scope of the shell
  • how do we configure nupm
    • config file?
    • environment variables?
    • both?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions