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
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