Skip to content

CLI Reference

All commands accept --help for usage.

onelf init

Scaffold a starter onelf.toml.

onelf init [-o FILE] [--binary PATH] [--force]
FlagDefaultDescription
-o, --outputonelf.tomlWhere to write the recipe
--binarynoneSeed name/command from this binary's basename
--forcefalseOverwrite existing file

onelf build

Run bundle-libs + pack from a recipe.

onelf build [PATH] [-o FILE]
Arg / FlagDefaultDescription
PATH.Directory or .toml file
-o, --output[package.output]Override recipe's output path

onelf run

Run an AppDir in place for dev iteration.

onelf run [PATH] [--command PATH] [--entrypoint NAME] [--bundle] [-- ARGS...]
FlagDescription
PATHAppDir or .toml file (default .)
--commandBinary to exec, relative to AppDir
--entrypointSelect a recipe-defined entrypoint
--bundleRun bundle-libs from the recipe first
-- ARGSPassed to the entrypoint

onelf pack

Pack a directory into an executable.

onelf pack DIRECTORY -o OUTPUT --command PATH [options]
FlagDefaultDescription
-o, --outputrequiredOutput file
--commandrequiredPath to main binary within DIRECTORY
--namecommand basenamePackage name
--entrypoint NAME=PATHAdd extra entrypoint (repeatable)
--default-entrypoint NAMESelect default entrypoint
--lib-dir DIR[auto]Library dir for LD_LIBRARY_PATH (repeatable)
--level N12Zstd compression level (0 to 22)
--dictfalseTrain shared zstd dictionary
--memfdautoForce memfd eligibility on
--no-memfdForce memfd eligibility off
--working-dir MODEinheritinherit, package, or command
--update-url URLzsync URL; enables update runtime
--exclude GLOBExclude paths matching glob (repeatable)

onelf bundle-libs

Resolve and copy shared library dependencies.

onelf bundle-libs DIRECTORY [options]
FlagDefaultDescription
--target PATHall ELFAnalyze only this binary
--from-binary PATHCopy binary into DIRECTORY/bin/ first
--lib-dir DIRlibWhere to place bundled libs
--exclude PFXSoname prefixes to skip (comma/repeat)
--include SONAMEForce-include this soname (comma/repeat)
--search-path DIRExtra lib search dir (highest priority)
--dry-runfalseReport without copying
--no-recursivefalseDon't resolve transitive deps
--gl, --dri, --vulkan, --wayland, --gtkautoFramework bundlers. Auto-detect inspects both DT_NEEDED and raw soname strings in the binary, so dlopen'd frameworks are picked up too
--stripfalseRun strip --strip-unneeded
--strict-libcfalseSkip wrong-family libc libs
--scan-dlopenfalseScan binary strings for common dlopen sonames
--dlopen SONAMEExtra sonames for --scan-dlopen (comma/repeat)

onelf info

Show metadata.

onelf info BINARY

onelf list

List packaged files.

onelf list BINARY

onelf extract

Extract files from a packed binary.

onelf extract BINARY [-o OUT] [--file PATH ...]

Without --file, extracts everything to onelf_extracted/ (or -o). With one --file and -o -, pipes that file to stdout.

onelf verify

Recompute BLAKE3 of each file entry and compare against the manifest.

onelf verify BINARY

Exit 0 on match, 1 on mismatch.

onelf icon

Extract the bundled icon.

onelf icon BINARY [--entrypoint NAME] [-o FILE]

onelf desktop

Extract the bundled .desktop file.

onelf desktop BINARY [--entrypoint NAME] [-o FILE]

onelf cache

Manage the persistent cache (used only by the final-fallback cache mode).

onelf cache list
onelf cache clear
onelf cache gc [--max-age DAYS]

Released under the MIT License.