Posted on July 8, 2026 Lux is the Lua package manager I’ve been working on with vhyrro and ntbbloodbath – think uv or cargo , but for Lua. A question I’ve heard occasionally: “I built something with Lux, now how do I give it to someone who doesn’t use it?” Starting with v0.35.3, there are two answers to that question. lx dist flat-archive Bundle your project and all its runtime dependencies into a…
Posted on October 8, 2025 My background isn’t the typical path to becoming a software engineer. I didn’t study computer science. Instead, I earned both a bachelor’s and a master’s degree in Renewable Energy Systems from HTW Berlin. Somehow, that journey led me to become a professional Haskell developer, building distributed power management and delivery systems. In Europe, the tech job market is…
Posted on September 16, 2025 A few months ago, I posted an introduction to Lux , a modern package manager for Lua that treats Neovim and Nix as first-class citizens and is compatible with the LuaRocks ecosystem. We have a few updates to share. Lumen Labs Up until recently, we had been working under a temporary GitHub org: nvim-neorocks. We have now formalized as a proper open-source organization.…
Posted on April 7, 2025 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” 1 . Features Fully…
Posted on July 28, 2024 One and a half years ago, I published a post with a call to action to publish Neovim plugins to luarocks. Since then, a lot has happened. The nvim-neorocks organisation has grown and produced rocks.nvim , which pioneers luarocks support in Neovim, treating luarocks packages as first-class citizens. A lot of plugins are now available on luarocks.org, and publishing plugins…
Posted on August 22, 2023 In the ever-evolving Neovim plugin ecosystem, the usage and appropriateness of a setup function for initializing plugins has become somewhat a hot topic. This discussion has sparked differing opinions among plugin developers. Like some other plugin authors, I’ve recently found myself reverting back to the more traditional Vim convention of employing…
Posted on August 17, 2023 Lua, in the realm of Neovim, is a curious companion. For personal configuration tweaks, it’s incredibly responsive, giving me immediate feedback. Moreover, when I’m uncertain about an idea’s potential, Lua offers a forgiving platform for prototyping without commitment. Yet, as the maintainer of a few plugins, who otherwise works with Haskell professionally, I have mixed…
Posted on June 6, 2023 In my previous post , I wrote about some pain points in the Neovim plugin ecosystem, and introduced the luarocks-tag-release GitHub action, which allows you to publish your Neovim plugins to LuaRocks , as a call to address those pain points. At the end, I stated that I was planning to play around with a few ideas: Perhaps a package manager as a proof-of-concept? Maybe a…
Posted on January 10, 2023 This is a follow-up on a series of blog posts by @teto that propose a solution to a major pain point of the Neovim plugin ecosystem - Dependency management. As someone who only recently started maintaining Neovim plugins, I have been quite frustrated with my experience so far… The current status quo 1. A horrible UX …where users, not plugin authors, have to declare…