// reference

Tools & CLI

Every script and helper that ships with the project.

The visor command

Installed to /usr/local/bin by the installer — the host-side Swiss army knife:

CommandWhat it does
visor buildRuns make in the source checkout (extra args pass through).
visor installRuns install.sh (args pass through); with no source checkout it installs from the packaged files instead (--packaged forces this, --source-dir overrides it).
visor updateClones/pulls the latest source, rebuilds, reinstalls — never touches your boot.conf. Flags: --esp, --repo, --branch, --source-dir, --boot-entry, --sign, --force-config.
visor encrypt <kernel> [initrd]One-password encryption of kernel+initrd, installs to the ESP, generates the boot entry (with LUKS auto-detection) and offers to append it to boot.conf. See Encryption.
visor convert <video> [options]Convert any video to an animated Visor background. Without --vbg produces MJPEG MP4; with --vbg produces compact VBG (tiled-quantized delta + motion, 10–20× smaller, cheaper to decode). Common flags --scale WxH|H --quality 2–31 --out PATH --esp PATH --force; VBG-only --fps --keyint --mv-range/--no-motion --denoise --threshold --qshift --tile. Installs straight to \EFI\visor\backgrounds with --esp. See visor convert --help and tools/vbg_encode.py --help.
visor signSigns the installed EFI binaries with sbctl (--no-drivers to skip drivers).
visor driversDetects the /boot filesystem and installs the matching EfiFs driver (--fs TYPE, --sign).
visor statusReports install state: binary, config, drivers, encrypted artifacts (validates VISORENC headers).
visor config validateSyntax-checks a boot.conf before you reboot into it.
visor studioFetch and run the official Visor Studio configurator locally (--update, --port PORT, --docker, --detach). See Visor Studio.
visor doctorChecks build/install dependencies — recognises packaged installs when no source checkout exists.
visor uninstall / visor cleanRemoves the ESP install + boot entry / removes build outputs.

Root scripts

ScriptPurpose
get.shThe curl | sh bootstrapper: installs distro build deps, clones to ~/.cache/visor-src, builds, and runs the installer (via bash, so it works even when exec bits were lost in transit).
install.shThe installer proper: ESP detection, file copies, boot entry, signing, drivers, CLI install. All flags in Install & Run.
MakefileDual-arch build — see Building.

tools/

ToolPurpose
visor_encrypt.pyCreates VISORENC v2 containers. Takes any number of INPUT OUTPUT pairs under one password prompt; --iterations N tunes PBKDF2. Pure-stdlib Python (its ChaCha20 is self-contained).
vbg_encode.py / visor convertEncodes a video as a Visor background. vbg_encode.py INPUT OUTPUT [--scale WxH|H] [--quality 2–31] [--threshold T] [--qshift 0–7] [--tile 4–64] [--keyint N] [--mv-range 0–127] [--denoise SPEC|none] [--fps F] — compact VBG (motion-compensated tiled delta) or MJPEG fallback. The visor convert wrapper auto-finds the tool (source tree, VISOR_VBG_TOOL, or /usr/share/visor/tools) and handles --esp install and ffmpeg fallback for MJPEG. Needs ffmpeg and (for VBG) python-numpy.
visor-snapshot-syncRun on the host (e.g. from a pacman/apt hook): scans snapper/Timeshift/plain btrfs snapshots and writes \EFI\visor\snapshots.conf with exact per-snapshot kernels, initrds, and cmdlines. Visor also reads \EFI\visor\snapshot.conf (singular) as a fallback.
bake_font.pyRenders a TTF into src/gui/font_jetbrains.c glyph bitmaps (Python + Pillow). Driven by make bakefont FONT=... FONT_PX=....
setup_gnuefi_aarch64.shOne-time cross-build of gnu-efi for the AArch64 target.