default.nix (1172B)
1 { lib, stdenv, fetchFromGitHub, python3Packages, curses-menu }: 2 3 python3Packages.buildPythonApplication rec { 4 pname = "miband4"; 5 version = "0-unstable-2022-10-07"; 6 format = "other"; 7 8 src = fetchFromGitHub { 9 owner = "satcar77"; 10 repo = "miband4"; 11 rev = "166f15bd6a3534fc1054501025a79d8d4db83f12"; 12 hash = "sha256-18ymMXMZLvC3JDCVgvSOQYHg7U3s76HHdVmiQEoBJzo="; 13 }; 14 15 dontUseSetuptoolsBuild = true; 16 dontUseSetuptoolsCheck = true; 17 18 installPhase = 19 let 20 pythonEnv = python3Packages.python.withPackages (p: with p; [ 21 bluepy 22 pycrypto 23 curses-menu 24 ]); 25 in 26 '' 27 site_packages=$out/lib/${python3Packages.python.libPrefix}/site-packages 28 mkdir -p $site_packages 29 cp *.py $site_packages 30 31 makeWrapper ${pythonEnv.interpreter} $out/bin/miband4_console \ 32 --add-flags "$site_packages/miband4_console.py" 33 ''; 34 35 meta = with lib; { 36 description = "Access Xiaomi MiBand 4 from Linux using Bluetooth LE"; 37 inherit (src.meta) homepage; 38 license = licenses.mit; 39 maintainers = with maintainers; [ sikmir ]; 40 platforms = platforms.linux; 41 skip.ci = stdenv.isDarwin; 42 }; 43 }