Skip to content

Building from Source

Struis edited this page Aug 21, 2026 · 1 revision

Building from source

InSearch is a Rust cargo workspace.

Prerequisites

  • A recent stable Rust toolchain (rustup).
  • Linux only: the desktop dev libraries, e.g. on Debian/Ubuntu:
    sudo apt-get install libgtk-3-dev libxkbcommon-dev libwayland-dev libxcb1-dev libgl1-mesa-dev

Build & run

git clone https://github.com/StruisICT/InSearch
cd InSearch

# GUI  (optionally pass a folder to pre-load)
cargo run -p insearch-gui              # ... -- "C:\path\to\search"

# CLI
cargo run -p insearch-cli -- <pattern> <root> [--regex] [--gitignore]

# Tests
cargo test -p insearch-core

Workspace layout

Crate Role
insearch-core headless engine: walk (ignore), match (grep-regex), extract, split
insearch-gui egui/eframe desktop front-end (glow backend)
insearch-cli command-line harness

Binary-format support is opt-in on insearch-core via Cargo features: xls, docx, pdf, or all-formats (the GUI and CLI enable all-formats).

Release binaries

Windows builds embed an app manifest + icon via build.rs. The MSI is built with cargo-wix from crates/insearch-gui/wix/main.wxs. Releases are automated with release-please: merging the release PR tags the version, and CI builds and attaches the Windows exe/MSI and Linux tarball.

See AGENTS.md in the repo for architecture and conventions.


© Struis ICT — https://struisict.com · Buy me a coffee ☕

Clone this wiki locally