3.3 KiB
Prerequisites
Before building, ensure you have the following requirements installed:
- Node.js - JavaScript/TypeScript runtime (Required for frontend dependencies)
- Deno - JavaScript/TypeScript runtime (Preferred build tool)
- Rust - System programming language (1.90+)
- PC/SC Middleware:
- Linux:
pcscd(usually pre-installed) - macOS: Built-in
- Windows: Built-in
- Linux:
Important
Deno is required to build the application as intended. Node.js is also required because some frontend dependencies rely on it. The npm commands provided in this guide assume Deno is installed and are provided as a fallback.
Building from Source
1. Build the Application
Development Build
With Deno (Recommended):
deno task tauri dev
With npm:
npm run tauri dev
Production Build
With Deno (Recommended):
deno task tauri build
With npm:
npm run tauri build
The compiled binaries will be available in:
- Linux:
src-tauri/target/release/bundle/ - macOS:
src-tauri/target/release/bundle/dmg/ - Windows:
src-tauri/target/release/bundle/
Alternate Method: Pure npm Build (Not Recommended)
If you must use npm exclusively (without Deno installed), you can modify src-tauri/tauri.conf.json to change the build commands:
"build": {
"beforeDevCommand": "npm run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "npm run build",
"frontendDist": "../build"
},
After this change, you can use:
npm run build
npm run tauri build
Caution
This deviation from the standard build process is not recommended for contributors. The project is designed to be built using Deno. The
package-lock.jsonand npm commands exist primarily to facilitate packaging for Nix.
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:
deno task tauri dev