Files
solo1-cli-nix/flake.nix

61 lines
1.6 KiB
Nix

{
inputs = {
nixpkgs.url = "nixpkgs/nixos-23.05";
flake-utils.url = "github:numtide/flake-utils";
solo1-cli-src = {
url = "github:solokeys/solo1-cli";
flake = false;
};
};
outputs = { self, nixpkgs, flake-utils, solo1-cli-src, ... }:
flake-utils.lib.eachSystem [
"x86_64-linux" "i686-linux" "aarch64-linux"
] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
#python-pkgs = pkgs.python38Packages;
python-pkgs = pkgs.python3Packages;
solo1-cli = python-pkgs.buildPythonApplication {
name = "solo1-cli";
format = "flit";
propagatedBuildInputs = with python-pkgs; [
click
cryptography
ecdsa
fido2
intelhex
pyserial
pyusb
requests
black
flake8
#flit_core
#flit
ipython
isort
];
src = solo1-cli-src;
# python-fido2 changed CTAP1 -> Ctap1 and CTAP2 -> Ctap2 at some point
postPatch = ''
#substituteInPlace solo/devices/base.py --replace 'CTAP1' 'Ctap1'
substituteInPlace solo/devices/solo_v1.py --replace 'CTAP1' 'Ctap1'
substituteInPlace solo/devices/base.py --replace 'CTAP2' 'Ctap2'
substituteInPlace solo/devices/solo_v1.py --replace 'CTAP2' 'Ctap2'
'';
#enableParallelBuilding = true;
};
in
{
packages.default = solo1-cli;
packages.solo1-cli = solo1-cli;
}
);
}