{ 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; 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; } ); }