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
.desktopapp 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)
# Launch qst
Thats it! You can then start browsing apps, or install scripts from the community catalog with loader.sh (installed automatically on first run).
Install
Via Nix (recommended):
Via the AUR (Arch Linux):
Via Cargo:
Or build from source:
Usage
Run qst from the terminal:
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.
Note: On first run, qst downloads and installs
loader.shinto~/.config/qst/scripts/to give you a script browser out of the box. It is fetched from theawesome-qstrepository. This system is getting a full overhaul in the future.
With loader.sh installed, 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 selectionLeft/Right: move cursor in inputTab: autocomplete pathEnter: launch/open selected itemAlt+f: toggle favoriteCtrl+d: toggle debug overlayEsc: quit
Configuration
qst generates ~/.config/qst/config.toml automatically on first run, or explicitly with:
The config controls layout, colors, keybindings, and behavior. Optional trigger aliases for scripts and apps can be defined in ~/.config/qst/alias.toml:
[]
= "v!"
= ":"
[]
= "alacritty -e btop"
Docs
- DOCS.md — full configuration, CLI options, and feature details
- API.md — script protocol reference
- CHANGELOG.md — release history