mirror of
https://github.com/librekeys/pico-fido-firmwares.git
synced 2026-04-11 01:50:21 +00:00
A custom build pico-fido firmware(s) with LibreKeys applied patches
Flake lock file updates:
• Updated input 'flake-parts':
'github:hercules-ci/flake-parts/f20dc5d9b8027381c474144ecabc9034d6a839a3?narHash=sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0%3D' (2026-03-01)
→ 'github:hercules-ci/flake-parts/3107b77cd68437b9a76194f0f7f9c55f2329ca5b?narHash=sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA%3D' (2026-04-01)
• Updated input 'flake-parts/nixpkgs-lib':
'github:nix-community/nixpkgs.lib/c185c7a5e5dd8f9add5b2f8ebeff00888b070742?narHash=sha256-e%2B/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB%2BQ%3D' (2026-03-01)
→ 'github:nix-community/nixpkgs.lib/333c4e0545a6da976206c74db8773a1645b5870a?narHash=sha256-%2BU7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ%3D' (2026-03-29)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9?narHash=sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc%3D' (2026-03-24)
→ 'github:NixOS/nixpkgs/6201e203d09599479a3b3450ed24fa81537ebc4e?narHash=sha256-ZojAnPuCdy657PbTq5V0Y%2BAHKhZAIwSIT2cb8UgAz/U%3D' (2026-04-01)
|
||
|---|---|---|
| .github/workflows | ||
| examples | ||
| lib | ||
| pkgs | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
pico-fido-firmwares
A custom build pico-fido firmware(s) with LibreKeys applied patches
Build with Flakes
# Build a specific firmware
nix build .#pico-fido
nix build .#pico-fido2
nix build .#pico-openpgp
# Build all firmware variants (matrix build)
nix build .#pico-fido-firmwares
nix build .#pico-fido2-firmwares
nix build .#pico-openpgp-firmwares
For custom parameters, see the Non-Flakes section below (or modify flake.nix directly).
Build with Nix (Non-Flakes)
# Basic build (uses defaults)
nix-build -E 'with import <nixpkgs> {}; callPackage ./pkgs/pico-fido/default.nix {}'
nix-build -E 'with import <nixpkgs> {}; callPackage ./pkgs/pico-fido2/default.nix {}'
nix-build -E 'with import <nixpkgs> {}; callPackage ./pkgs/pico-openpgp/default.nix {}'
# Build matrix (all variants)
nix-build -E 'with import <nixpkgs> {}; callPackage ./pkgs/pico-firmwares/default.nix {}' -A pico-fido-firmwares
Custom Parameters
nix-build -E 'with import <nixpkgs> {}; callPackage ./pkgs/pico-fido/default.nix {
picoBoard = "waveshare_rp2350_one";
vidpid = "Yubikey5";
extraCmakeFlags = [ "-DPICO_DEBUG_INFO_IN_RELEASE=ON" ];
}'
Available Parameters
| Parameter | Default | Description |
|---|---|---|
picoBoard |
"pico" |
Target board (e.g., pico, pico2, waveshare_rp2350_one) |
vidpid |
"" |
VID/PID string (e.g., Yubikey5) |
usbVID |
"" |
USB Vendor ID (alternative to vidpid) |
usbPID |
"" |
USB Product ID (alternative to vidpid) |
enableEdDSA |
false |
Enable EdDSA support |
extraCmakeFlags |
[] |
Additional cmake flags |
secureBootPKey |
null |
Path to secure boot private key (NOT TESTED YET!) |
Note: vidpid and usbVID/usbPID cannot be used together.