Giter Club home page Giter Club logo

packer.nu's Introduction

packer.nu's People

Contributors

jan9103 avatar jk-flip-flop96 avatar sm185592 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

packer.nu's Issues

Packer.nu is in maintenance mode

Packer.nu is for now in maintenance mode. It will get updates to support new nu versions, but i won't work on any new features.
Nu-script is nice, but curently to unstable for my taste, which is why i don't want to expand the scope or start new projects until 1.0.
I will keep maintaining it at least until another option has reached a mature state and established itself.

The other options i am aware of:

The official nupm is "in an experimentation stage and not intended for serious use".

Over a year ago i started work on packer.nu 2.0 and have been working on it off and on and might get it to a usable state someday.
Packer 2.0 aims to solve the nu-version-compatibility problem by using rust instead of nu-script internally and probably is way to big in scope (manage nu-plugins, tests, venvs, multi-version installs, patch packages, etc).

API-Layer: common command interfaces

why use curl if aria2c (faster) is installed? and why let every package handle everything on their own?

packages should be able to add their own programs, configure it, etc -> use a env-var for it (string with placeholders / code-block / ..)

add api-layer commands (or lib?):

  • common_interface download(url, target_dir, file_name) (fetch, wget, curl, aria2c, axel, etc)
  • common_interface editor(file, line) (nvim, emacs, nano, etc)
  • common_interface pager

Bootstrap packer.nu

required changes:

  • no absolute paths in config.nu and env.nu (and due to nu limitations we'll have to use ~, which might create issues)

add to env.nu (via install.nu):

if not (PACKER_DIR | path exists) {
   nu -c (fetch INSTALL_SCRIPT)
}

remove files of removed packages

add packer clean command, which removes all not loaded directories from the PACKER_DIR/start.

per default interactive (ask before removing for each one) + argument to just do it.

requires statement for packages

i think we dont need it to be as complex as in packer.nvim.
it should be fine to just don't load packages, which don't have their requirements met and display a warning.

maybe in meta.nuon instead of packages.nuon (-> we would have to load the meta.nuon on compile)

Live reload packages

If nu allows managing overlays from within functions it should be possible to reload all packages with overlay hide (*3) and then running the same as in env.nu and config.nu

Allow packages to register binaries

lib are annoying to use since you now have to run 2 commands and loading everything always isn't good for the RAM -> allow binaries.

im not sure if its better for performance to symlink all together on compile or create a really long PATH-variable.

Windows support

Issues im aware of:

  • local sources are symlinked, which is not possible on windows
  • git (cli) dosn't exist on windows nushell (?)

Remind about nushell updates

Display a reminder at launch if:

  • The latest supported nushell version is greater than the running version
  • A config variable for this feature is set to true

Can't find installed plugin

First off, I'm new to Nushell, so there might something stupid I'm doing.
I installed packer.nu following the readme and added this plugin just to check that I can install packages. However, the command that's supposed to be installed with that plugin is not available.
screenShot

Allow users to toggle package-modules

for some packages the users might not need all features (for example python contains mypy, flake8, venv, etc).

we can allow the package-devs to disable deactivation on a per module basis.

it should be possible in the packages.nuon to choose which ones to use or which ones to exclude.

Allow to manually load optional packages

create a PACKAGE_NAME.p file for each opt = true package in the NU_LIB_DIRS path.

the user should be able to load the package with overlay use PACKAGE_NAME.p.

in case nu ever allows it we could add the following: alias load_package = NU_LIB_DIRS=['a_dir_for_the_p_files'] overlay use (not possible since env-vars count as pipe)

Package docs dir

Add a definition for a docs dir in packages.

It should work similar to man, but be written in md instead of groff.

i think we should move the implementation of a reader / search-engine to a package and not include it in the core.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.