{ buildHomeAssistantComponent, fetchFromGitHub, home-assistant, ... }: let python3Packages = home-assistant.python.pkgs; python-nanokvm = python3Packages.buildPythonPackage rec { pname = "nanokvm"; version = "0.1.0"; format = "pyproject"; src = fetchFromGitHub { owner = "puddly"; repo = "python-${pname}"; rev = "v${version}"; sha256 = "sha256-vIxvQtjaInnWQce7syiOWpP2kaw0IVw03HPovnB2J5M="; }; prePatch = '' rm -f pyproject.toml cat > pyproject.toml << 'EOF' [build-system] requires = ["setuptools>=61.0.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "nanokvm" version = "0.1.0" description = "Async client for NanoKVM devices." urls = {repository = "https://github.com/puddly/python-nanokvm"} authors = [ {name = "puddly", email = "puddly3@gmail.com"} ] readme = "README.md" license = {text = "Apache-2.0"} requires-python = ">=3.11" dependencies = [ "aiohttp", "cryptography", "yarl", "pillow", "pydantic", "paramiko", ] [tool.setuptools.packages.find] exclude = ["tests", "tests.*"] EOF ''; buildInputs = with python3Packages; [ setuptools ]; propagatedBuildInputs = with python3Packages; [ aiohttp cryptography yarl pillow pydantic paramiko ]; doCheck = false; }; in buildHomeAssistantComponent rec { owner = "Wouter0100"; domain = "nanokvm"; version = "v0.0.4"; src = fetchFromGitHub { owner = owner; repo = "homeassistant-nanokvm"; rev = "bdd2ca39d8050e4b38bb7917ee4034f2fcd49471"; hash = "sha256-S6g9mfPEixqeGQkXVK8PZJ/dnEC5ThKtbELAIAhCANM="; }; propagatedBuildInputs = [ python-nanokvm ]; postPatch = '' substituteInPlace custom_components/nanokvm/manifest.json \ --replace-fail '"nanokvm>=0.0.4"' '"nanokvm"' ''; meta = { changelog = "https://github.com/Wouter0100/homeassistant-nanokvm/releases/tag/${version}"; description = "This integration allows you to control and monitor your Sipeed NanoKVM device from Home Assistant."; homepage = "https://github.com/Wouter0100/homeassistant-nanokvm"; maintainers = [ ]; }; }