Skip to content
This repository was archived by the owner on Sep 26, 2023. It is now read-only.

nyoom-engineering/alpacka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ca31a1a · Jun 18, 2023

History

39 Commits
Jun 18, 2023
Jun 15, 2023
Jun 18, 2023
Feb 5, 2023
Jun 18, 2023
Jan 25, 2023
Jan 29, 2023
Jun 18, 2023
Jun 18, 2023
Jan 25, 2023
Jun 18, 2023
Jun 10, 2023
Jun 15, 2023

Repository files navigation

Alpacka

Rust-powered Neovim package manager

Features

  • Blazingly fast Installs. Uses libgit2 directly rather than the git CLI.
  • Runs in parallel. Uses rayon to run installs in parallel.
  • Lockfile interface. "packages.json" contain all packages to be installed, with frontends being able to generate them. (No frontends yet)
  • Cache old versions of lockfiles into a file. This allows for fast rollbacks, as we just look at the previous lockfile's output.
  • Extremely fast rollbacks. Usually < 1 second as no resolvers are run.
  • CLI to install and inspect packages.

TODO

  • Local packages
  • Frontends (Neovim frontend, CLI frontend, etc)
  • Patches
  • Uninstalling packages (Currently they are just deleted from the lockfile, but not from the filesystem)
  • Luarocks support
  • Lazy loading though Neovim frontend
  • Installing/managing neovim versions through the CLI frontend
  • Updating packages through the CLI frontend, incrementing the generation in the lockfile and installing e.g new commit of a branch
  • Conventional commits; Detect breaking changes in installed packages and warn the user.
  • Nvim pack spec support