Skip to main content

Introduction

Welcome to the official lux documentation.

Here you will find all sorts of resources ready to get you started on your Lua journey!

What is Lux?

lux is a package manager for Lua. Its purpose is to manage Lua projects, dependencies, build scripts and more for you, so you can focus on writing and shipping Lua code.

info

Lux is fully functional, but does not have a 1.0 release yet.

Key Features

Create and Manage Lua Projects

  • Easily manage dependencies, build steps, and metadata through lux.toml.
  • Full support for existing .rockspec files.

Modern, Comfortable Tooling

  • Parallel builds and installs.
  • Add/remove dependencies with simple CLI commands.
  • Integrated code formatting, type checking, and powerful code linting.
  • Automatically adds dependencies to .luarc.json for rich LSP diagnostics.
  • Distribute projects as install tree archives or static binaries without Lua on the target system.

Automatic Generation of Rockspecs

  • Say goodbye to managing rockspec files by hand.

Lua Versioning Done Easy

  • Automatically detects and installs the right Lua version for your project (5.1 through 5.5, LuaJIT).

Advanced Lockfile Support

  • Fully reproducible developer environments with integrity checks.
  • Makes Lux easy to integrate with Nix.

Fully Compatible with the Ecosystem

  • Works with existing LuaRocks packages.
  • Use extra.rockspec for complex rockspecs you don't want to convert to TOML.
  • Shells out to luarocks for very complex build scripts (compare).

Sitemap

The site is divided into sections:

  • To install lux, head over to the Getting Started section.
  • To learn lux by doing, skip over to the Creating a Project section.
  • For step-by-step guides to specific tasks, see the Guides.
  • For detailed reference material, see the Reference section.
  • For background and rationale, see the Explanations section.

You may also like

  • LuaRocks. The original Lua package manager.
  • rocks.nvim. A Neovim plugin manager that uses LuaRocks under the hood, soon to be rewritten to use Lux.

Credits

Thanks to the LuaRocks team for maintaining LuaRocks and luarocks.org for as long as they have. Without their prior work Lux would not be possible.

License