.ie \n(.g .ds Aq \(aq .el .ds Aq ' .TH lux-cli 1 "lux-cli 0.43.5" .SH NAME lux\-cli \- A luxurious package manager for Lua .SH SYNOPSIS \fBlux\-cli\fR [\fB\-\-dev\fR] [\fB\-\-server\fR] [\fB\-\-extra\-servers\fR] [\fB\-\-namespace\fR] [\fB\-\-lua\-dir\fR] [\fB\-\-lua\-version\fR] [\fB\-\-tree\fR] [\fB\-\-cache\-dir\fR] [\fB\-\-data\-dir\fR] [\fB\-\-vendor\-dir\fR] [\fB\-\-variables\fR] [\fB\-\-profile\fR] [\fB\-\-verbose\fR] [\fB\-\-no\-progress\fR] [\fB\-\-no\-prompt\fR] [\fB\-\-nvim\fR] [\fB\-\-no\-tfa\fR] [\fB\-\-timeout\fR] [\fB\-\-max\-jobs\fR] [\fB\-\-no\-luarc\fR] [\fB\-\-no\-wrap\-bin\fR] [\fB\-\-user\-agent\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR> .SH DESCRIPTION A luxurious package manager for Lua .SH OPTIONS .TP \fB\-\-dev\fR Enable the sub\-repositories in luarocks servers for rockspecs of in\-development versions .TP \fB\-\-server\fR \fI\fR Fetch rocks/rockspecs from this server (takes priority over config file) .TP \fB\-\-extra\-servers\fR \fI\fR Fetch rocks/rockspecs from these servers in addition to the main server{n} (overrides any entries in the config file) .TP \fB\-\-namespace\fR \fI\fR Specify the luarocks server namespace to use .TP \fB\-\-lua\-dir\fR \fI\fR Specify the directory in which to install Lua if not found .TP \fB\-\-lua\-version\fR \fI\fR Which Lua installation to use.{n} Valid versions are: \*(Aq5.1\*(Aq, \*(Aq5.2\*(Aq, \*(Aq5.3\*(Aq, \*(Aq5.4\*(Aq, \*(Aq5.5\*(Aq, \*(Aqjit\*(Aq and \*(Aqjit52\*(Aq.{n} If not set, Lux will detempt to detect the Lua version:{n} \- From the current project, if it has an exact Lua version requirement.{n} \- From the Lua installation that is available on the PATH .TP \fB\-\-tree\fR \fI\fR Which tree to operate on.{n} In a workspace, this can be used to specify a detached workspace tree .TP \fB\-\-cache\-dir\fR \fI\fR Specifies the cache directory, e.g. for luarocks manifests .TP \fB\-\-data\-dir\fR \fI\fR Specifies the data directory,{n} in which the default user install tree resides{n} (e.g. ~/.local/share/lux) .TP \fB\-\-vendor\-dir\fR \fI\fR Specifies a directory with locally vendored sources and RockSpecs.{n} When building or installing a package with this flag,{n} Lux will fetch sources from the instead of from a remote server .TP \fB\-\-variables\fR \fI\fR Override config variables.{n} Example: `lx \-v "LUA=/path/to/lua" ...` .TP \fB\-\-profile\fR \fI\fR The build profile to use when compiling packages.{n} Default: `release` .br .br \fIPossible values:\fR .RS 14 .IP \(bu 2 release .IP \(bu 2 dev .RE .TP \fB\-\-verbose\fR Display verbose output of commands executed, enabling DEBUG logs.{n} To enable TRACE logs, set RUST_LOG=trace .TP \fB\-\-no\-progress\fR Don\*(Aqt print any progress bars or spinners .TP \fB\-\-no\-prompt\fR \fI\fR Skip prompts, selecting the default option.{n} Prompting is enabled by default in terminal/TTY environments .br .br \fIPossible values:\fR .RS 14 .IP \(bu 2 true .IP \(bu 2 false .RE .TP \fB\-\-nvim\fR Configure lux for installing Neovim packages .TP \fB\-\-no\-tfa\fR Disable prompts for two\-factor authentication (2FA) codes.{n} It is strongly recommended to enable 2FA instead see (https://luarocks.org/settings/two\-factor\-auth) .TP \fB\-\-timeout\fR \fI\fR Timeout on network operations, in seconds.{n} 0 means no timeout (wait forever). Default is 30 .TP \fB\-\-max\-jobs\fR \fI\fR Maximum buffer size for parallel jobs, such as downloading rockspecs and installing rocks. 0 means no limit. Default is 0 .TP \fB\-\-no\-luarc\fR Do not generate or update a `.luarc.json` file when building{n} a project .TP \fB\-\-no\-wrap\-bin\fR Do not wrap Lua `bin` scripts .TP \fB\-\-user\-agent\fR \fI\fR The user agent to set when making web requests. Default is "lux/" .TP \fB\-h\fR, \fB\-\-help\fR Print help .TP \fB\-V\fR, \fB\-\-version\fR Print version .SH SUBCOMMANDS .TP lux\-cli\-add(1) Add a dependency to the current project .TP lux\-cli\-build(1) Build/compile a project .TP lux\-cli\-check(1) [EXPERIMENTAL]{n} Type check the current project based on EmmyLua/LuaCATS annotations.{n} Respects `.emmyrc.json` and `.luarc.json` files in the project directory .TP lux\-cli\-config(1) Interact with the lux configuration .TP lux\-cli\-debug(1) Internal commands for debugging Lux itself .TP lux\-cli\-dist(1) Distribute a Lux project .TP lux\-cli\-doc(1) Show documentation for an installed rock .TP lux\-cli\-download(1) Download a specific rock file from a luarocks server .TP lux\-cli\-fmt(1) Formats the codebase with stylua .TP lux\-cli\-generate\-rockspec(1) Generate a rockspec file from a project .TP lux\-cli\-info(1) Show metadata for any rock .TP lux\-cli\-install(1) Install a rock for use on the system .TP lux\-cli\-install\-rockspec(1) Install a local rockspec for use on the system .TP lux\-cli\-install\-lua(1) Manually install and manage Lua headers for various Lua versions .TP lux\-cli\-lint(1) Lint the current project using `luacheck` .TP lux\-cli\-list(1) List currently installed rocks .TP lux\-cli\-lua(1) Run lua, with the `LUA_PATH` and `LUA_CPATH` set to the specified lux tree .TP lux\-cli\-new(1) Create a new Lua project .TP lux\-cli\-outdated(1) List outdated rocks .TP lux\-cli\-pack(1) Create a packed rock for distribution, packing sources or binaries .TP lux\-cli\-path(1) Return the currently configured package path .TP lux\-cli\-pin(1) Pin an existing rock, preventing any updates to the package .TP lux\-cli\-purge(1) Remove all installed rocks from a tree .TP lux\-cli\-remove(1) Remove a rock from the current project\*(Aqs lux.toml dependencies .TP lux\-cli\-run(1) Run the current project with the provided arguments .TP lux\-cli\-exec(1) Execute a command that has been installed with lux. If the command is not found, a package named after the command will be installed .TP lux\-cli\-search(1) Query the luarocks servers .TP lux\-cli\-test(1) Run the test suite in the current project directory.{n} Lux supports the following test backends, specified by the `[test]` table in the lux.toml:{n} {n} \- busted:{n} {n} https://lunarmodules.github.io/busted/{n} {n} Example:{n} {n} ```toml{n} [test]{n} type = "busted"{n} flags = [ ] # Optional CLI flags to pass to busted{n} ```{n} {n} `lx test` will default to using `busted` if no test backend is specified and:{n} * there is a `.busted` file in the project root{n} * or `busted` is one of the `test_dependencies`).{n} {n} \- busted\-nlua:{n}: {n} [currently broken on Windows]{n} A build backend for running busted tests with Neovim as the Lua interpreter. Used for testing Neovim plugins. {n} Example:{n} {n} ```toml{n} [test]{n} type = "busted\-nlua"{n} flags = [ ] # Optional CLI flags to pass to busted{n} ```{n} {n} `lx test` will default to using `busted\-nlua` if no test backend is specified and:{n} * there is a `.busted` file in the project root{n} * or `busted` and `nlua` are `test_dependencies`.{n} {n} \- command:{n} {n} Name/file name of a shell command that will run the test suite.{n} Example:{n} {n} ```toml{n} [test]{n} type = "command"{n} command = "make"{n} flags = [ "test" ]{n} ```{n} {n} \- script:{n} {n} Relative path to a Lua script that will run the test suite.{n} Example:{n} {n} ```toml{n} [test]{n} type = "script"{n} script = "tests.lua" # Expects a tests.lua file in the project root{n} flags = [ ] # Optional arguments passed to the test script{n} ```{n} .TP lux\-cli\-uninstall(1) Uninstall a rock from the system .TP lux\-cli\-unpin(1) Unpins an existing rock, allowing updates to alter the package .TP lux\-cli\-update(1) Updates all rocks in a project .TP lux\-cli\-upload(1) Generate a Lua rockspec for a Lux project and upload it to the public luarocks repository.{n} You can specify a source template for release and dev packages in the lux.toml.{n} {n} Example:{n} {n} ```toml{n} [source]{n} url = "https://host.com/owner/$(PACKAGE)/refs/tags/$(REF).zip"{n} dev = "git+https://host.com/owner/$(PACKAGE).git"{n} ```{n} {n} You can use the following variables in the source template:{n} {n} \- $(PACKAGE): The package name.{n} \- $(VERSION): The package version.{n} \- $(REF): The git tag or revision (if in a git repository).{n} \- You may also specify environment variables with `$()`.{n} {n} If the `version` is not set in the lux.toml, lux will search the current commit for SemVer tags and if found, will use it to generate the package version .TP lux\-cli\-util(1) Infrequently used commands such as for generating shell completions and man pages .TP lux\-cli\-vendor(1) Vendor the dependencies of a project or RockSpec locally. When building or installing a package with the `\-\-vendor\-dir` option{n} or the `[vendor_dir]` config option, Lux will fetch sources from the {n} instead of from a remote server .TP lux\-cli\-which(1) Tell which file corresponds to a given module name .TP lux\-cli\-shell(1) Spawns an interactive shell with PATH, LUA_PATH, LUA_CPATH and LUA_INIT set .TP lux\-cli\-sync(1) Synchronize the project tree with the current lux.toml,{n} ensuring all packages are installed correctly .TP lux\-cli\-help(1) Print this message or the help of the given subcommand(s) .SH VERSION v0.43.5 .SH AUTHORS vhyrro , mrcjkb