Postguy
Getting started

Build from source

Build the Postguy desktop app and the postguy-cli binary with Cargo on macOS, Windows, Linux and FreeBSD.

Toolchain

  • Stable Rust 1.95 or newer, installed with rustup. The minimum is the rust-version in the root Cargo.toml. It is what egui 0.36 needs. CI builds with the stable channel.
  • Edition 2024.
  • You don't need Node, a web or WebAssembly target, or a font download. The only embedded font is Poppins, plus egui's default fonts.

Build and run

  1. Clone the repo and build:
    git clone https://github.com/zuramai/postguy.git
    cd postguy
    cargo build --release -p postguy -p postguy-cli
    
  2. Find the binaries:
    • target/release/postguy: the desktop app.
    • target/release/postguy-cli: the headless CLI.
    • On Windows they end in .exe.

To run the app from the source tree with a workspace of your choice:

cargo run -p postguy -- --workspace ~/postguy-workspace

For day-to-day work, cargo build -p postguy and cargo build -p postguy-cli build the debug versions.

Prerequisites per OS

You need the window system and graphics libraries to build. CI installs these Debian/Ubuntu packages:

sudo apt-get install -y --no-install-recommends \
  libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev \
  libgl1-mesa-dev

CI also installs libgtk-3-dev, but it is optional. File dialogs use xdg-desktop-portal, not GTK, so you don't need GTK to build or run Postguy.

At run time, Postguy loads X11 or Wayland, xkbcommon and EGL/GL dynamically. xdg-desktop-portal provides the file dialogs.

On other distributions, install the equivalent development packages for xkbcommon, Wayland, X11 (including Xrandr and Xi) and Mesa GL.

Everything else

  • cargo xtask ci runs the quality gates: format, Clippy with warnings denied, tests, then the layer, asset, parity and deny (licence) checks. See Development.
  • The packaging scripts (AppImage, deb, rpm, MSI, dmg, Flatpak) are in Releasing.
  • The crate layout is in Architecture.
Copyright © 2026