Installer
https://tryskl.fyi/install.sh is a POSIX sh script. It downloads the release binary for this machine, verifies it, installs it without sudo, and in a terminal runs skl setup.
curl -fsSL https://tryskl.fyi/install.sh | sh
curl -fsSL https://tryskl.fyi/install.sh | sh -s -- --non-interactive
Flags
--non-interactive,-n. Install the binary only. Skipskl setup.--print-target. Print the release triple for this machine and exit.--help,-h. Print the installer help and exit.
Any other argument fails with unknown argument.
Environment variables
| Variable | Effect | Default |
|---|---|---|
SKL_DOWNLOAD_BASE | Origin for the binary and SHA256SUMS | https://github.com/x0ba/skl/releases/latest/download |
SKL_INSTALL_DIR | Install directory | ~/.local/bin |
SKL_NON_INTERACTIVE | When set, same as --non-interactive | unset |
API_BASE | API origin passed to skl setup | https://api.tryskl.fyi |
CI | When set, install the binary only | unset |
Platforms
uname -s | uname -m | Release triple | Installed name |
|---|---|---|---|
Linux | x86_64, amd64 | x86_64-unknown-linux-musl | skl |
Linux | aarch64, arm64 | aarch64-unknown-linux-musl | skl |
Darwin | x86_64 | x86_64-apple-darwin | skl |
Darwin | arm64, aarch64 | aarch64-apple-darwin | skl |
MINGW*, MSYS*, CYGWIN* | x86_64, amd64, i686, i386 | x86_64-pc-windows-gnu | skl.exe |
Any other combination fails with unsupported OS or unsupported ... architecture.
What it does
- Downloads
skl-<triple>fromSKL_DOWNLOAD_BASEwithcurl.curlis required. - Downloads
SHA256SUMSand compares the file withsha256sumorshasum -a 256. A mismatch fails withchecksum mismatch. A missingSHA256SUMSor missing entry prints a warning and continues. - Moves the file to
SKL_INSTALL_DIRand marks it executable. - When
SKL_INSTALL_DIRis not onPATH, prints theexport PATH=...line to add. It never edits.bashrc,.zshrc, or fish configuration. - When stdout is a terminal,
/dev/ttyis readable, and neitherCInor non-interactive mode is set, runsskl setupattached to/dev/tty. Otherwise printsnon-interactive / non-TTY: binary only.
Output
==> downloading https://github.com/x0ba/skl/releases/latest/download/skl-x86_64-unknown-linux-musl
==> checksum ok (skl-x86_64-unknown-linux-musl)
==> installed /home/you/.local/bin/skl
==> first-run: invoking /home/you/.local/bin/skl setup (login / init / harness checklist)
==> done. try: skl --help