Installing
Requirements
- Linux with an Intel NPU (Core Ultra or newer) and the NPU driver. No NPU?
--device CPUworks, just slower. - KDE Plasma or GNOME on Wayland. Sway, Hyprland, COSMIC and other Wayland desktops work through
vinosearch menuand a dmenu-style launcher (fuzzel, wofi, rofi, tofi or bemenu). The settings window is Wayland only. - Rust, a C compiler and OpenSSL’s headers, only to build from source.
Release download
curl -L https://github.com/karanshukla/vinoSearch/releases/latest/download/vinosearch-x86_64-linux.tar.gz | tar xz
vinosearch/scripts/install.sh --index ~/Documents
That installs the prebuilt binaries into ~/.local/bin (x86_64, glibc 2.39 or newer), fetches
OpenVINO and the 340 MB model, indexes the folders you name (--index is repeatable, or it asks),
and registers vinoSearch with the running desktop’s search (KRunner on Plasma, GNOME Shell on GNOME)
as a service started at login. It skips whatever is already done, so re-running it from a newer
download upgrades in place. If something is missing (the NPU driver, say), it stops with one line
saying what.
From source
Needs Rust and a C compiler. The same script builds the binaries with cargo into ~/.cargo/bin
when run from a checkout, and git pull then a re-run upgrades:
git clone https://github.com/karanshukla/vinoSearch && cd vinoSearch
scripts/install.sh --index ~/Documents
Or step by step:
cargo install --path . # vinosearch into ~/.cargo/bin
cargo install --path crates/settings # vinosearch-settings, the settings window (optional)
cargo install ovfetch # 0.6.0 or newer
scripts/install-runtime.sh # OpenVINO via ovfetch
vinosearch fetch-model # 340 MB, every file checked against a pinned SHA-256
vinosearch estimate ~/Development # how long indexing would take, and which subfolders take longest
vinosearch index ~/Documents ~/Development # once per root; unchanged files are skipped on re-runs
vinosearch krunner --install # the systemd user service, the app menu entry and the running desktop's search
vinosearch integrate gnome # or kde: add the other desktop's search; --off removes one
vinosearch doctor checks the NPU, driver and runtime, then compiles and runs a probe model.
Other distros
The release download runs on x86_64 with glibc 2.39 or newer: Fedora 40+, Ubuntu 24.04+, Debian 13,
Arch, openSUSE Tumbleweed, and the image-based Fedora Atomic (Silverblue, Kinoite, Bazzite) and
openSUSE Aeon. On anything older (Debian 12, Ubuntu 22.04, openSUSE Leap 15) install.sh says so;
build from source there.
Building needs Rust 1.95 or newer, which Debian’s and Ubuntu’s packaged Rust isn’t, so get it from rustup. The C compiler and OpenSSL’s headers (SQLCipher links the system’s libcrypto) are:
| Distro | Command |
|---|---|
| Fedora | sudo dnf install gcc openssl-devel |
| Debian, Ubuntu | sudo apt install build-essential libssl-dev |
| Arch | sudo pacman -S --needed base-devel openssl |
| openSUSE | sudo zypper install gcc libopenssl-devel |
Fedora Atomic and openSUSE Aeon
Everything goes in your home: binaries in ~/.local/bin, the runtime, model and index under
~/.local, the service in ~/.config/systemd/user. Nothing touches /usr, so the release download
needs no layering or reboot. The NPU driver is the one system package; layer it (rpm-ostree install
on Fedora Atomic, transactional-update pkg install on Aeon) or use an image that ships it.
To build from source instead, run install.sh inside a toolbox or distrobox whose release matches
the host: the home directory is shared, so the host runs the same binaries and index. If systemd
can’t be reached from the container, install.sh prints the one command to run on the host.
/var/home and a /home symlink are both fine; indexed paths are resolved to the real one.
Uninstalling
vinosearch/scripts/install.sh --uninstall removes the service, the KRunner and GNOME files and the
binaries. Add --purge to also delete the index, model, compiled cache and runtime.