3 Building
github-actions[bot] edited this page 2026-02-22 13:21:16 +00:00

Prerequisites

Before building, ensure you have the following requirements installed:

  • Rust - System programming language (1.90+)
  • PC/SC Middleware:
    • Linux: pcscd (usually pre-installed)
    • macOS: Built-in
    • Windows: Built-in

Building from Source

1. Build the Application

Development Build

cargo run

Production Build

cargo build --release

The compiled binary will be available in target/release/picoforge (Linux/macOS) or target/release/picoforge.exe (Windows).

Building and Development with Nix

Nix provides developers with a complete and consistent development environment.

You can use Nix to build and develop picoforge painlessly.

1. Install Nix

Follow the Installation Guide and NixOS Wiki to install Nix and enable Flakes.

2. Build & Run

a. with Flakes

You can build and run PicoForge with a single command:

nix run github:librekeys/picoforge

Or simply build it and link to the current directory:

nix build github:librekeys/picoforge

Tip

You can use our binary cache to save build time by allowing Nix to set extra-substitutes.

b. without Flakes

Download the package definition:

curl -LO https://raw.githubusercontent.com/librekeys/picoforge/main/package.nix

Run the following command in the directory containing package.nix:

nix-build -E 'with import <nixpkgs> {}; callPackage ./package.nix { }'

The compiled binary will be available at: result/bin/picoforge

3. Develop

You can enter a developement environement with all the required dependencies.

a. with Flakes

nix develop github:librekeys/picoforge

b. without Flakes

You can use the shell.nix file that is at the root of the repository by running:

nix-shell

Then you can build from source and run the application with:

cargo run