qst 0.13.0

A Community Driven CLI Quick Script Tool
qst-0.13.0 is not a library.

Qst, pronounced "quest", is a TUI Linux application launcher built with Rust + Ratatui. Launch apps, browse files, and run scripts from one keyboard-first interface.

Overview

  • Fast .desktop app scanning with fuzzy search.
  • Usage and favorites-based ordering.
  • File explorer mode with path autocompletion.
  • Extensible script system with a community catalog.
  • Fully customizable layout and colors.

Quick start

# Install qst via Nix (recommended)
nix profile install "github:GitanElyon/qst"

# Launch qst
qst

Thats it! You can then start browsing apps, or install scripts from the community catalog at awesome-qst.

To get started with scripts, install loader.sh:

qst --install loader.sh 

You can then run it by entering loader in Qst's search box which show a list of plugins you can browse, install and manage.

Install

Via Nix (recommended):

nix profile install "github:GitanElyon/qst"

Via the AUR (Arch Linux):

yay -S qst

Via Cargo:

cargo install --locked qst

Or build from source:

git clone https://github.com/GitanElyon/qst.git
cd qst
cargo install --locked --path .

Usage

Run qst from the terminal:

qst

Or bind it to a global hotkey (e.g. Super+Space) in your desktop environment's keyboard settings. Hyprland example, to mimic rofi:

bind = $mod, space, exec, [float; size 350 400] $terminal -e qst

Scripts

qst scripts extend the launcher with custom functionality — system info, todo lists, calculators, clipboard history, and more. Scripts live in ~/.config/qst/scripts/ and are triggered by typing their name.

Install and manage scripts from the community catalog directly from the command line:

qst --install <script>    install a script from the catalog
qst --update <script>     update an installed script to the newest version
qst --remove <script>     remove an installed script
qst --refresh-catalog     refresh the cached catalog

For example, qst --install loader.sh installs the interactive script browser. With it, browse and install community scripts right from qst:

loader                    browse the catalog
loader <terms>            filter the catalog
loader u <script>         install or update a script
loader r <script>         remove a locally installed script
loader a <script> <alias> set an alias for a script

The community catalog lives in awesome-qst. Scripts are simple executable files (shell, Python, Perl, and more) that follow a line-oriented protocol; see API.md to write your own.

Keybindings

  • Up/Down: move selection
  • Left/Right: move cursor in input
  • Tab: autocomplete path
  • Enter: launch/open selected item
  • Alt+f: toggle favorite
  • Ctrl+d: toggle debug overlay
  • Esc: quit

Configuration

qst generates ~/.config/qst/config.toml automatically on first run, or explicitly with:

qst --gen-config

The config controls layout, colors, keybindings, and behavior. Optional trigger aliases for scripts and apps can be defined in ~/.config/qst/alias.toml:

[scripts]
"volume.sh" = "v!"
battery = ":"

[apps]
"btop++" = "alacritty -e btop"

Docs

  • DOCS.md — full configuration, CLI options, and feature details
  • API.md — script protocol reference
  • CHANGELOG.md — release history