lux-cli-shell(1)

πŸ“¦ version 0.48.0, in nixpkgs unstable

πŸ’… lux-cli-shell β€” like, the manual page bestie

okay so this is lux-cli-shell(1), from the General Commands Manual β€” yes bestie, that's the manual name, we're fancy now πŸŽ€. It's a whole page about one command and it's genuinely iconic, so let's get into it.


✨ NAME ✨

lux-cli-shell β€” spawns an interactive shell with PATH, LUA_PATH, LUA_CPATH and LUA_INIT set 🐚✨

like… it literally just hands you a shell that already knows where your Lua stuff lives. no cap, that's the whole vibe.


🌸 SYNOPSIS 🌸

lux-cli shell [--test] [--build] [--server] [--extra-servers]
[--no-loader] [--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 πŸ¦‹

Spawns an interactive shell with PATH, LUA_PATH, LUA_CPATH and LUA_INIT set πŸ’–

that's it. that's the whole thing. she sets up your environment, she opens a shell, she slays. periodt.


πŸ’… OPTIONS πŸ’…

quick heads up bestie: you're gonna see {n} all over these descriptions β€” that's literally just how it appears in the original, so I'm leaving it EXACTLY as-is. copy-paste brain, no edits πŸ”₯

  • --test β€” add test dependencies to the shell's paths,{n} on top of the regular dependencies πŸ§ͺ
  • --build β€” add only build dependencies to the shell's paths. only. build. ones. πŸ™ˆ
  • --server <server> β€” fetch rocks/rockspecs from this server (and yeah, it takes priority over the config file πŸ‘‘)
  • --extra-servers <extra-server> β€” fetch rocks/rockspecs from these servers in addition to the main server{n} (this overrides any entries in the config file, fyi)
  • --no-loader β€” disable the Lux loader.{n} ⚠️ but real talk: if a rock has conflicting transitive dependencies,{n} disabling the Lux loader may result in the wrong modules being loaded.{n} so like… be careful, bestie, that's a genuine warning πŸ’€
  • --namespace <namespace> β€” specify the luarocks server namespace to use
  • --lua-dir <prefix> β€” specify the directory in which to install Lua if it's not found πŸ”
  • --lua-version <ver> β€” which Lua installation to use.{n} the valid versions are: '5.1', '5.2', '5.3', '5.4', '5.5', 'jit' and 'jit52'.{n} if you don't set it, Lux will attempt to detect the Lua version:{n}
    • from the current project, if it has an exact Lua version requirement
    • from the Lua installation that's available on the PATH
  • --tree <tree> β€” which tree to operate on.{n} 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,{n} in which the default user install tree resides{n} (e.g. ~/.local/share/lux) πŸ“
  • --variables <variable> β€” override config variables.{n} example: lx -v "LUA=/path/to/lua" ...
  • --profile <profile> β€” the build profile to use when compiling packages.{n} default: release

possible values:

  • release
  • dev
  • --verbose β€” display verbose output of commands executed, enabling DEBUG logs.{n} want TRACE logs? set RUST_LOG=trace πŸ‘€
  • --no-progress β€” don't print any progress bars or spinners. silence. blessed silence. 🀫
  • --no-prompt <NO_PROMPT> β€” skip prompts, selecting the default option.{n} prompting is enabled by default in terminal/TTY environments

possible values:

  • true
  • false
  • --preset <preset> β€” configure Lux for a specific environment.{n} valid presets are: 'nvim'

possible values:

  • nvim: configure Lux for Neovim plugins πŸ’œ
  • --nvim β€” [DEPRECATED] configure lux for installing Neovim packages.{n} use --preset nvim instead 🫢 (deprecated, bestie β€” switch it up)
  • --no-tfa β€” 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) β€” seriously, don't turn off 2FA, I'm begging 😭
  • --timeout <seconds> β€” timeout on network operations, in seconds.{n} 0 means no timeout (wait forever). default is 30 ⏱️
  • --max-jobs <MAX_JOBS> β€” maximum buffer size for parallel jobs, such as downloading rockspecs and installing rocks. 0 means no limit. default is 0 πŸ”₯
  • --no-luarc β€” do not generate or update a .luarc.json file when building{n} a project
  • --no-wrap-bin β€” do not wrap Lua bin scripts
  • --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, you ate that πŸ’– and for the cute sign-off: this little beauty lives under the source/version tag shell in the lux-cli-shell(1) manual β€” catch you in the group chat, bestie πŸ§šβœ¨πŸ‘‘

πŸ“¦ where this page comes from