It’s time Lua got the ecosystem it deserves! For a bit over a year, we have been cooking up Lux, a new package manager for creating, maintaining and publishing Lua code. It does this through a simple and intuitive CLI inspired by other well-known package managers like cargo. Today, we feel the project has hit a state of “very usable for everyday tasks”. Features Fully portable between systems. Parallel builds and installs. 🚀 Handles the installation of Lua headers for you. Forget about users complaining they have the wrong Lua headers installed on their system. All you need to do is specify compatible lua versions. A fully embeddable lux-lib crate, which can even be built to expose a Lua API. Has an actual notion of a “project”, with a simple governing lux.toml file. Uses the lux.toml to auto-generate rockspecs. Say goodbye to managing 10 different rockspec files in your repository. 🎉 Powerful lockfile support. Fully reproducible builds and developer environments. Source + rockspec hashes that can be used to make Lux easy to integrate with Nix. Integrated code formatting (lx fmt) and linting (lx check) powered by stylua and luacheck. Native support for running tests with busted. Including the ability to use Neovim as a Lua interpreter. Sets up a pure environment. Compatible with the luarocks ecosystem. In case you have a complex rockspec that you don’t want to rewrite to TOML, lux allows you to create an extra.rockspec file, so everything just works. Need to install a package that uses a custom luarocks build backend? Lux can install luarocks and shell out to it for the build step, while managing dependencies natively. Motivation Lua While extensive, Luarocks carries with it around 20 years of baggage, which makes it difficult to make suitable for modern Lua development, while retaining backward compatibility. With Lux, we’re pushing for a fresh start: A notion of a project: With TOML as the main manifest format, you can easily add, remove, pin and update dependenci...
First seen: 2025-04-07 18:20
Last seen: 2025-04-08 18:25