lux-cli-dist-bin(1)
π¦ lux-cli-dist-bin(1) β General Commands Manual, but make it cute π¦
okay so this whole page is the lux-cli-dist-bin(1) manual from the General Commands Manual, and we're about to compile a Lux project into a single binary with zero boring vibes. Let's go π
πΈ NAME πΈ
Compile a Lux project β including its dependencies β into a single binary that runs on systems where Lua isn't installed. Periodt. π«Ά
Projects with native Lua modules are not single binaries: those modules get copied as shared libraries next to the output binary, and must be shipped alongside it. Same energy as flat-archive: dependency conflicts are not supported/handled. π¨
The entrypoint lives in the lux.toml's [run] field, like:
[run]
args = ["src/main.lua"]
β¨ SYNOPSIS β¨
lux-cli dist bin [-o|--output] [-p|--package] [--server]
[--extra-servers] [--output-format] [--namespace] [--lua-dir]
[--lua-version] [--tree] [--cache-dir] [--data-dir] [--variables]
[--profile] [--verbose] [--no-progress] [--no-prompt] [--preset]
[--nvim] [--no-tfa] [--timeout] [--max-jobs] [--no-luarc]
[--no-wrap-bin] [--user-agent] [-h|--help]
π¦ DESCRIPTION π¦
Compile a Lux project β including its dependencies β into a single binary that runs on systems where Lua isn't installed. Yep, we're saying it again because it's iconic. π
Projects with native Lua modules are not single binaries: the modules are copied as shared libraries next to the output binary, and must be shipped alongside it. As with flat-archive, dependency conflicts are not supported/handled. No cap, that's the caveat. π
The entrypoint is specified via the lux.toml's [run] field, e.g.:
[run]
args = ["src/main.lua"]
π OPTIONS π
okay bestie, here is every single flag. no skips, no summarizing, we're eating the whole menu π
-o,--output <OUTPUT>β Output path for the compiled binary. Defaults to<package>[.exe]in the current directory. π-p,--package <PACKAGE>β Package to compile. Prioritises local projects if in a workspace. If not set, lux will attempt to compile the current project. Must be set in multi-project workspaces. π--server <server>β Fetch rocks/rockspecs from this server (takes priority over config file). π--extra-servers <extra-server>β Fetch rocks/rockspecs from these servers in addition to the main server (overrides any entries in the config file). β¨--output-format <OUTPUT_FORMAT>[default:text] β Possible values:jsontext
--namespace <namespace>β Specify the luarocks server namespace to use. π¦--lua-dir <prefix>β Specify the directory in which to install Lua if not found. π--lua-version <ver>β Which Lua installation to use. Valid versions are:'5.1','5.2','5.3','5.4','5.5','jit'and'jit52'. If not set, Lux will attempt to detect the Lua version: from the current project, if it has an exact Lua version requirement; from the Lua installation that is available on thePATH. π₯--tree <tree>β Which tree to operate on. In a workspace, this can be used to specify a detached workspace tree. π--cache-dir <cache-dir>β Specifies the cache directory, e.g. for luarocks manifests. ποΈ--data-dir <data-dir>β Specifies the data directory, in which the default user install tree resides (e.g.~/.local/share/lux). π--variables <variable>β Override config variables. Example:lx -v "LUA=/path/to/lua" ...π§--profile <profile>β The build profile to use when compiling packages. Default:release. Possible values:releasedev
--verboseβ Display verbose output of commands executed, enabling DEBUG logs. To enable TRACE logs, setRUST_LOG=trace. π’--no-progressβ Don't print any progress bars or spinners. π--no-prompt <NO_PROMPT>β Skip prompts, selecting the default option. Prompting is enabled by default in terminal/TTY environments. Possible values:truefalse
--preset <preset>β Configure Lux for a specific environment. Valid presets are:'nvim'. Possible values:nvim: Configure Lux for Neovim plugins
--nvimβ DEPRECATED: Configure lux for installing Neovim packages. Use--preset nviminstead. π--no-tfaβ Disable prompts for two-factor authentication (2FA) codes. It is strongly recommended to enable 2FA instead see (https://luarocks.org/settings/two-factor-auth). π
bestie, the 2FA rec is real β enable it if you can, okay? π«Ά
--timeout <seconds>β Timeout on network operations, in seconds.0means no timeout (wait forever). Default is30. β³--max-jobs <MAX_JOBS>β Maximum buffer size for parallel jobs, such as downloading rockspecs and installing rocks.0means no limit. Default is0. β‘--no-luarcβ Do not generate or update a.luarc.jsonfile when building a project. π«--no-wrap-binβ Do not wrap Luabinscripts. π--user-agent <USER_AGENT>β The user agent to set when making web requests. Default is"lux/<version>". πΈ-h,--helpβ Print help (see a summary with '-h'). π«Ά
okay that's the whole page, bestie β source/version bin, manual lux-cli-dist-bin(1) β periodt π
β¨
π¦ where this page comes from
- nixpkgs unstable: lux-cli 0.48.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms